Introduction: SimpleWalker: 4-legged 2-servo Walking Robot

Picture of SimpleWalker: 4-legged 2-servo Walking Robot

Arduino (own design with atmega88) controlled walking robot, made with two RC servo's and 1 A4 of sheet material

Step 1: Get the Materials

Picture of Get the Materials

materials needed:

1 sheet of birch plywood (4mm) of 21 x 29.7 cm (A4) (this can be any material, really. You can also use scrap bits, and cut the individual parts from them)
2 RC servo's (standard size) with mounting materials
8 screws m2 x 8 including nuts
8 screws m3 x 12 including nuts
2 screws m3 x 10
1 battery container with clip, wires
4 niMh batteries (preferably rechargeable..since servo's use quite a bit of power)
1 arduino or compatible microcontroller board (cheapduino)

Step 2: Make the Parts

Picture of Make the Parts

The parts can be cut or sawed out of one sheet of 4mm thick material, such as polycarbonate glass or wood. In this example I used 4mm birch plywood, which has been cut using a laser-cutter in a Fablab. The pdf with parts can be obtained from the page about the simpleWalker on my blog. For the polycarbonate version on the blog I have used a band saw instead of a laser cutter.

Step 3: Mount the RC Servo's

Picture of Mount the RC Servo's

The servo's can be mounted using 4 screws each. Using wood, self-tapping screws will suffice. Otherwise use nuts and bolts.

Step 4: Assemble the Legs

Picture of Assemble the Legs

Mount the servo-plates on the leg-plates using m2 screws. You might need to enlarge the drilled holes a little bit. The m2 screws don't need to take much force, they're mainly used as placeholders. The central m3 screw that bolts the leg to the servo shaft will take the load.

Don't tighten the central m3 screws yet. First you need to discover the servo's center-position in software. After centering the servo's (in arduino code with a servo range of [0-180] it means writing the value '80' to the servo) you can mount the legs at a straight angle.

Step 5: Add the Electronics and Battery

Picture of Add the Electronics and Battery

Battery holder and the microcontroller board are mounted with double-sided sticky tape. (the one with foam-core). The microcontroller board that's been used is a breadboard version of an arduino-inspired design which I dubbed the 'ottantotto' since it uses the mega88. You can use any microcontroller board you like (A normal Arduino or Arduino nano or mini will do fine). You can also try to build the ottantotto design on breadboard, as described on the ottantotto wiki

Step 6: Upload the Program

Picture of Upload the Program

The arduino program is very straigforward. I used an RS232 dongle made on breadboard to upload the program. Again the schematic, bootloader sources etc. can be found on the wiki. The arduino sketch:
#include <Servo.h>
Servo frontservo,backservo;
char forward[] = {60,100,100,100,100,60,60,60};
void setup()
void loop()
for(int n=0;n<4;n++)

Step 7: Now Turn in on and Let It Go....

Picture of Now Turn in on and Let It Go....
See the robot in action on youtube:

all the resources used in this instructable can be found on my blog on


thoughtfix (author)2013-09-01

I took the PDF and converted it to 3D printable STL files of the parts as well as a Mintronics "Menta" holder for the microcontroller. The prints are running right now. When this is done, do you mind if I post the STL files to Tinkercad linking back to this Instructable?

JoaoL54 (author)thoughtfix2017-02-03

Please, post the PDF file, the link is broken or send to tks

tcurdt (author)thoughtfix2016-03-16

Do you still got that STL somewhere?

edwindertien (author)thoughtfix2013-09-02

no problem, please make sure you credit me somewhere as original author :)

What I would really like to see is somebody skilled in scripting with OpenSCAD and do the conversion from 2d graphic to 3d model with one click - that would make the process much easier for making next models printable...

robobot3112 (author)2016-12-11

i'd suggest attaching rubber pads to give traction as it seems to slip on the floor

IshaqA1 (author)2016-04-18

where can i find the PDF file of the drawing
it seems all is not working

tcurdt (author)2016-03-16

None of the PDF links still work :-(

Igor Angst (author)2016-02-12

The link to the pdf seems to be broken. The correct link is

madxdog made it! (author)2015-11-24

Laser cut birch plywood, Arduino Uno. IR-LED object detector; Audio "clap on!" circuit

C3jackbt (author)2015-08-13

Made it with the grandkids. A lot of fun to make and show-off.

AdeelS1 made it! (author)2015-05-09

i made it ... its just complete but the material that i had used is acryllic sheet .. so in smooth floor it skits i had to use rubbers for make legs stable .. while on the carpet it run perfectly ... i had to make it wireless controllable i am using NRF24L01 ... my controller is arduino uno r3 anybody have an idea about this ??

email :

prasantkumar.patnaik.9 (author)2015-03-28

and also please give the programming also

prasantkumar.patnaik.9 (author)2015-03-28

instead of servo can dc motors be used?

ibnutri made it! (author)2015-01-17

Made one, but using popsicle stick instead. I don't have access to laser cutting, mdf, and stronger servo.

this popsicle stick chassis proved to be strong enough to handle its own weight. I've tried to put plier to test its capabilities, and it have no problem walking.

now I'm trying to exchange the arduino to attiny85 and adding hc-sr04 ultrasonic sensor to be fully autonomous.

steinie44 (author)2014-07-22

What about

char backward[] = ?

Any other like left or right?

robobot3112 (author)2014-05-18

nice robot .

Amobe (author)2014-03-04

revolution316 (author)2013-08-09


sanjay satheesh (author)2013-04-20

i like it very much

ilovegm (author)2013-03-09

your walking pattern is:
Front: ||: 60, 100, 100, 60 :||
Back: ||: 100, 100, 60, 60 :||

Could turning be achieved with:
Front: ||: 60, YYY, YYY, 60 :||
Back: ||: 100, 100, ZZZ, ZZZ :||

where (100-YYY)=(60-ZZZ)

gaurav300489 (author)2010-08-12

sir it can follow the line??? and wats the use of electronic circuit here?

ShoopDaWhoop (author)2010-07-03

i dint had the time to browse trough this instuctable but ive got one question, is it capable of steering or does it just walks straight on?

kapoysignup (author)2010-05-23

what the freaken believe it

ElectricUmbrella (author)2010-05-02

Pretty sick looking, I hope I get to try this!

albylovesscience (author)2009-09-06

sorry to bug you but can you make a schematic for this

bluegirltulbo (author)2009-07-28

is it programmable?

bluegirltulbo (author)2009-07-28

greeeee.. nice mennnnnnnnnnnnnn...

overslacked (author)2009-02-23

Hi Andy, I'm curious, why did you decide to add a microprocessor? You seem to describe your little guy here as a BEAM device, but it doesn't seem (to me, at least) very common to introduce a microprocessor at this level of complexity.

edwindertien (author)overslacked2009-03-15

You are right. You could take out the electronics of the RC servo's and put in a BEAM bi-core. In 'the old days' of Tilden's beam robotics (when there were chunky 6502 or 68HC board around) a system with only two analog IC' s and a couple of capacitors was a great improvement. Now a microcontroller is just as easy (one atmel IC costing less than two dollar) and offers a great deal of flexibility in terms of adding sensors etc..

Kiteman (author)2009-02-20

That's nice - are there any plans for sensors or steering?

andy (author)Kiteman2009-02-21

I believe steering is a function of timings with this morphology. Specifically (as far as i understand) the rear legs are normally (optimally?) a half phase (180 degrees or "anti phase") from the from legs - when the front leg is rotating in one direction the rear legs are rotating in the opposite direction. There are ways (given this configuration) to turn left and right, reverse, go forwards and "stomp" (where the robot is moving its legs but such motion doesn't cause it to move forwards) without any further physical alterations. Forward, stomp and reverse are a function of the phase. Steering is related to the amplitude of the signal sent for any given step forwards; a long left step and a short right results in a slight turn, over a number of steps this becomes an arc to the right. Hope this is useful, Drew p.s. "stomping" may appear useless but it can be very useful; for example your robot detects that moving its legs is harder than normal it could summarize that it has become stuck or bogged down. Imagine its traveling through a pile of leaves and is walking into and through the pile rather than over it, stomping could get it atop the otherwise untraversable pile of leaves.

andy (author)andy2009-02-21

Also, I'm currently experimenting with getting a beam robot walker to achieve static postures, so it would be able to posture for charging for example, or in order to get a better look around, would this be better as two Instructables (how to make the walker, how to get it to posture) or one with it all together? Thanks, Drew

Kiteman (author)andy2009-02-21

Since the walker would have a fairly unique geometry to be able to pose upright, I would put it all in one - there's nothing wrong with a lot of steps in an 'ible.

andy (author)Kiteman2009-02-21

On the contrary its a fairly standard BEAM layout, the real trick is in circuit design. There needs to be one or two modifications to more standard designs but these can easily be added on to an existing robot. I suppose a "built from scratch" approach would be more accessible and generally more clear, so I think i should still have one larger 'ible, as you advise. Thanks for your input, Drew

Kiteman (author)andy2009-02-21

I know how it steers, but this project lacks steering (either by remote control or as a consequence of sensed obstacles), which is why I asked.

andy (author)Kiteman2009-02-21

Sorry, my mistake, Drew

AndyGadget (author)2009-02-21

I love the leg movement. I was trying to remember where I'd seen it before and it's the same as lizards I'd seen scuttling up and across walls in France and Greece. a bigger lizard demonstrating it.

About This Instructable




More by edwindertien:simpleWalker: 4-legged 2-servo walking robot
Add instructable to: