SimpleWalker: 4-legged 2-servo Walking Robot


Introduction: 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

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

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

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

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

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

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....

See the robot in action on youtube:

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

4 People Made This Project!


  • Clocks Contest

    Clocks Contest
  • Creative Misuse Contest

    Creative Misuse Contest
  • Water Contest

    Water Contest

36 Discussions

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?

3 replies

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

Do you still got that STL somewhere?

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...

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

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


2 years ago

None of the PDF links still work :-(

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

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

What about

char backward[] = ?

Any other like left or right?

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)

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