Hacking the GWS PicoBB Servo for Continuous Rotation
WheelWatcher (now shipping)
I've been working for many months to develop a small but powerful mechanical platform for micro sumo robots, for use with our new Lil'PICcy controller board. See Development of a Micro Sumo Robot for details.
The first two attempts were based on small, surplus gearhead motors, and were not very successful.
The third attempt is very successful, but more expensive. This design relies on the tried-and-true robotics idea of hacking a model airplane servo for continuous rotation. It also relies on an idea shown off at a recent PARTS meeting to save space by leaving the back covers off the servos and nestling them back-to-back.
Balsa Products carries the GWS line of servos, which are very inexpensive and easy to hack. When I saw the size of the new PicoBB servo ($24 each), I decided to try it to see if they too could be hacked and solve my micro sumo problem.
The short answer is, yes, they can be hacked, but no, it's not very easy. The trouble lies in the design of the output shaft. In larger servos, the feedback potentiometer is mechanically coupled to the output gear (which drives the output spline that fits within a control horn, which is then usually screwed to the wheel) in such a way that it can be decoupled and yet still provide some lateral support to the base of the output gear.
No so with the PicoBB. The potentiometer shaft is an integral part of the gear train. It provides not only an attachment point and support for the final gear, it also provides a point of rotation for an intermediate gear! To make matters worse, the potentiometer is an integral part of the servo case. It is built into the case and is not a separate item.
After having a hard time hacking the first one, I discovered how to hack it without too much trouble. BUT, beware! These are expensive servos as servos go, and I can make no warranty that you will have a working servo when you are done! It is very easy to damage some critical portion of the case or gear train and render the servo useless, so be careful!
Step By Step Directions
Note: you can see all images in higher resolution by clicking on them.
1. Get the cover open
The servo case consists of 3 molded plastic parts, held together with a clear plastic band and two stickers.
Peel off the stickers, then slip the band off:
You can then remove the covers and see what's inside. Note the tiny ball bearing set for the output shaft, sitting in the top cover.
2. Remove output gear
The output gear is press-fit onto the potentiometer shaft. An alternative hack would be to drill out the final output gear so that the gear rotates on the potentiometer shaft rather than causing it to turn, but I felt that this would not work well unless the shaft were also filed smooth, which is hard to do. It's your choice.
Remove it by prying gently between it and it's neighbor gear (they share the same shaft) with a small flat blade screwdriver.
3. Remove stops from output gear
The bottom of the output gear has two plastic protrusions which are there to prevent the output shaft from rotating more than ~180 degrees. These must be removed by clipping them off flush to the bottom of the gear.
4. Remove gears from shafts
The gear train needs to be removed and set aside so that we can modify the potentiometer to continously rotate. Make sure you lay them out on a clean surface in the correct order so that you can put them back on the right way! In the picture below, they are layed out to correspond to the three mounting shafts and are in stacking order from bottom to top of the image.
5. Loosen cover plate from potentiometer wiper assembly
The wipers on the potentiometer (the metalic contacts that rub on the carbon film as the pontentiometer's shaft turns, thus causing a position-dependent resistance to appear on the output terminals of the potentiometer) must be removed so that the potentiometer shaft can continously rotate.
The trick is to first pry off a cover plate to gain access to the wipers, then remove the wipers themselves.
First, use a small flat blade screwdriver to pry up the tab on the cover plate and thus loosen it from the potentiometer. Try not to chip or crack the edge of the case as you pry! A flat blade helps distribute the load to minimize case damage.
6. Remove cover plate
Then, grab it with needle nose pliers and wiggle it and twist it gently until it pops off.
7. Bend up potentiometer wipers
Using needle nose pliers again, bend up the two wipers away from the carbon film so they stick up.
8. Clip wipers
Using diagonal clippers (wire cutters), snip off the wipers. The potentiometer shaft should now rotate freely, without any rubbing or slow spots.
(sorry so fuzzy; I'm having trouble with focus when using the macro feature on my camera)
9. Reassemble servo
Put the gears back on in the opposite order in which they were removed. You may have to adjust the position of the motor itself so that the small metal pinon gear on its shaft lines up correctly with the first gear in the gear train, but also so it does not cause the first gear to rub on the motor's case, and also to position the motor so that the top cover fits on.
10. (optional) Remove drive electronics
I prefer to remove the original servo electronics in all the servos I hack and instead drive them with an SN754410 dual motor driver chip from TI (used in the FlexDrive and Lil'PICcy boards). However, lots of other folks prefer to keep things simple and drive the servo control signal with their microcontroller (such as a Parallax Basic Stamp 1, as used in the PARTS Mark I and Mark II kits). Note: you will need to replace the wiring of the potentiometer with a fixed resistor network. The PicoBB circuit appears to require an uneven amount of resistance between the connections that originally went to the outer two terminals of the potentiometer, as there is a series fixed 2.2k resistor on one side. I don't know what the resistance is of the potentiometer, so you're on your own with designing the proper network.
Regardless of the drive method you choose, you now should drive the motor in both directions electronically to ensure it is turning smoothly. If it doesn't, there may be a bit of the mechanical stops left on the bottom of the output gear, one of the intermediate gear train shafts may be loose or bent, or there may be debris from the potentiometer that is still rubbing.
11. Mount back-to-back
If you are building a micro sumo, the servos should be mounted back to back without their bottom covers so that they fit within the 5cm cubed size limit. They should be offset front-to-back by 10mm to bring the output shafts into alignment.
If you do this, you have 45 mm from front to back and 35 mm from side to side. The servos are only 10mm high, leaving lots of room for batteries. I use two Duracell DL2/3A Lithium cells in series, for a solid 6v supply with 1,350mAH of capacity.
Anyway, 35 from side to side leaves plenty of room for servo horns and wheels. 10 mm can be removed front to back by cutting off the outer two mounting flanges from the two servos. But, whether you remove these flanges depends on how you intend to mount the servos to your robot.
Good luck, and happy robot building!
Last Updated August 5, 2003