Full featured, miniature hexapod


Assembly Instructions


Revision 2.0 Board

I have created a timelapse video showing how I did the reflow soldering, by hand, of the Revision 2.0 board. I feel that this worked quite well, and I am looking forward to the next time I can apply these techniques.

The rest of the through hole soldering was just like normal, so I did not document it. The end result can be seen below (click on an image to expand it):

(I actually ended up moving the two 2200uF capacitors to the bottom of the board to keep things looking cleaner. Whatever works for you.)

Revision 1.0 Board

This was my first try at SMD components, using an iron. It turned out quite well, but I figured I would pass on some tips that I have learned to others trying to do the same thing. These tips are primarily aimed towards those soldering the Stubby control board, but they could probably be generalized to most similar projects. All soldering was done with a normal soldering iron; no reflow required. I used a magnifier / light stand, which I found helped, although other people have done this without it. It took me about 2 hours to do all the soldering by hand.

  1. Start with the 0805 passive components, like the resistors and capacitors
  2. When soldering two pad SMD components, I found that the following approach worked best for me:
    1. Start by tinning (melting a bit of solder) onto one of the pads on the PCB
    2. Next, hold the component in place with tweezers
    3. Touch the component / PCB pad with the iron, to melt the tinned solder. The component should now be stuck in place.
    4. Put solder on the other pad. Use enough that there is a good solid connection to the board.
    5. Go back to the first pad, and add more solder, such that it is about the same as the second.
  3. If you are using a crystal, solder the two 0603 capacitors onto the back of the board. (If you are using a resonator with built-in capacitors, i.e. the three pin resonator, there is no need for this.)
  4. Solder the SMD zener diode (the three pin SMD package). Use a similar approach as you did with the resistors, tinning one pin to secure it and then getting the others attached fully.
  5. Solder the header pins (male and female), DIP socket, switch, etc (all non-electrical through hole components)
  6. Solder the through hole capacitors and crystal
  7. Solder the LDO regulator
  8. Solder the LEDs
  9. Plug in the AVR to the DIP socket, and the XBee to the bottom of the board (if you are using an XBee). That's it!

Alternative Assembly Options

There are some changes which you can make to the electronics, depending on what you want to do. Recently I have been modifying my board... here are some of the results.


The frame is a bit more complicated than the electronics. The instructions below are not exhaustive, but they should give you a decent idea of how to do it.

  1. Cut and drill all frame components

  2. Assemble leg components
    1. Glue Coxa 1 and Coxa 2 segments together. These should be glued perpendicular with each other, with the slots intercepting each other. (This is really hard to explain: see the picture for what I am talking about):

    2. Glue Femur segments together. The longer sections, Femur 1 and 2, are on the outside, separated by Femur 3. It should look like a capital 'H' when completed. You should use clamps to ensure a tight connection between the three parts.
    3. Connect Coxa / Femur and Femur / Tibia segments together, using 1 1/4" #6 screws, with 2x #6 nut and 1x #6 lock nut per joint. The coxa and tibia segments should be pressed between the two nuts as tightly as possible, and should not be able to rotate. The femur is where the rotation happens. The lock nut is loosely on the end, to prevent the screw from falling out, but should not be tight enough to bind. See below for a picture of how it should look.
  3. Attach all servos using their supplied screws.
  4. Attach the axles to the legs
    1. Use the 70mm lengths of threaded rod as axles
    2. Screw in a lock nut 22.5mm from the end of the rod, with the flat part of the nut being closest to the end:
    3. Put the axle through a leg, with the lock nut on top of the leg, and the long part of the threaded rod facing up.
    4. Screw another lock nut underneath the leg, flat side facing in. Tighten these two nuts as much as possible, sandwiching the leg between them.
    5. Two of the six legs should also have 1 normal nut underneath the coxa assembly and 1 lock nut on top of the coxa assembly, to act as spacers. (The picture is incorrect and shows two normal nuts on top instead of one lock nut)

  5. Attach the bottom frame to the legs
    1. Use a single lock nut on the bottom. Place the two legs which have the extra spacers in the holes as marked:
    2. Put the servo layer onto the two spacer legs. Put lock nuts overtop, but not too tightly (they should rotate freely)

    3. Put lock nuts on the two spacer legs, down about 12.5mm from the top of the axle (i.e. just enough distance to fit the 1/4" MDF for the top layer, and a lock nut).
    4. Put the top layer (PCB layer) onto all six legs. Put lock nuts on top of each axle. Do not overtighten the nuts on the two spacer legs. All legs should be able to rotate freely.

  6. Bend and cut the push rods. They should be cut in the shape as indicated below. For the lengths, look at Leg.h for what I used (the exact lengths are not critical, although whatever length you pick, you should ensure that all the rods are the same length, or else IK will not work properly).
  7. Attach the PCB to the top of the frame using #4 screws, and possibly spacers to keep the board high enough so the radio doesn't hit the servos
  8. Attach the battery holder to the bottom of the frame using #6 screws
  9. Verify all lengths in Leg.h (for IK calculations), refering to the diagrams as needed, and compile / program the microcontroller.
  10. Connect servos to the control board. The GND (brown on my servos) should connect to the outside of the board, and signal (orange) should connect to the inside of the board (the side closest to the AVR).
  11. Turn on the control board and enter calibration mode. This will put all servos at neutral position (1500us phase).
  12. Attach the servo horns, trying to match the angles specified in Leg.h as closely as possible. (These angles can be fine tuned using calibration).
  13. Attach the push rods to the servo horns / legs
  14. Cross your fingers, and when that fails, start to debug what is happening! ;-) Seriously, you will almost definitely not get it working on the first attempt. That is part of the fun of DIY projects! Feel free to email me if you have questions and I will do what I can to help with the troubleshooting.