Omnibot Shoulder Servo Modification
As a kid I dreamed of getting one of the Omnibots from RadioShack! Each Christmas and birthday I would beg and bargain for one but to no avail. They were too expensive for a toy, my parents would say. I dreamed of "programming" it to do all kinds of things little knowing that my parents were right. As cool as they were, Omnibots just weren't as useful as the advertising and my imagination made them. Little did I know that they couldn't even move their arms! Let's fix that!
In this project, we'll walk through installing the mounts and making the necessary modifications to the arms of your Omnibot 5402 or Sr for motor control of the arms. My goal was to create a structure to move the arms by the shoulder with minimal modification to the bot itself. It will still require two parts being permanently modified but it could still be reverted back to a cosmetically but not functionally original state.
Parts List - Listing counts are per Arm
- 3D printed parts set - Print these parts with 3 shells and 40% infill for durability and strength
- 1 M3x20 Screw
- 4 M3x25 Counter-sunk Screws
- 4 M3 lock washers
- 4 M3x8 Screws
- 1 M3x12 Counter-sunk Screw
- 2 M2x8 Counter-sunk Screws
- 8 M3 Nuts
- 2 6001-2RS 12x28x8mm Bearings
- 1 Standard size high torque servo (I used this one)
- Appropriate screw driver for the screws listed above
- Needle nose pliers
- Small hammer
- Precision knife
- Drill bits - 1/8in (3.18mm), 3/32in (2.38mm), 1/16in(1.58mm) or smaller bit
- Counter Sink Bit
- Circuit to Zero-Position Servo (See below)
- Warning: Before we begin, you should know that this modification is not possible if you still want to use the original electronics. This build assumes that you will not be using the original electronics and tape drive as the servos will need the space that the original electronics currently occupy.
- Warning: This build will permanently alter two of your original plastic parts - one of which will structurally weaken the shoulder mount. While the bot can be reverted back to a cosmetically original state, the shoulder will no longer be functionally equivalent.
- Note: This build does not need any of the existing internal screws other than the screws that hold the chassis and arms together. All of the inside screws that hold the electronics in place will not be used. The mounts that will need to be printed use the three upper shoulder ribs. This is noted since many of the images below show internal screws seated in their original locations. I have retained them for other future uses but they are not needed for this project.
- Note: This build does not address controlling the arms but these standard servos can be controlled by all of the usual methods such as a PWM servo controller, a microcontroller such as an Arduino, ESP32, Teensy, etc, or full blown PC GPIO control. What you use to control your system is up to you.
- Note: Go ahead and print your plastic parts from the kit linked above and clean up the prints before beginning. Each of the screw holes should be drilled out with the appropriate bit (M3 holes use the 1/8th in bit and the M2 holes use the3/32nd in bit). Make sure that any stringing is removed and that burrs are also removed.
Step 1 - Prep Arm
First, you'll need to remove the arms from the chassis by removing the 6 screws from the back of the bot and the 8 screws from the motor tray. Once this is done, you'll need to carefully pull the two halves of the main chassis apart - holding the slide in arms so that they don't fall out. At this time, per the notes above, you'll also need to remove the electronics board and tape drive from the main chassis.
Next, you'll need to disassemble the arm you are going to modify.
- Remove the shoulder arm screw and tension spring assembly. This will consist of a screw, washer, tension spring, and two spacer washers. You will not need to keep these parts for the remainder of this build.
- Remove the two control arm screws. You will need these again!
- Remove the elbow screw, rubber washer and spacer washer. You will need the screw but will not need the spacer washer or the rubber washer.
- Replace elbow screw.
- Disassemble the shoulder mount assembly by pulling it up and off of the arm.
- Turn over the shoulder mount and remove the large rubber O-Ring in the shoulder joint. You will not use this going forward as it is only there to allow manual adjustments of the arm to stay fixed.
After pulling the rubber washer and O-Ring out of the arm and shoulder mount, you will need to permanently alter the shoulder mount to accommodate the two bearings needed to support the arm. NOTE: Make sure that you want to alter your Omnibot original plastics in this way as there is no going back once completed. An alternative is to design and 3D print a new shoulder mount instead. However this project does not use this method.
Step 2 - Remove Internal Plastic Sleeve
- Using the 1/16 (or smaller) drill bit, drill holes around the outside of the should mount sleeve as shown below.
- Using an Exacto® or other sharp precision blade, cut through the circle of holes to free the sleeve from the shoulder mount.
- Clean up the cut line on either side of the hole so that there are no burrs or plastic shards that may prevent the bearing or the bearing guides from being inserted.
Step 3 - Alter the Shoulder Pin
You'll need the 3D printed should pin gear for this step. Make sure all burrs and stringing in the screw shaft are cleared. It is advisable to make sure that your M3 screw will easily fit into the center screw hole.
The shoulder pin should be prepped by shaving off just under 1mm of material from either side of the pin. The best way to do this is to use the printed should pin gear as a template - shave off a little from each side of the pin and test with the 3D printed part until the part slides down the pin to the offset in the plastic. NOTE: BE VERY CAREFUL WITH YOUR CUTS HERE! If you trim too much material off, you may weaken the pin making it prone to shearing.
The final seating of the 3D pin gear should be quite snug to the pin. Do not screw in the M3x20 screw yet as you will need to assemble the servo through the servo mount plate first. Go ahead and remove the pin gear after you are satisfied that the fitting is good.
Step 4 - Installing the Bearings
- Place the shoulder mount on your work surface wide-side down so that you can see the outer sleeve facing you.
- Insert one of the two 6001 bearings into the outer sleeve. This fit will be very tight. You will need to use a block or spacer of some kind and your hammer to insert the bearing into the sleeve.
NOTE: You will NOT be able to insert the bearing all the way to the bottom of the sleeve as it is tapered and gets narrower as you descend. Try to get an even depth of about ~3.7mm from the top of the bearing to the top of the sleeve as shown.
- Flip the shoulder mount over and insert the printed bearing guides as shown in the picture. You may want to use CA or epoxy to secure the guides in place.
- Insert the second bearing as shown.
Step 5 - Assemble the Arm
- With the 3D printed shoulder gear removed from the shoulder pin, lay the arm down shoulder pin up.
- Pre-Tap the should pin with the M3x20 screw slowly. Doing this will make assembly easier. Remove the screw from the pin.
- Place the shoulder mount over the shoulder pin with the wide side up.
- Replace the control arms and screws between the mount and the forearm.
- Insert the 3D printed should pin gear over the shoulder pin - through the two bearings. This will take some force but make sure that you get the pin to fully seat all the way down on the pin so that there is no distance between the top of the shoulder pin and the hole for the gear pin.
- Insert the M3x20 shoulder pin screw and tighten down with moderate force.
- Test the travel of the arm and if needed pull gently up on the mount away from the arm so that it isn't bound up between the two.
Step 6 - Servo Prep
- Using the round disc horn from your servo kit, align the holes on the 3D printed gear with two holes on the horn. On mine, it was the widest two holes opposite each other. Pre-Tap these holes with your two M2 screws.
- Using the counter sink bit, remove some printed material for each of the three holes on the top of the flat gear. Test fit each screw for a flush surface.
- Connect the round horn with the flat gear with the two M2 screws.
- Using the counter-sink bit, remove some printed material from the flat side of the servo motor mount plate for the 4 servo screw holes. Test the fit of the screws.
- Insert the servo into the motor mounting plate as shown below. The servo gear should be nearly flush with the outside edge of the plate once installed.
- Secure the servo with the 4 M3x25 screws, lock washers and nuts
- Install the servo horn gear assembly on the servo with the M3x12 screw
A Note About Zero'ing your Servo.
With servos, you have an easy way to know what the position of the arm is by the signal you are sending. However, before final assembly, you will need to set your servo to a known position.
Why? Once you apply power and your signal, you may not know where the servo gearing was when it was sent to you. ALSO, you may not know which way your signal will move the servo depending on it's orientation to the rest of your assembly. Therefore, I recommend doing the following before assembling the rest of the arm.
- Using whatever control method you plan to use, set the servo to the midpoint of it's travel. This will ensure that no matter how far it can travel (180 degree, 270, etc) that you know where the halfway point is.
- When assembling the arm, you will need to make sure that the arm is fully extend straight out when you line up the gears of the servo and the arm shoulder pin. This will ensure that your servo mid point also matches your arm's travel midpoint.
- In your controller, you'll need to trim out the travel on either end of the rotation so that the servo doesn't try to drive the arm past it's physical limits.
- After assembly, SLOWLY have the controller move your servo to the midpoint and stop. Be ready to pull power if something goes wonky!
- Next, have it move a little forward and backward to test that it is moving the way you think it should.
- Lastly, with your extents dialed in much further than you think you'll need, slowly move your arm a little closer to the ends until you have that position finely tuned.
- DO NOT RUSH POINTS 4, 5 AND 6!
Step 7 - Installing the Motor Mount
- Insert the M3 nuts into each of the recessed hex openings in each of the two Rib Mounting Plates. You may want to use a screw to pull the nuts into place as they should be friction fit depending on the tolerances of your printer. Remove the screws.
- Slide each of the mounting plates over the three ribs and stop flush with the edge of the shoulder mount opening. The screw hole tabs should be facing away from the shoulder mount opening.
- DO NOT GLUE THESE MOUNTS INTO PLACE
- Insert the Locking Bar over one of the two top ribs. These should fit flush up against the inside mount and have a stop wall in place to keep it from moving too far.
- Insert the arm and should mount assembly back into the robot body chassis and pull the two halves of the chassis back together. The assembly should look like the images below.
NOTE: The shoulder pin gear should not make contact with the motor mounts and should be nearly flush with the surface of the mounts without the motor mounting plate installed.
- With the chassis assembled, install the servo mounting plate onto the motor mounts by sliding the plate over the tabs. once in place, you will need to use the 4 M3x8 screws.