DIY handmade Hexapod with arduino (Hexdrake)

DIY handmade Hexapod

Hello, I’m David and in this instructable I’ll show how I made this hexapod whose name is Hexdrake.

Since I was 16 I became interested in electronic and later in robotics. After getting some level and programming skills using arduino I decided to build a robot something more interesting than a simple robot with two wheels . I liked the idea of having a hexapod but did not have much money to buy one.

So I built a low cost 2DOF hexapod made with hand-cut wood and Sg90 servos.

DIY handmade Hexapod

Step 1: Parts needed

Step 2: Designing the parts and making the templates

I designed the pieces according to the size of SG90 servos. The CAD file is only for reference. I designed the templates before on paper. I used a sheet of wood about 3 mm of thick. After having the templates the next step is to pass them on to the wooden board.

According to the size of the servo the number of pieces are:

48x A part

6x B

12x C

12x D

12x E

12x F

12x G

12x H

6x I

2x J


Step 3: Time to cut!!!

Tools for this Step:

Saw, lime, electric dril and a good hand.

Before cutting some pieces is easier to drill the holes using a 3mm drill. I advise to use a fine saw to cut all the pieces accurately. After cutting each piece file the edges to be soft.

Step 4: Glue certain parts between them

Tools for this step:

Glue(cyanoacrylate glue for more strength), tweezers, toilet paper (to clean the excess glue).

To make the main parts of each leg, where the servos are subject I needed to glue 4 A pieces. Then, for each leg glue a piece B with C. And the last thing to be done is to glue two H pieces together.

*Be careful to align the holes well of certain pieces or can also be done is glue before and then do drills the holes.

Step 5: Painting and Decorating

Materials and tools for this step:

EVA foam(red and black), glue, scissors, rule, pencil and black acrylic paint.

For a more professional finish I paint some of the pieces with black acrylic paint, and cover the body and legs with black and red EVA foam.

Step 6: Attaching the servos to the legs and body

Materials for this step:

A lot of screws, screwdriver and 12 SG-90 servos.

Step 7: Add electronics and connect.


An arduino. USC 16-channel servo controller, UBEC 8A hobbywing, lipo battery.

Power supply:

The servo controller needs two power supplies: servo power supply and chip power supply.

Servo power supply (+): VS (left of the blue connecting terminal at Position 3 in the figure)
Servo power supply (‐): GND (middle of the blue connecting terminal at Position 3 in the figure)

Servo power supply’s parameters depend on the parameters of the attached servo. For example, if the SG-90 servo has a power supply of 4V‐5V, the servo power supply can use the power source of 4‐5V.

Chip power supply (+): VSS (right of the blue connecting terminal at Position 3 in the figure)

Chip power supply (‐): GND (middle of the blue connecting terminal at Position 3 in the figure)

There is a VSS requirement of 6.5‐12V. If the chip power is input through the VSS port, the power supply has to range from 6.5 to 12V.

DIY handmade Hexapod

Connecting Arduino, USC and servos:

What is marked red in the figure are the servo’s connectors for signal wires (be careful about the direction when
connecting to the servo).

To connect the USC controller simply connect the rx of the USC to the tx of arduino and the tx pin with the rx pin of the USC. And connect GND pin of USC with arduino.


Step 8: Programming

Software for this step:

Arduino IDE, USC sofware.

Before programming with arduino it’s necessary to know the limits of all the servos and know the limits values. For example using the mouse to drag the slider in the servo panel (drag the servo panel corresponding to the channel with which the servo is connected). So connecting the USC inside the hexapod with the usb to the program I get all de max and min values of each servo.

Now is time to program the arduino to control the USC. The servo controller is a slave device, meaning that it can either accept commands or execute preset commands. It cannot think at all. Communication protocol: serial communication (TTL level), baud rate 9600, no check bit, 8 data bits, 1 stop bit To control the servo through the servo controller. The Command format are:

Leave a Comment

Your email address will not be published. Required fields are marked *