Category Archives: Hardware

Strange and Beautiful Hexapods (Spider Robots), A Gallery

Hexahelicopter: ridiculousness.

Q: How many species of hexapods (six-legged robots) are there in the world? Oh, oh dear.
A: A mind-boggling awesomespectacular amount.

Here’s a compilation of some of the hexapod craziness out there. The sheer number of different hexapod designs out there is mind-blowing.

(p.s. for ideas of simple ways to build one, see my build post:

Infinity Degrees-of-Freedom Style

To start off with, you guys have all watched the dancing hexapods, right?

Chopsticks (yes, the robot frame was made of snapped-in-half bamboo chopsticks o.o)

[update 8 dec 2011] Cheaply, out of wood:

Ant-like A-Pod

Hexapod that learns to walk using machine-learning algorithms! shiny shiny, and good music too:



Sheer Giant Awesomeness Style

Spider Tank (An entire series on Youtube!)
The cute prototype:

How it works: (someone attempts to explain it here:

The series:

Walking House-style (by MITERs alum Sam Kronick!) (yes, the scale of this is where humans fit inside easily)

Simple Linkage Style
General idea: Cant one side up and move legs forward.

3D printed


[update 8 dec 2011]
Look it’s bicycle powered

Tiny (Pololu)

Simple Hexapod Walker:

Even simpler lego one:

Boebots parallax:

Lego Pneumatics-style
Mondo Spider– Hydraulic, electric

Jensen / Klann Linkage style “hexapods”

(for a comparison of the linkages:

Uh… more like infinity legs. But same order of magnitude πŸ™‚

Steam Powered! Wow. The Crabfu site has many other wonders as well.

And semi-relatedly, cute mini-windbeest. D’awww…

Holy cow that’s robots on speed. This just has to be watched, no image will do it justice:
Hyper fast robot line following
(more closeups here:

[update 8 dec 2011]
okay, not simple-linkage-style, but rideable! yay

Research Hexapods

(theses are an excellent source of juicy details!)
DASH Resilient High-Speed 16-gram Hexapedal Robot 
By “resilient”, they mean “let me drop this robot off a the roof of a ten-story building and have it walk away perfectly fine”…. o___O (28 meters, actually)

Origami hexapod?
Climbing robot, DIGbot (awesome site!):

About halfway through this vid, it climbs up a tree trunk!
The thesis:

Another climbing robot, RiSE:

Pneumaticals and FAST and cute -^-^- Stanford Sprawl and iSprawl: (esp. see 0:43 mark)
The website: (click on “Robots”:



Random thesis with a lot of theory and less building:

Controls Thesis nom nom:

MIT Leg Lab Controls thesis:

(pdf at

Thesis-y youtube vid, background on hexapods:

Old-school 18 motor hexapod, back in the 1980s: Odex I

NASA GIANT hexapod, wheeled hybrid “ATHLETE”

What the…

Oh, and then you can use your robot as a platform and attach weird things to it. πŸ˜€
18 servo planter (Farmbot) — lynxmotion body

18 servo CNC Hexapod Router

Construction details:

ELEKIT MR-9722, aka Avoider III

Hexbugs, which seem like toy rip-offs of research robots / the internet (Jamie, of Spider Tank / Wired fame, was a bit upset about this):

And that’s all for today folks. Whew.
Hope that gives some inspiration for building hexapod / spider / legged / AWESOME robots πŸ™‚


Sellers: (product datasheets are an excellent source of information for advice on how to build your own)

Misc. Documentation:

My main aids in this search: (I mirrored the images, because I hate seeing beautiful image collections destroyed by dead links)

I mirrored the images here:

And, in closing, lego shrimp climbing! An entirely different way of solving “how to climb over obstacles.”
Lego Technic SHRIMP

Puaghhhh. Who knew compiling images would eat 6 hours of my life???

edit 10/13/2010: more hexapods, don’t think they’re mobile but so pretty!

edit 17 dec 2011:
eeeee particle jamming hexapod! hehe. soft hexapod~~

hexapods / summer status update

hexapod: IK, preprogrammed dancing+lilypad controls ETA end of August (2 months, pure software development)
electronics working, now apply programming
(look at trossen robotics code, implement IK)
buy things: xbee tx and rx, two lilypads, some battery male plugs + femfem servo cables, maybe a sensor or two?, maybe a ps2 controller? or accel for lilypads?, el wire, [conductive thread]
vision: sound-reactive EL wire’d body, movements depend on real-time sound input processing. lilypad
buy them soon. spend money, you can do it. o__o
mechanical: upgrade to laserjet acrylic, 3d printed, or waterjet+Al body. Put HITECs on shoulders. double-sided support. (ETA New Year ish)

hexarideablepod: ETA end of July (1 month), ideally by next week…
order steel monday or tuesday
learn welding tuesday or wednesday
CAD slightly larger version, possibly with gearing to avoid undervolting and provide more torque/power. probs not for first version… check for bolts etc.

laser-cutter: ETA end of IAP (next January)
make spreadsheet of options and commercial cost
bed size, laser wattage, commercial price & URL, laser commercial price & URL.
Then email out to MITERS.

direct-to-pcb/garment printing: requires just a weekend. maybe with Rush funding?

MITERS, lights automation and RFID keyholding, ETA last two weeks of August (begin after GSoC end).
*go ahead and order parts

hexarideablepod, until Monday July 11th (intense build during week off from CfA).

hexapod w/ IK and bluetooth, 2 weeks. w/ EL wire, 1 week. (aug 1st). w/ lilypad, 1 week (aug 8th).

Then 3 weeks left…
Plan A: MITERS personality core, 1 week, RFID keyholding, 1 weekend, rotary phone Putz, 1 week.
Plan B: make a scooter (hate walking). Last week = rush.
Plan C: start on hexaawesomepod

mysekritproject, 1 weekend sometime.

how to set up arduino + pololu mini maestro (for an 18 servo hexapod)

EDIT 4 Dec 2012:
As of august 2012-ish (I haven’t tried to run hexapod since then, because I ate my pololu controller sometime while dragging my hexapod all around the country this summer >__< Ugh I fail at taking care of expensive electronic things), there are some syntax changes if you’re using the latest version of arduino because newsoftserial is now built into arduino, not a separate library.

This version of the code is also slightly better organized…

[updated because i saw a link from]

EDIT 18 March 2013:
I made a video about my hexapod.

Also, a diagram to explain what is going on in the August 17th revision of the code:

[updated because I saw a link from hexy forums]


this post because pololu has awesome documentation but dear lord is it long and difficult to wade through when I’m fairly new to this stuff. Also, I finally figured out the sad-servo problem that was plaguing me for a week.

Fig. 1

My current setup: eighteen servos on maestro pins 1-18 (pin 0 left empty), VSRV=VIN jumper has been removed. 8.4V battery pack fed through 5V linear regulator on carrier board. The servo wire with with masking tape comes from PIN2 of the carrier board/arduino setup and is supplying the pololu controller with GND, VIN, and the serial signal. Red and black wires going from breadboard on carrier board to VSRV on maestro.

If all that didn’t make sense…


a. Hardware
  1. Look at labeled picture
  2. What you need on pololu-side: serial going through to RX pin on pololu, power to VSRV and VIN, ground to GND, and lots of servos
  3. According to our eventual code:
    #include <NewSoftSerial.h>
    #define txPin 2
    NewSoftSerial mySerial(rxPin, txPin);
    void setup(){
  4. we should take a servo female-female wire, put one end on servo male header pins for pin 2 of Arduino.

  5. RX/TX and Microntroller power: Put other end white wire (or yellow or whatever wire is SIG) on RX on maestro, and red (VIN) and black (GND). Should look like pic above, the wire-with-masking-tape, with black facing “out” toward the USB port.
  6. Servo power: see pic above, the two non-servo cables (the red wire and black wire going to the breadboard) are screwed into the blue terminal block on the maestro. The breadboard has 5V and GND from the 8.4V battery going through the linear regulator on the carrier board. I’m actually stealing 5V from a servo pin. See the black wire soldered to Dig9Output, 5V in the upper left of this pic (which is actually carrying 5V, not GND) (via a female header pin so I wasn’t soldering straight to the carrier board pins) (ignore the gazillion extraneous wires)
  7. Remove VSRV=VIN jumper

Why remove the jumper? Well, a. Makes the pololu RX pin happier (compare to setup below) b. Setting that jumper seems to current-limit the power going to the servos, leading to my sad-servo symptoms. aka unable-to-walk hexapod.

the single pin (pololu RX) inside the masking-tape-servo-cable is a sad pin. The cable also falls off often.

I used the jumper originally because I was thinking I would need two batteries (one for VSRV one for VIN) or something otherwise. But hey look, it’s setup to be neater without the jumper, I’m still only dealing with one battery, and my hexapod doesn’t work with the jumper on. u___u

b. Software
[edit 27 Jun 2011 I fixed the many errors in my post, as pointed out on the pololu forums: Pololu maestro and arduino again]

1) newsoftserial should be downloaded from the internet and the folder inside the zip put in (path to where you unzipped arduino)/arduino/libraries/ (e.g. for ubuntu 10.10 via the repository, /usr/share/arduino/libraries)

And the code from or from above means:
a. BYTE is a parameter that pecifies the base (format) to us
b. target is a non-negative integer less than 8192 (it can be written in binary notation with 14 or fewer digits)
e.g. 6000, or in binary: 01011101110000 
c. 0x7F is 01111111 in binary, which infinity zeros to the left, so “&”ing (bitwise AND) it masks out all the digits in target (when target is written in binary) except the last 7 digits (only 1 AND 1 == 1. all other combinations == 0)

& 00000001111111
= 00000001110000

d. right shift operator, shifts last seven digits (numbers 7 through 13) in target off into empty space and so now the “new” last seven digits were originally bits #0 to 6 (see color-coded pololu doc). Mask with 0x7F again, just to be sure.

  01011101110000,>>7 to:
00000000101110, then:
& 00000001111111
= 00000000101110

You can see the code I used with Fig. 1 here:

The main difference from the default code is that I mapped the values so that I could mindlessly port code from arduino-“Servo.write()”-style to pololu-“settarget()”-style.

void settarget(unsigned char servo, unsigned int target)
target = map(target, 0, 180, 2400, 9500);

Also feel free to compare to original arduino version:


Rideable Hexapod (aka spiderbot or hexabot or whatever). Anyway, I want.

Step A. KISS. Clone someone else’s work on a linkage hexapod.

~$ git clone

haha I wish hardware was as easy as software to duplicate.


  1. Acquire materials
    1. Steel stock
      1. Turner Steel (carpool with someone)
        1. 60 feet of 1″ square steel tubing, 0.065″ wall ~$72
        2. 20 feet of 2″ x 1″ square rectangular steel tubing, 0.065″ wall ~$37
        3. Directions
        4. (508) 583-7800 –inquire about cost for delivery to MIT, also hours
      2. Inquire from the Central Machine Shop, bldg 38-001
  2. Apply CAD (scale up, can motors handle? torque calcs?)
  3. Apply controller to motors (make original one? probably stick with relays)
    1. schematic
  4. Learn welding (MIG or TIG)
  5. Build build build
Oh, right, youtube research: (specifically for this kind of linkage-based rideable hexapod)
Look it’s bicycle powered
Look it’s wheelchair motor x2 powered

in the meantime, I learned a bit of serial by asking Leighton, a hallmate, so now I understand the pololu code. But I still don’t understand why it’s sad. Yay I kept thinking it was something with the code, and I couldn’t find my cute tiny 2.007 battery to try . But I tried something I knew wouldn’t work, and it worked! yay. will post in pololu forums to make it more findable.

Is the CAD?

Great success! I learned CAD. Or rather Amy worked through the point I kept getting stuck on (a particular series of mates for the hexapod leg assembly), and then it was fairly easy sailing from there. Yay πŸ™‚

not sure why it has 5 legs, might’ve hidden one when I screenshot’d

In other news, I didn’t make much headway on the pololu issue where something about my setup using Arduino + Pololu Mini Maestro is off (Dane showed me how to check with the multimeter to verify that the voltage was dropping to zero, aka symptoms of current limiting). I even took twenty minutes to wire everything to the original Arduino Nano (+ 2.007 carrier board) state, and verified that it did sound much… happier (yay the sound of 18 bloodthirsty happy servos =]). But I did read up more on serial and code, which was fun and hurt my head.