What I Inherited.
Not a broken robot. Not a partly working prototype. A mechanical skeleton.
The previous build had used DC motors driven by Arduinos. The motors burnt out, the controllers were damaged, and by the time the robot reached me the motors and electronics were gone. What was left was a frame that bound up under its own geometry. The arms had to be pulled together to assemble the platform, and that preload went straight into the joints.
From the handover and the earlier team's documentation, I traced each failure to its root cause before touching anything:
| Symptom in the previous build | Root cause | What I did |
|---|---|---|
| DC motors burnt out | The motors were never tested against the real load. Undersized for the torque, they drew current until they failed. | Re-derived the torque budget from measured mass. Chose servos with a 2.5× safety factor, then bench-tested them. |
| Arduino and electronics destroyed | No decoupling between the logic and motor-power circuits. | Separated the rails: a dedicated 12 V servo bus, an isolated 5 V logic supply, an e-stop, a 30 A main fuse and a 6 A fuse per servo. |
| Limit switches tripped only after the arm reached singularity | The switch placement defeated their purpose. | Removed them. Servo endpoints are set in the controllers and software to stop before singularity. |
| Frame bound up; play at the hubs | Assembly misalignment and preload across the joints. | Rebuilt the mechanism on free bearings and spindles first (Step 02). |
| Lag between command and motion | Laptop → Arduino serial latency. | Moved control onto a Raspberry Pi 4 driving the servos directly over I2C. |