Introduction: Hacking Servos to Serve Your Way
Servos are some of the most useful motors in robotics. They have a great torque, small size, integrated H-bridge, PWM control, etc. They can be used with RC systems, Arduino, and many other ways. But sometimes it can be really hard to harness their power. Maybe you need it to rotate more than 360 degrees (continuous rotation), you want to attach it to your Lego project, or you can't stand having the three wires together and always having to use some jumper wires to connect it. The solution: just hack it!
Step 1: Materials
- First of all, you are obviously going to need a servo. I have really grown fond of those small SG90 ones, since they are quite cheap and are designed for small projects like mine. In the second image you can see one of mine, with all the parts included.
- Second, get some small Phillips or flat-headed screw drivers. We'll be using them to open the servo housing.
- Third, get a cutter or X-Acto knife. It isn't that indispensable, but it comes in handy to modify some of the servo parts.
- Fourth, find some superglue.
- You might also want to get a file or some sandpaper to help you with uneven surfaces for gluing.
- I also added an Arduino, since I always use it to interface the servos. You could use any other pwm system you like.
- This is a more optional part: to make them able to be attached to Legos for your different projects (in my case a bluetooth robot (will be making an Ible on that soon!)), you will need two 2x1 flat Lego pieces, a => 6x4 platform (this size or larger), a 1x(any size) flat piece, a Technic cross-axle (any size) and a 1x1 Technic brick. There are images of all of them at the start of this step.
Step 2: First Mod: Remove Those Stickers
First thing we are going to do is, basically, void any guarantee the servo could have. Did you ask yourself why my servo didn't have one in the Materials step? Well, couldn't stand seeing my servo with it, so I just had to do it. If not, you won't be able to open the servo's housing and continue with the project.
Step 3: Seperate the Three-Wire Connector
One thing that really bothered me the first time I bought one of these servos was that the three cables were all joined and I didn't have any female-male cables to connect them. Furthermore, that just wasted space. So what did I decide to do? I simply removed the three-pin connector and replaced it individually with single-pin connectors. The result? I could connect it directly to my Arduino and saved critical space.
- First thing you have to do is get three female plastic pin connectors. Grab a needle or a small screwdriver and lift the small plastic tab (try not to break them!) and pull the cable out (see images). Do the same for the three connectors and for the servo wires.
- Now all you have to do is push each of your servo wires into their new housing. The plastic tab should fall into place and no metal contacts should be seen. With the triple-wire connector you can make other projects, just fit in the cables and use them as you wish.
Step 4: Remove Some of the Screws
To make disassembling easier, I decided to remove some of the screws that held the housing together. If the servos have four of those long screws, just remove two of them and keep the other ones in place. If, on the other hand, the servo only has two, check if it has some studs on the upper and lower part of the housing. Check the images above. If, effectively, the servo has the studs, you may leave it without any screws and it should hold in place. If, however, it doesn't, you'll just have to leave them in place.
Step 5: Cut Some of the Parts Off
In this step, we'll modify some parts to make them not be bothersome.
- First of all, separate the servo housing parts. Grab the upper one (as seen in the first image) and cut those side parts which have holes for some screws. Check the images to make sure you aren't cutting the wrong parts. The upper housing should look like that shown in the first image at the right.
- Second, grab the main gear (large one with long shaft) and cut, with precision, the small plastic stopper underneath it (not the shaft!). It happened to me once that some teeth of the main gear were broken, so I had to take the gear out, move it 90 degrees or something and then placed it back again, tricking the servo into thinking it was still in the correct place (the shaft has a square profile in the part where it connects to the potentiometer. It is possible to rotate it 90 or 180 degrees and it still fits in the rectangular groove). If I hadn't removed the previously mentioned small piece, I couldn't have done it since it would have gotten stuck. As you can see in the images, none of my gears have the small piece underneath them.
- This second mod is going to be for those who wish to make their servo continuous-rotation. As you can see in the images, there are images of two different gears. They are the principal ones. In normal servos, the shaft passes through a secondary gear, a shaft-holder and the potentiometer. To make it rotate more than 180 degrees, we will have to make the axle shorter, so that it doesn't move the potentiometer put still fits in the holder. Look at the images and measure your servo and the shaft carefully, then cut. A small part of it should fit in the holder, so that it doesn't get out of place during use.
- I'm going to make a pause right now. In most Instructables for modding servos into continuous rotation ones, you see that the potentiometer is removed and two equal resistors are added in its place. I'm not going to do this, since resistors always have a margin of error. Instead, I'm going to leave the potentiometer and, in every project, I'm going to remove all the gears and adjust it manually. I prefer this option since, for example, the Arduino joystick I have is not centered perfectly, if I happened to put two resistors, I would have to make software changes, which are harder. Now I only need to disassemble the servo (made easier by taking out some screws) and adjust the wiper with a small screwdriver.
Step 6: Adding the Lego Parts
In this step, we are going to stick the two 2x1 flat pieces to the sides of the servo (if you have to completely flat 2x1 tiles, you could use them instead of the other ones. The result is exactly the same).
- First, cut the studs off the two 2x1 pieces using the X-Acto. You should leave them flat. Use a sandpaper or file to even their surfaces.
- Assemble the platform and 1x1 Technic piece as shown. Add the new flat tile as seen in the images.
- Add some superglue to the half of the 2x1 piece that is farthest from the 1x1 Technic brick. This is to prevent the upper housing of the servo from getting stuck to the middle piece. This way, it can be all disassembled later on.
- Put the servo over the superglue, fitting the axle into the Technic brick. It should fit snugly. Look from above and check that the side of the servo is more or less aligned with the Lego studs. Even though it is not an even number of them wide, it should be more or less parallel to them. Press for a while.
- Lift the servo (with the glued piece) off the platform. Assemble the platform again but on the left. Add the 2x1 tile and put some superglue in the same half as mentioned previously. Mount the servo on it and press it down hard.
- You should be left with the servo glued to the two pieces. Check if they are more or less in the same position on the servo's side to prevent them from being out of place when placing them on your Lego. If you glued them correctly, you should be able to separate the upper part from the middle one. If it doesn't use you X-Acto to cut a little, but not too much.
Step 7: Modifying the Axle
In this step, we are going to mod the servo axle so that it can fit Lego gears, wheels, etc.
- First of all, get your Lego cross-axle. Use it to mark a cross on the servo axle with a marker or pen. Try to make on of the "arms" of the cross point at the 90 degree position of the servo (the others at 0, 180 and "270). This is just for commodity.
- If you feel the axle isn't being useful, just grab the servo axle and find the small screw hole it has in the middle. draw a line over the top of the axle that touches this circle but doesn't cross it. Make a parallel line on the other side. You should have a strip the same width as the screw hole. Now make another strip the same size but perpendicular to the previous one, forming a cross. Check its size with that of your axle and compare it.
- Now cut along the lines (try to leave some margin) and get rid of these four corners. I followed this method and it worked out quite fine. Try cutting less than needed and then trim it with your knife. See if it fits inside a gear or wheel. Try to get it to fit more or less tightly, if not, it might get separate during use. Do not cut away the rugged exterior of the cross that is left, those grooves are used to hold on to the original accessories (horns). As you can see in the images, they still work after the mod.
Step 8: Word of Advice
- First of all, get to know your servos. Learn how to disassemble and reassemble them, how to adjust the wiper, etc.
- Second, have care with the three cables. My experience tells me that it is quite advisable to resolder them after buying them, as it happened sometimes that they would start breaking and make a short circuit.
- Third, while disassembling them, try not to loose any pieces. Above is an image of the four main gears and the axle, as well as the servo without the upper casing (you can see all the parts in it). Learn how they go together and try to not break any of them. If some teeth of the largest one do, in fact, break, have in mind that you might be able to salvage it a bit by reducing the max and min angle (happened to me!), unless, of course, it were continuous rotation one. Obviously, don't through all the servo away (H-bridge is still useful!).
Step 9: Conclusion
Well, that's about everything! Hope you enjoyed this Instructable and that it was useful to you. If there is anything wrong or you need any help, don't hesitate in asking! Great Projects and Good By!