Bench reference
It holds technical procedures and measurements used while repairing the robots, so it is written in shorthand rather than plain language. Nothing here needs your attention.
Service procedure · Hiwonder TonyBot
Each gate has to pass before the next one's results mean anything. Run them in order and a robot sorts itself into power, communication, servo-health, calibration or mechanical — before you take anything apart.
Before the first robot
Kit: a Windows PC, USB Type-C cable, hex driver for horn screws, spare servo cables, at least one spare bus servo, and a multimeter.
The Hiwonder PC software is Windows-only. On a Mac you need Boot Camp (Intel) or a VM with USB passthrough — and the passthrough is the part that has to work, so test it before relying on it.
Charge the pack fully through the side port — red while charging, green when complete. Switch on and let it settle.
Undervoltage is the most misdiagnosed fault on any servo robot. A weak pack produces exactly the symptoms you would blame on servos: weakness, jitter, joints giving way, collapse mid-motion.
The charger stops when any cell reaches 4.2 V. A pack with one failed cell charges to green while sitting well under 12.6 V. Measure the resting voltage, and if it is low, open the pack and measure each cell. See the battery report.
Watch the voltage display while it walks. A pack that reads full at rest and collapses under load has a failed or worn cell. Swap in a known-good pack to confirm.
The mobile app plays pre-recorded actions only — it cannot calibrate, read servos, or diagnose anything. Every gate from here needs the PC software.
Bus Servo Control V3.5 from the Hiwonder appendixTry a different Type-C cable first. Charge-only cables carry no data and look identical to good ones — a common half-hour lost. Then check Device Manager for an unrecognised serial device.
Click Read Servo Deviations. Confirm the overwrite prompt — it only means the robot's real values replace the blanks in the software.
The software is a generic bus-servo tool and polls IDs well past 16. The robot has sixteen servos, so read failures on 17 and up are normal. Only failures in 1–16 are real.
| Result | Meaning | Next move |
|---|---|---|
| All 1–16 answer | Bus healthy | Gate 4 |
| An ID fails, but the joint still moves | Communication only — commands arrive, replies do not | Marginal cable. Swap with its mirror twin to confirm. Low priority. |
| An ID fails and the joint is limp | Dead servo or broken cable | Swap-test the cable, then the servo |
| Two joints move from one command | Duplicate ID after a replacement | Gate 6 |
| Nothing answers | Controller or bus power | Back to Gates 1 and 2 |
Record which IDs failed, then use the servo map to locate them. A failure in an arm and one in a leg are unrelated problems on the same robot.
Answering the bus is not the same as working. A servo can read perfectly, move perfectly, and still be unable to hold position under load — and that looks exactly like a calibration problem, which is how it gets missed.
Every servo has a mirror twin at n + 8. Test the suspect joint, then run the identical test on its twin and compare. That comparison is what makes the test reliable.
| # | Test | Healthy | Faulty |
|---|---|---|---|
| 1 | Does it answer? — click Read | Returns a value | No response → Gate 3 |
| 2 | Does it move? — nudge its slider | Drives smoothly to position | Doesn't move, or the limb only flops under its own weight |
| 3 | Does it hold? — press gently, then press its twin the same way | Locked and stiff, same as the twin | Gives way, or holds at some angles and not others |
| 4 | Does it sound right? — listen while it drives | A faint motor hum, like its twin | Silent (not being driven) or grinding (stripped gears) |
Check the cheap cause first: power off and tighten the screw at the centre of that servo's output shaft. A loose or stripped horn lets the limb slip while the motor is fine.
If the screw is tight and it still slips — especially if it holds at some angles and not others — the fault is inside. Gear teeth partly stripped, or a dead spot in the position sensor. Both mean replacement. Gate 6.
A servo with stripped gears usually still buzzes as its motor spins uselessly. A servo that is completely silent while its twin hums is not being driven at all. Silent plus loose is the clearest single indicator of a servo that needs replacing.
Calibrating a servo that fails Gate 4 is wasted work. It will look right on the bench and drift again the moment the joint takes load.
-100 to 100The joint is off by more than roughly 13° and software cannot reach it. Re-clock the bracket on the spline — see the calibration reference for the arithmetic.
Either Download was skipped, or you were adjusting position rather than deviation. Position is never stored. Always confirm with a power cycle, never a software re-read.
Match the replacement to the model printed on the side of an existing servo.
New servos ship with a factory ID, usually 1. Connect the new servo on its own and set its ID to the number it replaces. Skip this and two servos answer to the same number — the leg behaves erratically and the cause is not obvious.
Reassembly moves the output relative to the internal position sensor. Command it to 500 and see where the joint sits. Under ~13° is deviation work; more means the bracket goes back on a different tooth.
Re-clocking shifts the joint's whole range and one end can land inside a mechanical stop. Slowly command 200, then 800. If it jams, buzzes or stalls, power off immediately — holding a servo against a hard stop burns the motor and destroys a fresh repair.