Rock 'Em Sock 'Em Revamped: Motion-Controlled Servo Bots
by MPuma in Circuits > Arduino
227 Views, 4 Favorites, 0 Comments
Rock 'Em Sock 'Em Revamped: Motion-Controlled Servo Bots
Remember those classic Rock'Em Sock'Em robots from your childhood? As a fan of "Real Steel," I always dreamed of controlling fighting robots, and while we might not have full-sized boxing robots yet, we can bring some of that spirit to these classic toys! Instead of letting your old set gather dust or throwing out a broken one, I'll show you how to give it an upgrade.
In this instructable, we're going to turn these classic toys into motion-controlled fighting robots using servos and potentiometers. The robot responds directly to your movements - move your arm up, and your robot's arm follows. You can build this for one robot arm or control both robots for a full motion-controlled boxing match! It's an amazing way to bring back those classic Rock 'Em Sock 'Em battles with a modern twist that gets you up and moving. This project is perfect for everyone, even if you are a beginner. Now, let's get these robots ready for their match!
Supplies
- Arduino Uno
- Breadboard
- I used multiple Jumper Wires (male to male, male to female, and female to female), however I recommend using https://www.amazon.com/TUOFENG-Electronic-Prototyping-Circuits-Breadboarding/dp/B07TX6BX47?source=ps-sl-shoppingads-lpcontext&ref_=fplfs&smid=A1P2Y1BEUUWGO2&gQT=1&th=1 to be able to cut the certain length needed without it constantly falling apart.
- Cardboard, wood, or any other stiff material that can be cut (I used an old macbook cardboard box)
- 3xPotentiometers (For this project I used 3, however, it can vary based on how many moving parts you want)
- 3x SG90 Micro Servos (For this project I used 3, however, it can vary based on how many moving parts you want)
- Rock'em Sock'em Set
- Hair Ties (to attach to arm) and/or strap
Tools I used:
- Flathead Screwdriver (to force pieces apart)
- Hot glue gun
- Various screwdrivers
- Computer for code
- Electrical Tape
- Long Nose Pliers
Disassembling the Robot
This step involves taking your robot apart so we can add the servos at the body, shoulder, and elbow. While it might look intimidating, I promise it'll come apart just fine with some patience!
Start by popping the robot off its base - just pull firmly and it'll come right off. Then look for all the screws you can easily reach and remove those first. You'll find some screws are pretty tricky to get to, especially under the arms. This is where your flathead screwdriver comes in handy - use it as a wedge to help separate the parts. It might take some muscle, but keep at it!
Once you've gotten those tough spots, take out the rest of the screws from both sides of the body. The top should then come apart easily, like in the picture. Keep the head and spring piece together - we'll need those when we put everything back.
For the legs, take out any remaining screws and you'll see a connecting rod. Grab your long-nose pliers and pull that rod out - you'll need to twist and turn it a bit, but it'll come free.
Now your robot's disassembled and ready for the servos!
Quick Tips:
- Keep your screws and the parts somewhere safe (We will be using it all later)
- Snap some pictures for your own reference when reassembling
- If something feels stuck, double-check for hidden screws before using force
- Clear your workspace so you don't lose anything
Adding the Servos
Installing the Torso Servo: Now that we've removed all the rods from the body, put it back in its original position - you should see a rectangular hole. You'll need to widen this hole so your servo fits snugly when placed as shown in the picture. Once it fits, secure the sides with hot glue.
For the torso connection, take some of the spare plastic pieces and glue them underneath to keep the top stable - this creates perfect spacing for the servo. I used the double-sided servo horn (that's the topper piece that comes with the servo) for this servo.
For the arm servos: First, separate the two parts of the arm with the metal plate using your flathead and pliers - this'll give you your upper and lower arm pieces.
Shoulder: Take a servo horn but trim off the extra white plastic, keeping just the center circle. Insert the servo into the hole on the side of the torso. For the upper arm to fit around this shoulder servo, carefully trim the blue plastic until it fits well. Hot glue it in place once it's right.
Elbow: Use another trimmed servo horn (again, just keep the center circle) for the elbow servo. Gradually enlarge the hole in the lower arm until the servo fits snugly - take your time with this!
Glue the upper and lower arm together - the elbow servo to the plastic of the upper arm.
Important Tips:
- Position the servos with their long sides facing outward - this keeps the arm slim (unless you want a bulkier look!)
- Hot glue any loose parts before reassembling the head and torso with screws
- Pro tip: While working, I kept running a basic Arduino servo test code (moving side to side) to check everything worked. For beginners or a quick refresh on servo basics, check out that tutorial video I linked.
Making the Motion Tracking System for Body
Now that you've completed the Rock 'Em Sock 'Em robot modifications, let's build your motion control rig using potentiometers. This system will translate your arm movements to the robot. You'll need three control points: shoulder, elbow, and torso (though the torso control will just be handheld for now - that's a great area for future improvements!).
For this build, you'll need a rigid material - I used a MacBook box because its cardboard has excellent stiffness. Here's how to build the controls:
For the shoulder sensor:
- Cut the cardboard to fit your upper arm
- Double up the cardboard and create a hole that precisely fits the potentiometer's shaft (the rotating center pin)
- Cut another piece of cardboard to secure the potentiometer's mounting bushing (the larger brass/metal ring)
- Add extra cardboard layers behind this piece to create weight and stability
- Hold off on gluing until after circuit testing (covered in the next step)
For the elbow sensor:
- Follow the same process, cutting the cardboard to the length you need
- Create holes for the shaft and mounting bushing
- Reinforce as needed
To wear the controls:
- Use elastic hair ties or straps to secure the cardboard pieces to your arm
- Make sure the potentiometer shafts can rotate freely while the mounting bushings stay fixed
- The sensors should move naturally with your arm movements
Remember to align everything so your full range of motion matches the robot's capabilities!
Circuitry
Now let's work on the wiring setup. I've created a diagram for reference to help you visualize how everything connects. We'll be powering three servos, each controlled by its own potentiometer.
For each potentiometer:
- Middle/wiper pin goes to an analog pin (A1, A2, A3)
- One outer pin to 5V
- Other outer pin to ground
For each servo:
- Power wire (usually red) to 5V
- Ground wire (usually black/brown) to ground
- Signal wire (usually orange/yellow/white) to digital pins (3, 5, 6)
Pro Tip: Test as you build! I recommend connecting one servo-potentiometer pair at a time and testing it with the code (which I'll share in the next step) using the motion control system you just built. This makes troubleshooting way easier since you can identify exactly where any issues might be.
Don't forget to:
- Use electrical tape to secure your connections
- Keep your wires organized - it helps a lot with testing
- Bend wires as necessary to secure it around the electronics
Arduino Code
This code reads the positions from three potentiometers (from your motion control rig) and maps those values to control three servos in your robot. As a beginner, I'd recommend checking out that Arduino servo tutorial video (https://www.youtube.com/watch?v=3awCkLS7gHI) to get comfortable with the basics. Before using this code, try writing your own simple servo control program - it's a great way to learn!
Quick Code Summary
This program continuously reads analog values (0-1023) from three potentiometers, converts them to servo angles (0-180 degrees), and sends these values to the corresponding servos in your robot. The Serial.print statements let you monitor the raw and mapped values in real-time to help with debugging and making sure everything's working correctly.
Note: The mapping can be reversed (like we did for the elbow) if your servo moves in the opposite direction from what you want
Putting Everything Together
With that, all the parts are ready to go! Snap your upgraded Rock 'Em Sock 'Em robot back onto its base, strap on your cardboard motion control system, and you're ready to rumble! It's time to show off those boxing moves - Red Rocker vs Blue Bomber, but this time, you're controlling every punch!
Improvements and Future Ideas: Want to take your robot to the next level? Here are some awesome upgrades to consider:
- Set up both robots with motion controls for epic two-player battles
- 3D print custom arm pieces that match the original Rock 'Em Sock 'Em robot design
These basics will get you started with your motion-controlled boxing robot, but there's tons of room to customize and improve! Thanks for joining me on this build - can't wait to see what awesome upgrades you come up with! Let me know if you have any questions!
Sustainability
This project promotes sustainability by giving new life to old toys rather than throwing them away. By upgrading classic Rock 'Em Sock 'Em robots with mostly recycled materials like cardboard boxes and parts from the original toy, you're minimizing waste. The only new parts needed are the basic electronics, making this an eco-friendly way to transform old toys into something amazing!