Introduction: Mechanical Art Bots: Four-Bar Linkage Mechanism

Picture of Mechanical Art Bots: Four-Bar Linkage Mechanism

Artbots are famously fun to build and watch draw. One of the most common ways of powering them is using a simple circuit with a battery and a DC motor with an offset weight to create vibration. The center of balance from the motor makes a simple circle, and it makes for a lot of (relatively) circular patterns.

But what if you want to change that motion? Fortunately, there are a bazillion mechanisms that convert motion from one form to another. We can take that rotary motion and make it linear, reciprocating, irregular, etc. So I decided to design a series of 3d-printable mechanisms that can be added to a motor to change the motion used to control a motorized artbot.

This one is a simple four-bar linkage mechanism, and includes different lengths of bars so that you can try different combinations. One of the bars is fixed in place relative to the bot, one has an end fused to the motor shaft, and all joints are allowed to pivot, driven by the motor.

This instructable covers the motor-mounted mechanism. For learning how to build the body of an art/scribble/squiggle bot, try one of these lovely links:

Step 1: About the Mechanism

Picture of About the Mechanism

See my video and pictures for how different kinds of four-bar linkages move. Some of them turn continuously, some reach a point and stop, then must return the way they came. For this particular kind of mechanism, the motor provides continuous rotary input, and causes the whole thing to function as a crank-rocker. This means that you'll have to pay attention to something called the Grashof condition. Of the four bars you use, the longest and shortest combined need to be shorter than the other two bars combined. If this condition is met, the linkage is called a Grashof linkage and it will work for this design. (See pictures for examples)

The link that will spin around continuously is called the crank link (it's the shortest one), the one that stays anchored in place is called the ground link (you get to choose which one you want for this, and it will change how it moves).

The video shows a few different configurations and how they move.

Step 2: The .stl Files

Download the files and print them on the 3d printer of your choice. I frequently use Crashspace'sBukito, and did these in 1.75mm PLA.

There are a couple options for a few of these parts, and different files for each. I've detailed them in the upcoming steps.

Step 3: The Links and Filament Pins

Picture of The Links and Filament Pins

The pieces I made available in the .stl files will allow you to choose from different lengths for the four bars/links. There are two pre-made sets. You can print just one, or print both and mix them. To connect each link together, I used a small piece of filament as a pin, and melted either end with a hot glue gun to give it heads (watch your fingers, glue guns are super hot). These pins are easily removed (with wire cutters or fine scissors) and replaced so you can experiment with different configurations before settling on one. The holes at the end of each link are designed for 1.75mm filament, so if you find that the holes are too small (for example, if you're using 3mm filament), you can drill them a little larger.

I am a huge proponent of tinkering; don't be afraid of disassembling and trying different ways of putting the links together. There are multiple ways to do it, and you get different motions from each. Experiment with the arrangement of the different lengths. What works best with your bot?

What is important is proper placement of the crank and ground links. Both will be attached to the motor pin, with the crank link on top, where it can be fused with the motor pin. The ground link lives below, strung on the motor pin, but it isn't glued to it. This means that the ground link doesn't have to spin with the motor - it can stay still. You'll see pictures of this in the motor pin section.

Step 4: Spacers

Picture of Spacers

You might have noticed there's another part in the photos of the last section. Because the pins stick out a bit from the top and bottom of the link joints, I've included spacers to give them enough room to spin. There is a large spacer and several small spacers included for use between each link. The small ones go between each adjacent link and provide room for the filament pin heads. You'll want to make the pin heads as flat as possible to keep them from blocking the other links, but there are extra spacers if you need to give yourself a little more room. The large spacer is for connecting the lowest and highest bars. See photos for how to attach the big spacer. It's similar to attaching the regular links, but more awkward.

Step 5: Motor Pin

Picture of Motor Pin

The motor pin replaces one of the regular filament pins. It's what secures the crank link to the motor shaft and allows it to spin. It has a hole that should provide a tight fit when you press it onto the motor shaft. If it isn't tight, you can add a dab of hot glue to the motor pin before adding it to the shaft.

A large number of hobby motors have shafts that are 2mm in diameter, so you'll find one motor pin .stl file that has a hole for 2mm shafts, and one without any holes. If your motor has a different size shaft, or if you resize the model, use the motor pin without a hole and drill one the size you need (and make sure to print the motor pin at a higher percentage fill).

To attach the motor pin to the crank link, you have a couple options:

1. Trim the top of the pin with wire cutters to a fraction of an inch above the bottom bar, and glue the motor pin to the bar. Hot glue, super glue, gorilla glue all work. Hot glue is easiest if you want the ability to take it apart again and experiment with different configurations.

2. Use a hot glue gun, soldering iron, or similarly hot tool to melt the excess pin down until it fuses with the top of the bar.

Be careful with hot tools. They're hot.

The ground link needs to be anchored to the bot so that it doesn't spin. One end is attached to the motor, some other part of it is glued or taped to your bot so that it stays still. Experiment to find out what works best for you.

Step 6: Assembling

Picture of Assembling

Check out my pictures of the assembly.

Step 7: Troubleshooting

Picture of Troubleshooting

Test your links' movement as you go. If the link won't spin properly, check these things:

1) Did you remember to use a spacer between your links?

2) Can you flatten the pin heads out any more than you have? They need to be shorter than the spacers.

3) Is it possible to tighten the pins any more? If the pins are too loose, the structure won't be able to hold its shape very well. Try melting the pin heads down more until the joint is tighter.

4) If there still isn't enough room, you can try adding additional spacers. The .stl file has plenty.

Step 8: Attach and Play!

Picture of Attach and Play!

Once you have your mechanism assembled, attach it to your artbot and check out how it effects the movement. Artbots + Mechanical Engineering = FUN. Post pictures so we can see, or make another instructable showing us how you changed things!


kiumarskhaleghi (author)2014-10-08

l have made it many years ago,about 5 years ago, :-O

nodoubtman (author)2014-10-05

you are very talentented!!! :)

krummrey (author)2014-10-04

Oh yeah, that's a cool drawbot!

seamster (author)2014-10-01

Nicely done. This looks like a lot of fun!

Arman5592 (author)2014-10-01

This is great ! I had a little robot which was kind of simple , there was a 1.5v motor attached to a plastic weight (not from the middle , from the sides) which created a spinning vibration and moved the robot (the robots 'legs' were markers) which resulted a kind of circle like shapes .

About This Instructable




Bio: I am a multimedia maker and STEAM educator living in Los Angeles. There are few things more satisfying to me than acquiring and exploring a ... More »
More by BarbMakesThings:Shrink Plastic How To: Name TagMaker Mayhem: a Hackerspace Board Game6 Easy Tinkering Hinges
Add instructable to: