Let's Make Robots!


Holonomic move, remote controlled with a RC transmitter.
IMG_8489.JPG90.05 KB
IMG_8488.JPG87.68 KB
IMG_8490.JPG73.53 KB

This is a hexapod robot based on OpenSCB, an open source servo controller. All code and schematics will be provided under an open source license. It's still a work in progress but a lot of internal code has been done already.

The hardware is based on a MSR-µBug, which is a tiny hexapod structure from Micromagic Systems + 18x Mystery SD90 servos which are the cheapest servo I have seen so far. When the first prototype works correctly, I may move to something more robust, probably custom-built. Fitting the SD90 servos in the MSR-µBug wasn't an easy task. The frame is not designed for these cheap servos, so I had to shorten some plastic pieces with my dremel. The SD90 are wearing out pretty quickly, already 4 of them had their gears broken, so they are probably a bit too cheap for an hexapod.


The board is running realtime translation and rotation matrix for body orientation, and a 3 DoF inverse kinematic algorithm on each leg, all of them implemented with efficient fixed point arithmetic. The board receives commands from a RC receiver, which had been hacked to get the PPM signal. Four channels are mixed together to drive the hexapod, I can alternate between several modes with a switch on the radio.

When it moves around, it uses a dynamic "tripod gait" algorithm, each tripod is translated and rotated for every step corresponding to channels mixing. In the end, the IK does the magic and place each leg at the correct position.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

strangely reminds me of the mannequin monster from Silent Hill. It was cute at first but now I find it creepy. Really good work though, nice, fluid motion.

Hello. your robot seems really nice.I'd like to ask you about the plastic parts.Where did you buy them from (legs,body etc).I am interesting in buildin one but I don't find something to buy

Hi,  I love hexapods and your project. The moves are great!  I wish I'll build one from a kit or from skratch. Thanks for posting for us and keep up the great work :)

Im currently using the maestro in the hexapod kit im developing ( im tired of being a mechanic for a living and im trying to develop affordable robot kits to get people off their butt and start thinking ). How far along are you with it. We should get in touch and work together and make some magic happen




It's nice to see people are developing those multi-leg projects. I was trying to contact some manufacture back home to produce affordable mech parts. Servo brackets and these metal parts are expensive in current market.  But acrylic generates to much feedback for tension effects(Sorry for mu English, dont know how to describe that). Especially large scale projects. After all, I guess there's no way to make quality servos cheap T_T.

Other than hardware, I think the IK programming is the most difficult for people to understand. These crazy calculation just driving me nuts, it's fun thou. I hope someday someone could come up with GUI program to do such IK things.


At some point, we were envisaging to make a complete open source hexapod kit. But it's really hard to make the whole thing affordable and we are not really good at mechanical design, so we focused on electronics and software, which give us already quite a lot of job. I still believe that would be an awesome idea. I'm currious about how you used the maestro, is it driven by a PC?

The maestro is currently running on its own ( the usb cable dangling off my robot its just there to upload new scripts ). The plan is to have an arduino run the IK and send servo positions to the maestro, Im trying to share the load between processing tasks. and for simple situations like "RUN LIKE HELL ROBOT!" there will be routines set aside ont he maestro that can be called up and ran quickly.


The kit im working on has a base price of around $150 - $200 With out the servos. but im making it so almost any servo will fit,  every one has different frame horn setups and not everybody wants to use expensive hitec metal gear servos, Some people may want to shop for some chinese ones on ebay. or just have some sitting around

Ok I'll be interested to know if you manage to run the IK on an arduino, I wonder if it has the processing power to do it in real time.
What servo size are you basing your kit on? Will it be like a phoenix hexapod or more like a micro bug?

Thanks for making this open source.  This bug looks really great and I love the movements you've put together.  I've recently replaced the plastic gears in my Hitech HS-81 servos with metal ones, using a replacement kit Hitech sells, and I've been very happy with no new breakage (so far).

I'd been looking at the Pololu Maestro for some things I want to build, but haven't gotten into it yet.  I'm curious, what were the shortcomings you found with that controller?

Yes I was considering switching to metal gear servos, but they cost about 10 time the price of the ones I used!

About Pololu maestro, I don't have one myself so I might not be the best one to talk about them. From what we've seen from their website, there are a few reasons why we didn't use it:

  • It's designed around a small 16 bits PIC microcontroller (i'm guessing from the picture, because I couldn't find it anywhere on their site), with 8KB of eeprom available for the user. OpenSCB is designed around a 32 bits AVR microcontroller with 256KB of flash in total (program+user).
  • I believe the main difference is that because their firmware and configuration GUI is closed source, I'm limited to what Pololu offer me, I can't extend it, I can't improve it.
  • We wanted to have RC/PPM input from a RC transmitter, I don't think the maestro can do that.
  • So even if I make the considerable effort of rewriting a custom firmware for the Pololu, I don't think I would be able to implement real time inverse kinematric and rotation matrix as we did for this robot. We would need another board to control the maestro.
  • The next release of OpenSCB, will probably have even more IO, and the possibility to easily plug a bluetooth module, Lego NXT sensors, and AX-12 servos. That's another cool thing about an open source project, people are more easily giving their feedback and we can improve our board.

So for a lot of applications maestro might be a very good board, but when you need more complex control, I believe you need a better board. It really depends what you are trying to do.