Let's Make Robots!


Avoids obstacles via IR
3ServoHexapod.zip (3d models of all the parts in .skp and .stl)521.07 KB
PennyHexapodSketch.zip2.87 KB

       Hello LMR, this is Penny the 3 servo hexapod. Penny is not just a very cheap way to build a hexapod but a very cheap way to build a robot, period. I actually based this robot off of a bot named Stomper that I had found here earlier on LMR.




SketchUp Screenshot

     I really liked how the mechanics of Stomper worked and seemed like a fairly simple design, so I fired up SketchUp and started designing parts. After a while I had something that I thought would work and it was off to the printer. All the parts for penny are in the .zip file at the top of this post. I've included the SketchUp source files as well as the .stl files that can be sent directly to a 3D printer. If you want to modify any of the pieces, I recommend changing the SketchUp files and then building new .stl files from there.







      Printed robot partsThe goal of this project was to make a robot that could be built for a very small amount of money and still be "worth building". The total cost of this whole project was just under $10 USD. If you were to buy all the parts separately (Special THANKS! to DFRobot who sent me the CheapDuino as a contest winner) it would still be under $15 USD. All the parts took about 3 hours to print and when they were done it was just a matter of a few minutes to run a drill bit through the holes to make sure all the pieces were smooth.








     Cheapduino size comparisonThe CheapDuino is a great board if you don't have a lot of space and want to keep your project as small as possible. As you can see by the pic, the entire board is about the size of my thumbnail. The ATMega8 has plenty of power for this robot and the (4) AAA NiMH batteries powered it directly quite well. The board doesn't have a voltage regulator, so you have to be careful with the power supply that you feed it. The 4 NiMH batteries that I'm using are just slightly above 5v when fully charged and have a total capacity of 850 mAh. Although it only has 6 pins broken out (3 digital PWM, and 3 analog, it is still quite useful for a handful of projects, including small robots like this, for the same price as a raw AVR microcontroller without any of its support hardware (PCB, crystal, caps, resistors, ect...).



     PCB TopWithout any mounting holes, I found it easiest to make a sort of undershield that the board could connect to for the sensor and servo hookups that were needed.To make the undershield board, I needed to keep everything as low as possible so the the center legs would have enough clearance. I put the servo header on one side (on the left side in the picture to the left.) and the IR sensor header on the other. I also added a small 2 pin header for connecting the battery to the SPST slide switch. To minimize wires on the bot, I clipped the servo wires to the length I needed and put all the signal wires to a single 3-pin connector, then I tied all the grounds together, and all the power leads together and ran those to a 2-pin connector. So basically I have all three servos wired to a 5 pin connector which plugs into the main board. The right side has the connections for powering the IR LEDs, triggering the transistors that help light them, and 2 pins for reading the data from the left and right "eyes". The white connector on the top of the CheapDuino is for connecting a 10-pin 0.5mm pitch FFC (Flexible Flat Cable), which is like a micro ribbon cable, to a small breakout board that was included for programming. 5 boards, 2 cables, and the programming breakout board for programming cost about $20 USD, so it is really the cheapest Arduino you can buy right now. I used a MEGA1280 with the ISP sketch loaded to program it, and for some reason I had to burn the bootloader first each time I uploaded a new sketch. This might be the version or Arduino I'm using or something similar as I've not heard of any on else having this issue. Aside from that it worked great.


CheapDuino Undershield bottom

     The bottom didn't turn out as well as it could have, but it works and there are no shorts. The hardest part was trying to find room for everything. I did end up putting a few resistors and a transistor directly in the head to save a little room on the perf board. If I did it over, I'd probably just try to get it all to fit, as I'm not sure how long it will be before a lead snaps off one of the components from not being mounted "properly". Knowing my luck, it is bound to happen.






       Penny's IR sensor circuitHere is the schematic for the IR LED and the corresponding sensors. I took OddBots' lead with one of his IR circuits and adapted it for my own use. The circuits are quite similar besides some differences in the resistor values. I had some IR LEDs that could take 100mA continuous or 200mA peak, so I opted to drive them with more current. I made the schematic with Cadsoft's Eagle PCB Software and you can download it for free to make circuits and gerber files to have a PCB professionally made if you felt inclined to do so. It has a bit of a learning curve, but what doesn't, really? I didn't include the connections for the servos since they are pretty straight forward. For each servo I ran the signal wire to a digital pin, and powered them directly from the battery (after the power switch, of course). I didn't even add any caps and everything seems to work fine without them.... so far.

              (click on image to enlarge)




There is a link at the top of the page where you can download the Arduino Sketch that was used for Penny. Keep in mind the Cheapduino has only 6 pins, so the programming is very basic with lots of room for improvement. Although it was most likely unnecessary, I commented almost every line of code since LMR is growing rapidly and many of the new people are new to Arduino as well. If you are one of those people I will recommend you check out ChickenParmi's excellent Arduino Tutorials to get a better understanding of what everything means. I make no claims to being a programmer! 






        Putting the bot together was fairly simple since I had already built it once in SketchUp (see the attached .zip file at the top of the page for the file with the complete assembled robot as well), so I knew how everything should fit. Here are some pics of the finished bot as it ended up.

Penny 01Penny 02

Penny 03Penny 04

Thanks for checking this out. If you have any questions, comments or suggestions, please leave a message in the section below.

Comment viewing options

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

Excellent! First time see that cheapduino in action! Nice works.

Thanks, proto! I was considering posting a BOM. Maybe I'll have to do that. The hard part was getting the electronics to fit, but that's easy street for you. :P

And I don't know what happened at the top of the post. I had it all pretty, then I added the video where I was told to and the server stuck it right in the middle of everything. :/

This robot is awesome! ive been wanting to make something similar but dont have a 3d printer... I like how it fits in your hand.

Imagine swarms of these running around the house!

Yes, this is very nice! Thanks for sharing.


 Epic!  What would be the biggest  --duino you could fit on Penny ?

 I've got an Arduino Uno and I doubt it'll fit without me having to enlarge the whole thing.

 Which reminds me, where did you get the 3D printing done?


Thanks. The biggest "duino" that would "most easilly" fit in the bots' current state would likely be the pro-mini. Although if you went with a Li-po battery that fits where the electronics currently are, you could probably get an UNO to fit underneath where the AAA battery holder is on the bottom of the bot. If you made the bottom of the chassis a few mm narrower, the headers of the UNO would even be exposed along both sides. BTW, I have a 3D printer so I just had to go the den ;)

Loved it

Just downloaded SketchUp Viewer to read your files, but can't seem to get the dimensions of the pieces.

I don't own a 3d printer so I'm thinking about doing a different, simpler version of yours by molding, cutting and shaping some Polymorph. I think I can do it all with a box cuter and a Dremel, except the chassis because of all the steaking out parts that I'll try to ignore :)

I’m think about doing it with an Arduino UNO, and some LiPo batteries


Could you tell me the dimensions of the pieces?

What is the benefit of using IR sensors to range distances instead of Ultra sounds?

 Best Regards

Thank you, glad you like it.

If you scale the file of the assembled robot inside sketchup so that the chassis is 50mm x 110mm you should be good to go. I made all the pieces individual components, so you can just pull it apart in that file to have a look at the pieces individually. Looking forward to your creation. Sorry about the delay.

All the best


Jerz what a great project you have there.

I must say I dont have 10% of your skills regarding mechanical drawing / designing.

Today I went to my local FabLab here in netherlands, www.protospace.nl and was able to print 4 of the 9 parts (damn that takes long...). Only problem: the chassis part has a very thin/flimsy right "flap" to mount the servo's in. It already broke when I removed the creation from the bottom of the printer using a thin knife. So now I am totally frustrated with Sketchup, a piece of software I am unable to master. Could you please please adapt the Chassis design to make the Servo mounting part the same as the solid counterpart at the opposite side? What I mean is the trapezium shaped part of the servo mounting breaks very easily. 

Hey JerZ

I've cloned your Penny! Work in progress, there will be a twin in a couple of weeks!