View Full Version : [Contest Entry] Roving Servo Bot

10-22-2008, 07:43 AM
My 1st post!

This is my simple homebrew robot arm mounted on a 3 wheel base. It is made out of aluminium, baseboard and some rc bits and bobs.

I had to take a crash course in vb.net to code a controller, but having a background in web development (and being a techy nerd) that was not too difficult. I will document the controller interface further down this thred.

Here is how the bot works (electronically).

PC (manual or programmed output) -> Bluetooth TX -> Bluetooth RX rs232 adapter -> PIC16F84 - Servos


Here is the "botboard", it is an 8 channel servo controller using a PIC16F84 running at 20Mz. It allows "position and hold" data for the servos, giving static torque which is perfect for robot arms.


As I was prototyping it is made out of stripboard. It has connectors for 0-12v, rs232 data in, gnd and +5v (+5v for powring the Bluetooth adapter). Also dual voltage regs for the servo power because when the servos are static they are still powered.

The PIC is programmed to allow a stream of serial data @ 38400 baud to position the servos in real time.

From vb I output
serialPort.Write(Chr(ServoNum) & Chr(0 - 240))

ServoNum = 0-8 then a position 0-240 - 127 being about center.

One neat thing about the pic code is that it allows the use of "Default position". Within the controller app I can set a desired "start-up" position, send this to the bot and on next powerup it will move the servos to this position.

That's enough about the bot interface, now the construction of the mechanical hardware.

1st I had to figure out a good strong lightweight material to use for the arm. I settled on L shaped aluminium bar (B&Q for UK people). It had a natural ledge to allow me to fix a mini servo without using too much glue.


Here you can see how I mounted the mini servos with double sided tape and tie wraps :-)


Now for the grabber. For this I designed a simple gear unit that is driven from one servo. The gears rotate in opposite directions. Fixed to the gears are the grab arms.


These are made from 3mm laminated base board.

I needed some kind of rubber on the tips of the arms to help grip objects. I found some draught excluder that had double side tape on one side. The draught excluder also acts as a grab cushion :-)


Here is another shot.


The base board is the stuff sign makers use for out door signs. It is dirt cheap, easy to cut and supe glue loves it! It is also hardwaring, waterproof and can be sanded. I also used this board to construct a roving base.

This base needed to provide stability for the arm, contain a power sorce and servos for the wheels.

Here it is under construction.


The servos have been modded to provide 360 degrees of rotation. I epoxied round servo horns to a couple of RC plane wheels. You can also see the rs232 port, power switch and battery box. The battery box takes 8 AA batteries and provides balance for the arm.


Wheel mount detail.

Now I needed a 3rd wheel. I decided a tail wheel from a rc plane would work best. These have hardware to allow the wheel's shaft to rotae around the Z axis.


Here you can see the batteries installed and the 3rd wheel setup.

A slightly blurry show of the bot board in place and connected up.


Here are a few shots of the arm, it has 6 degrees of freedom. The main servos at the base for rotation and lift are large, whereas the servos at the top of the arm for elbow, wrist, wrist rotation and grab are minis.


Top of the arm




Here is the Bluetooth -> rs232 adapter mounted and powered.


Completed! The yellow dots on the wheels are for my testing purposes, they are reference points so I can fine tune the software (no optical encoders of anything flash like that).

Now for software.


This has the following features:

Manual control.
Slide the siders and the servos move in realtime.

Program mode.
This records any movements you made. You can then play these back and the bot will move accordingly.

Set Default position
Dumps the current servo positions in EEPROM

Sets the bot to the EEPROM values.

Ability to save or load pre-programmed scripts.

This software is totally coded in vb.net and is configured from a simple set of variables. eg What servo is on channel 1, and what are it's max and min movement values.

So thats' it, my roving servo bot. I have built identical bases to use on other projects.

And here is the YouTube Video of the bot in action.



10-22-2008, 08:06 AM
Great little robot. I like the way you creatively used materials, and made it all from scratch.

Also, great post.

How much weight can it lift? Does it loose its balance when you lift heavier objects?


10-22-2008, 08:10 AM

It can't lift alot, those little servos are not all that strong. Also the gripper material is only suited for light objects. The weight of those 8 AA's and the fact they are offset to the back should balance out anything with a bit of weight.

10-22-2008, 08:38 AM
Holy crap Pinter75!

First off, welcome to the TRC, I'm sure you'll love it here.

Secondly.... holy crap! Nice work with making your own Servo Controller, AND interfacing it with .NET. I'm with DB too! The creativity with using the materials you used is shear brilliance:D

I got you entered in the TRC Project Contest.

10-22-2008, 08:43 AM
Hi Alex,

Thanks for the welcome :-)

I am sure I will enjoy it here too, I have plenty more bots to show.

10-22-2008, 11:58 AM
Hey Pinter75, Welcome to this forum, Great project, love your video and how you constructed you arm with the materials you had. Well done.

10-22-2008, 07:59 PM
VERY impressive bot. The construction on it looks incredibly clean. I honestly thought you had a 3D printer for it.

Scratch built controller, hardware, and software. Major kudos and + rep from me!

10-22-2008, 11:19 PM
Great bot, very well thought out and executed.

10-25-2008, 01:48 AM
Great bot! I really love the hand-made style, not to mention the outstanding cleverness of the whole design. Excellent work!

12-13-2008, 07:34 PM

I have had access to a laser cutter, so this bot now appears in "smoked" perspex :-)

This was designed in CorelDRAW! then cut and engraved on a 75Watt laser.

All parts were painstakingly measured and prototyped in card using my craft robo, before being sent to the laser. It works very well and really looks good!

Also it has spawned a new project: www.botbuilder.co.uk (http://www.botbuilder.co.uk)


12-13-2008, 07:46 PM
That looks awesome! Grats!

12-23-2008, 03:51 PM
Now all you need a one that is big enough to carry a full beer and you've got my vote.

ahh heck that just looks cool, you have my vote anyhow.


12-30-2008, 05:09 PM

I have attached some more detail views of the laser cut version of my bot.

Here is the arm.


And here is the base.


Finally here is the cut sheet I had to do. This made my brain hurt as I had to keep remembering that everyting is 3mm thick. I just thank my lucky stars that I have a digital caliper!


This was drawn in CorelDraw! 11, and sent directly to the laser cutter. Red = cut, black = engrave.

02-02-2009, 07:08 PM
Thanks guys!,

I am sure the voucher will come in very handy, I have loads of bots on the go at the moment :-)