Introduction: 3D Printed Walking Robot (Klann Linkage)

About: I enjoy making things! Taking apart things is quite fun as well. I am currently studying electrical engineering with hopes of someday designing the latest tech gadgets.

This walking robot has been a project that I have been wanting to have a go at for a while now and I finally got around to finishing it, so now I am sharing it with the world!

This project is fairly simple to construct and does not require any difficult skills or large tools (other than a 3D printer). There is a tiny amount of soldering for the 9V battery clip to the co-ax plug, but that is all.
It is all powered by two continuous rotation servos that I had which are controlled by an Arduino Uno, which can greatly expand the capabilities of the robot beyond what is displayed in this Instructable with some addons.

This is also my very first Instructable! So if you have any comments on how I can improve this Instructable or things to note for future Instructables that I make please let me know.

Step 1: What You Need

I designed this robot around parts that I had around which I have listed below. You can probably substitute some of these parts with others. I have attached the 3D models for each part in this Instructable so you can modify them to your liking.

M3x20 screws (~70x) -- (McMaster-Carr)
M3 lock nuts (~70x) -- (McMaster-Carr)

Arduino Uno -- (Amazon)
Continuous Rotation servos (2x) -- (Parallax)
Solderless Breadboard -- (All Electronics)
9V battery
9V battery snap -- (All Electronics)
Jumper wires -- (All Electronics) I just used a roll of solid hook-up wire I had around.
1x40 Header -- (All Electronics)
2.1mm Co-Ax power plug -- (All Electronics)

Screw driver
3D printer*
Soldering iron with solder (See step 10, it may not be necessary)

*If you do not own a 3D printer you can have someone else print them for you. Such as 3DHubs or Ponoko

Among these things you will also need the 3D printed parts, of course, which are available in Step 3.

Step 2: The Linkage

The linkage used in this robot is known as the Klann linkage created by Joe Klann, you can find loads of information on his linkage at I was introduced to the Klann linkage by one of my mentors in the BEST robotics competition (check out his own robot using this linkage here) and since it proved to be too complex to make with our limited materials and time we were unable to use it in our robot. I decided after the competition I would try making my own robot using this linkage.

I did some more research on how to create my own. But I also found that there weren't a lot of instructions or pre-made models for a robot to make yourself. So I thought why not make one and give out the instructions to who ever wants to make one.

The linkage is completely customizeable and can be designed on any 2D sketching tool using the enable-text here. I would not recommend designing one by hand on paper if the linkage is going to be small scale since some of the points can get very close together.

I created my linkage in Solidworks and attached are the 3D models of every part if you would like to customize them to your own needs.

Step 3: Print the Parts

There are not any special requirements when you print the parts. But here are some of the parameters I used for printing mine:

Slicer: MatterSlice
Layer Height: .25mm
Material: PLA

Here are the quantities of each part that you need.

The core of the robot:
1x Platform
2x LinkageConnector
2x LinkageFrame
4x ArduinoStandoffs

Note: Each LinkageFrame has 2 linkage sets which are mirrored.

For one linkage set you need:
2x Leg
2x PowerLink
2x TopRocker
1x BottomRocker
1x BottomRocker-inside
1x Idler
1x Gear
1x Crank
3x 7mm Spacer
1x 9mm Spacer
2x 4mm Spacer
2x 3mm Spacer

Step 4: Linkage Assembly: Check Idler Fit

Check to make sure that the idler fits and can rotate freely without wobbling around in the slot in the linkageframe. Depending on your print you may have to carve away a little plastic from the slot to get that smooth rotation of the idler.

When assembling the linkage with the screws and lock-nuts you want to make sure not to over tighten the joints. You want there to be ease of movement with each joint, not too sticky and not too loose.

Step 5: Linkage Assembly: Assemble Leg and PowerLink

Next, assemble the legs and powerlinks together for both the outside and the inside of the linkage frame. Remember to put the leg behind the powerlinks when attached.

Step 6: Linkage Assembly: Top and Bottom Rockers

Attach the top and bottom rockers to their respective leg and powerlink assembly.

The inside bottom rocker will have only one countersink for the screw while the other bottom rocker for the outside will have two countersinks.

The inside bottom rocker is separated from the powerlink by a 9mm spacer. The top inside rocker is separated from the leg by a 7mm spacer.

Step 7: Linkage Assembly: Attach Gear and Crank

Attach the gear and crank to their respective linkage assembly. The gear is separated from the powerlink by a 4mm spacer and the crank is separated from the powerlink by a 7mm spacer.

Step 8: Linakge Assembly: Tighten Linkages Together

Attach and link the two linkages to the linkage frame by attaching the top and bottom rockers to the frame with the screws being inserted from the outside linkage. The bottom rocker and top rocker of the outside linkage are separated from the frame by a 7mm spacer for the bottom rocker and a 4mm spacer for the top rocker.

Next, tie the two linkages together by first placing the idler in the slot and separating both the gear and the crank from the idler and frame with 3mm spacers, one for each side. To bring them together tighten the entire axle assembly (Gear->3mmSpacer->Idler->3mmSpacer->Crank) with a bolt and lock-nut so that when the gear rotates the crank will rotate also, making them one.

When you tighten them together make sure the crank and gear are oriented as shown in the photo. So that where the powerlink connects to the gear the position is directly opposite where the powerlink of the inside linkage connects to the crank.

When everything is done you now have one linkage set complete and can work on the other side of the linkage frame. The steps are all the same, the only difference is that it is mirrored.

Step 9: Putting It All Together

Attach the servos to each linkage frame with 4 screws each.

The two linkage frames are connected with the two linkage connectors with the platform connected to the linkage connectors as shown.

The Servo Horn and Gear

The 4-arm servo horn that came with the servo will work just fine but you will need to clip the tips for it to work properly. If you have a circular servo horn that will work well too. The center gear and servo horn are attached with 2 screws as shown in the photo.

Note: Before you attach the servo horn and gear to the servo make sure that the gears on both sides of the frame are aligned so that they are the same position relative to their orientation when you place the gear and servo horn. Also make sure that both left and the right sides are in the same orientation as well when you put in the two center gears.

WARNING: As with any robot please be cautious around moving parts such as gears. I pinched my self once or twice when I put my fingers in the wrong places to pick it up while it was still moving.

Step 10: Electronics and Programming

The electronics are pretty simple, just hook up the respective wires to the respective servo and so on. The servo connectors will also need a 1x3 header to connect them to the solder-less breadboard. Just break off a small section and connect.

One thing to note is that there isn't really any proper orientation of the robot. So you can have whichever end you want as the front, just remember to change which pin number the servos hook up to if changed.

Attach the Arduino to the platform with your own standoffs or 3D print your own from the file supplied.

Solder the 9V battery clip to the co-ax plug to the correct leads as shown in the photo. You do not necessarily need to use the co-ax cable to power everything. You are able to power it through the GND and Vin pins on the board if you choose.

The programming isn't much and with just the Arduino Uno and the servos you are pretty limited to it steering itself. To program the robot just type which ever movement you want it to do into the loop followed by a certain amount of time delay that you want it to perform that movement.

And you're done!

Step 11: Going Further!

There is a lot more you can do with this project to expand its capabilities.

You can add another servo to the platform and attach an ultrasonic sensor to determine where to move to or make it controllable via Bluetooth or WiFi!

I would also encourage you to design your own custom Klann linkage for your own projects or possibly make a new one for this robot that maybe has a larger step or even cooler looking linkages! It's all up to you.

Have fun and happy making! :D

3D Design Contest

Runner Up in the
3D Design Contest