Introduction: Hexapod Robot Based on FPGA

Picture of Hexapod Robot Based on FPGA

    This is a hexapod robot which consists of twelve DC servo motor controlled by a FPGA chip.The framework  is programmable and extendible.we can design different programs to make the robot react in different ways.      
    I was inspired by the Kondo KMR-M6 Robot .(Kondo is an Japanese company makes robot models) I like this kind of modern toys but they are always too expensive to afford . Then just make one by hand  ,I thought. 
    The general idea is to carve every part of a single leg with plywood ,which takes a long time, and then try to copy it with PU glues since the robot gets six legs.
    Now let's begin.


Step 1: What You Might Need

Picture of What You Might Need


saw , electric grinder , electric drill, pencil, screwdriver,caliper


plywood , PU resin , silicon ,
screws,nuts,ball bearing


servo motors, CAD and EDA software , FPGA Minimum system board(I choosed Altera CycloneII)

Step 2: 3D Model and 2D Blueprint

Picture of 3D Model and 2D Blueprint

    Duo to the requirement of accuracy for the models , we need to create a 3D model for the hexapod robot using CAD tools such as AUTODESK AUTOCAD software, so that you can adjust the robot's size and shape quite easily.
    What? You never touched autocad before? OK,neither did I.But I learned it and draw the model within one week . One good way to use this kind of software is to learn just the parts which you exactly need.
    Every single leg has two rotational degrees of freedom, one for Horizontal rotation the other for vertical movement. The vertical motion mechanism is a parallelogram structure which is can easily rotate and keep the claw upright. We can simulate the movement through some simulation tools , for example Autodesk ForceEffect on mobile device.

Step 3: Make Prototype Parts

Picture of Make Prototype Parts

      I must say that this is so demanding a job to make every single part by hand.If there was 3D printer in my house , I should not had suffered this. That's why we made a 3D model first.
      I don't have to say much about this part because this is a prototype, we just need to make the shape.Use your saw , electric grinder , electric drill, pencil, screwdriver,caliper, whatever you can use.
      The key point is to drill very accurately according to the diameter of the screws you choose so that every part can be installed together.

Step 4: Electrical and Mechanical Debug

Picture of Electrical and Mechanical Debug

    In this step , we have to make sure that the prototype leg can move properly. Also to make sure the servo motor can be driven properly by the FPGA chip.
    Let's take a look at the DC servo motor. It consists of a electric motor, driving the gears , a reduction gear pack , providing huge moment of force , and a feedback component, judging and keeping the position of gear. Three input lines are led out , power, gnd and ctrl lines. Power and gnd lines lead to the 5-8V power supply . The ctrl line leads to the GPIO port of FPGA chip, which send out a PWM signal that drive the motor gears to a certain position .
    Write some simple modules by verilog in can realize most functions you can imagine. I used Altera CycloneII FPGA chip here with QuartusII software because it is relatively cheap , efficient and easily buying.
    What? You have never touched verilog or quartus before? Neither did I . Just learn and use it .
    After we can make sure the prototype leg works properly , we shall move to next step.

Step 5: Copy the Prototype With PU Glue

Picture of Copy the Prototype With PU Glue

    In this step , which is not necessary at all if you have a 3D printer, we will try to make several copies of  the prototype leg.
    Firstly, to pour a  part with silicone ,or other material alike, combined with coagulant .Dig the part out after the silicone concrete.Then we get a mould here.Careful when digging out the part , choose a proper direction since we will pour liquid into the mould later.
    After getting all the moulds , we need PU glue now. PU glues are divided into two bottles of A and B liquid .The A and B liquid get concreted after mixed with each other on a 1-for-1 basis..You might need to make several attempts.Be careful when mixing the liquid because this makes huge amount of heat.
    Do some polishing and carving, all the parts are ready.


Step 6: Installation and Wiring

Picture of Installation and Wiring

    I list all the components that make up a single leg in the first picture , include 7 M3 screws and nuts , 10 M2 screws and nuts , 14 M3 ball-bearings , 2 DC servo motors and other components we made in the previous steps.  
    For convenience, I took the prototype here as an example.I took pictures of every steps. Install all the components of each legs step by step .Then fix them on the chassis.
    We have altogether 12 motors and 36 lines here.Bend the lines around the trestles and through the bottom .Power and GND lines stick into the pins of power supply board. Signal lines stick into the GPIO ports of the GPGA chip board which can be assigned in QuartusII software. Then put on the battery pack  containing 8 1.5v batteries , four of which connected in series and both groups of four connected in parallel. That comes the 6V power supply of the robot. Via the LDOs on the chip board , the 5v supply is transformed into 3.3v ,2.5v  or 1.2v that the chip needs.
    On the top of the robot stands a infrared sensor. In this first generation , I temporarily use a IR sensor to receive a IR signal from a remote controller which follows the general IR remote protocol, such as NEC  protocol . 

Step 7: Extention

Picture of Extention

      Finally we have finished most parts of this creation.  It really takes your effort to make it. Now it is a programmable electromechanical robot . How it moves or reacts totally depends on how you design the program. That's one important reason why I chose the FPGA  platform, which is convenient to design and easy to debug.
      During the program debugging , there are still many problems need to be solved for example the motor tremble caused by the inertia of the leg.
      What is the usage of this robot? I'm not quite sure , but at least it is a toy and a programmable device for FPGA training.
      Last but not least ,you can extend it's function as you wish.For example , I used a IR sensor in this first generation , but we can absolutely extend it with a wifi module and wifi communication protocol and maybe write a IOS app to control it with your IPHONE.In addition, we can set a camera in the front of the chassis so that it can transmit images and videos or embed a image processing modules to search for a certain aim. 
      Finally thank you for your kind reading. This is my first time to write  instructables, and I am glad to hear your feedback . If you have any question or suggestion , please me leave a message. Declare again that this robot is Inspired by the Kondo KMR-M6 Robot on ASIC platform and this article is for interest only, no business purpose.

adam wang 


KashishV2 (author)2017-12-28

Thanks man for the great tutorial
can you please send me the codes my email address is

Aneriah (author)2017-11-09

Hey man super interested in this project. If you send me the CAD files I will vote for you in any competion.

my email is

mrfunkybot (author)2017-10-27

hey, hi, im really interesed in the CAD files, can you please send them to my e-mail.



FlorianH12 (author)2017-10-03

Hey adam!

Wonderful project, i'd like to do a printed version of it and somehow upgrade it to a vacuum cleaner robot.

May you be so kind and send me the CAD-files as well?

Thank you in advance, Flo

FlorianH12 (author)FlorianH122017-10-03

Oh, my eMail address would be

JackieS111 (author)2017-09-12

Can i have the CAD design and, the Code file as well,

My mail is

Many thanks, Jackie

MuhammadF49 (author)2017-09-02

can you share design CAD files for me??

you can send in my email

sdgsdfgsdgfsd (author)2017-08-13

Can you please send me the code file for me?


AnasF4 (author)2016-03-13

Can you please send me the CAD files for me? :)

David270217 (author)AnasF42017-08-01

Contagem de selos enviaron bro¡?

JoelA83 (author)AnasF42016-10-01

se los enviaron?

Jessef AudreyB (author)2017-03-27

can i ask for a copy of your codes please? thanks.

dantepro195 (author)2016-10-04

Wow, amazing.take my upvote.

JoelA83 (author)2016-10-01

hola, me gusta su trabajo, podra uted enviarme los archivos CAD y la programacion del robot es que es para un trabajo en el colegio

JayWeeks (author)2016-06-09

This is really cool! I'm interested in the design of those legs. Why did you include a spring in the leg?

I'm guessing that it's connected to a second four-bar-linkage on the leg there, so it can act as a shock. Is that correct?

Technovation (author)2016-05-24

cool project but how about those CAD files?

xoxota (author)2016-04-09

Hey man, this looks great! Can I get those CAD files from you?

AbdulB42 (author)2016-03-04

can u please give me the code for resemblance kindly help,..... b/c, my robot is malfunctioning...

clarhoga (author)2016-02-24

can you please send the me cad files :) want to try this for my year 11 project


elka_junior (author)2015-12-28

this is really awesome, good job bro...

Can you please send me the cad files

SeiJiP (author)2015-11-13

love this PJ :D

Can you give me this CAD file, please :)

my email:

SeiJiP (author)2015-11-13

love this PJ :D

Can you give me this CAD file, please :)

my email:

NurJ (author)2015-09-18

this is really awesome

i want to learn how to make this thing my self

can you send me the CAD files please

or if you don't mind to send CAD files, can you send me the sketch and the detail dimensions of every part..

send to


lsouder-butler (author)2015-07-30

This is awesome. Way to go man! I know nothing about FPGA boards so I'd love to use this project to learn! Did anyone get the stl files? Thanks!!

geonyakimi (author)2015-06-29

hi sir.. can i have your cad file for hexapod design? thanks (email :

Seaglar (author)2015-06-14


Can i have the CAD files:

WarriorBeast (author)2015-04-14

how much does it cost to make...on a little interested

MohamedB7 (author)2015-04-10

ca i have the CAD file plz

fshah6 (author)2015-03-25

Can I have the cad design? email me if possible at

NickyD1 (author)2015-02-17

Can you pls send me the cad files

ibrahimfseiei (author)2013-11-24

can i get your hexapod design ? i want to study about hexapod :)

ctakai (author)2013-10-31


sanjay satheesh (author)2013-04-20

nice work keep it up.

britantyo (author)2013-04-03

could you tell me the specification of the DC servo motor like brand, torque and...things

XDL (author)2013-04-02

Wow, amazing. You must be the winner!

yling (author)2013-04-02

Hey dude! Very nice work! Can't wait to see the prototype in person when got back to Shanghai!

doctorseven (author)2013-04-02

can I copy your cad design?

bbs08310831 (author)2013-03-31

huhu awesome

mithun tr (author)2013-03-28


crazyscottnb (author)2013-03-25

WOW Love it! Ive always wanted to make one but have always been put off by the programing involved afterwards any sugestions/ ideas that might make this easier :) again love the progect

fenix8k (author)2013-03-19

hi again :P i just love the desing of your legs :P what program do u use for the phisic desing?

rbigornia (author)2013-03-13

hello! i love what you did here and i want to do the same thing you did to make the parts of your hexapod. how exactly did you make the molds? im new to all of this and i did not recognize any of the materials you used :D

Ghild.Zero (author)2013-03-07

Where is the video dude ???

jn126 (author)2013-03-05

Hi Adam,
your project is amazing.
I am trying to understand the mechanical part of
the design.
It seams that you use 2 different materials for molds:
One is translucent silicone RTV and the second is
PU Silen 8014, which is beige or brownish white.

1. Is Silen rubbery and flexible like silicone or rigid
like PVC or polyethylene ?
2. What material you use for finished parts, it looks
chalk white, different color than Silen ?
If the color difference is due to lighting, wouldn't
the flexibility required for mold be too flimsy for
finished part ?
3. In the small U-shape piece with 8 bearings, how do you
keep the bearings from falling out, do you glue the
outer races of bearings in after assembly or do you use long screw
going through both linkages and both bearings with a nut ?
4. On bigger U-shaped pieces, one end is attached to the servo arm,
how did you design the second pivot ?
Did you glue bearing to the bottom of the servo with clearance
for M3 nut ?
5. Can you post your .dwg or .dxf drawings even if they are different
then the finished design ?
There is a lot to learn from your project, thank you in advance

John Nickel

costaud (author)jn1262013-03-06

Thank you for leaving a so detailed message.
Firstly, the both materials I used for molds are both silicone, almost the same but in different color,which are rubbery and flexible. I failed so many times that I used out the whole bottle of silicone. So I bought another bottle. That's why you see two colors of molds. The PU 8014 is used for pouring or placing the molds to create every part.
1.Silen seems the manufacturer or brand of the PU 8014. PU 8014 A and B are transparency liquid , after mixed together turning into white rigid solid like polyethylene.
2.Finished parts are made out of the PU 8014 , which is poured into the molds. It seems you have mistaken the two materials.
3.I used half thread screws with diameter of 3mm and length of 14mm. Go through the joint to a nut.
4.I drill a hole on the other side and I changed the bottom shell of the servo, which has a cylinder axle.I is used on robots' rotation joints.The bigger parts are solid enough so that I just fixed one side of the servo arm.
5.I try to post it soon. BYW, how to upload an attachment - -|||

Thank you.

seraine (author)2013-03-02

Very, very impressive. You deserve my vote.

costaud (author)seraine2013-03-06

My honor : )

kwixson (author)2013-03-05

I don't see the CAD files. Any way you would post those so that those of us who have 3D printers can print the parts? STL files would be especially helpful.

shjddyytc (author)2013-03-02

diaobaole ..... 华丽转身yingjian dashen

Edgar (author)2013-02-28

Dang, you've made a neat Project!
Nice! :)
Do I spot a FAR Tools drill set, there?
The link to this is posted in my Blog, I've voted, and a zillion Gizmo Makers will use you PU Glue method, starting with me!

About This Instructable




More by costaud:Hexapod Robot based on FPGA
Add instructable to: