Introduction: 3D Printed Walking Robot (Klann Linkage)

Picture of 3D Printed Walking Robot (Klann Linkage)

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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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!

Picture of 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


gregorycampo (author)2016-01-25

Has anybody made this controllable or could anyone help me t do so?

kdc1 (author)gregorycampo2016-02-10

I recently added remote functionality to this robot. This link was really helpful :: :: All it requires is a remote control of any sort, and an IR sensor. It's fairly straightforward.

GiftyyV (author)2016-02-06

Can you please tell me the weight of the robot?

kdc1 made it! (author)2016-02-02

Great project! A little tricky for me, since I'm new to 3D printing and Arduino. I had to reduce the platform length a bit, due to limited printer space. I'm in the process of making it controllable via remote. Thanks for sharing!

InzinierM made it! (author)2016-01-11

I made it. Thanks! Look at my video -

Bit-Boy (author)InzinierM2016-01-11

Looks awesome!
I love the video! And I must say I have no idea why I didn't just combine the spacers and links into single parts like you did!! Excellent idea! :D if you want to share your models for others here that'd be cool too!

InzinierM (author)Bit-Boy2016-01-11

:) you can download my version of robot :

TerryB54 made it! (author)2016-01-06

Wanted to find a cool 3d printed robot for my first try. Struggled a little on the linkage, but the directions were great and I found my issue... he works well... added some LEDs post photo.

Bit-Boy (author)TerryB542016-01-11

Looks great! :D

winged_owl made it! (author)2015-06-17

I made it. That's a lot of fiddling to get it all just right, but it should be a good platform for my research. Nice design.

I printed it over a decent amount of time, so it involved several different colors of filament. I guess I'm like Joseph, with my robot of many colors.

Bit-Boy (author)winged_owl2015-06-17

looks great!! what are you researching?

mario.metshein made it! (author)2015-05-13

made it :)

Bit-Boy (author)mario.metshein2015-05-14

Looks great! :D

mutlu_altok17 (author)2015-03-20

good project

acer-one (author)2015-02-15

Hello, first of all, I want to thank you for this write up... its a really good work. I would like to know in what version of solidworks the files were created, since I have the 2013 and I can't open any of the files

acer-one (author)acer-one2015-02-15

Never mind, I've imported the files from the stl's. thanks in advance.

Bit-Boy (author)acer-one2015-02-17

Thanks, glad you liked it!

The files were created in SolidWorks 2014 so opening newer files will bring you some trouble in 2013 as you saw.
I just attached a .zip containing all of the 3D models in a neutral file format, .IGES which will also allow other 3D programs out there to open and edit them. Also, I know you can import .STLs into SolidWorks but I do not believe you can edit them in anyway. So these new files should clear that up.

Hope that helps! Thanks for the Q

Auire (author)2015-01-28

If there's no way of a getting a 3D printer, is there a way to order the parts printed out?

Bit-Boy (author)Auire2015-01-28

There sure is! In step 1 I reference and these are two great ways to get things 3d printed if you don't have a 3d printer of your own. You just send them the files you want printed and they'll give you an estimate of what it'll cost to make and they will make and send it to you.

3dhubs is cool because it's a network of local printers in your area.

neoautodesk made it! (author)2015-01-20

This BugBot will be a project that my second semester students will build in our "Inventors Workshop" after-school robotics course. A video of the bot in action can be viewed here...

Nice job Bit-Boy! And thanks for posting it for others to enjoy.

Bit-Boy (author)neoautodesk2015-01-20

That's fantastic! Glad you enjoyed my ible and it's great to see it being used to help students learn more about robotics! :D
Let me know if you have any questions!

yaly (author)2015-01-09

Great robot !
Great ible too :D
Just a note on the servo connection, try to use a shielded cable to go from the arduino servo signal lines to the breadboard with the shield connected to the ground at only one end, this should help reduce jitter and reduce noise in signal. Not absolutely necessary but it may come in handy sometime.

Bit-Boy (author)yaly2015-01-10

That's neat, I'll have to try that sometime!

About This Instructable




Bio: 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 ... More »
More by Bit-Boy:3D Printed Walking Robot (Klann Linkage)
Add instructable to: