Bench reference

This page is a working document for the repair bench

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.

← Go to the repair status page

Reference · the part that wastes afternoons

Position, deviation, and spline teeth

Three ways of describing where a joint is, in three units, in two windows. Confusing them turns a twenty-minute repair into a day. This is the conversion table and the traps.

First principle

Position and deviation are different fields

PositionDeviation
Range0 – 1000−100 – +100
MeansWhere you are telling the joint to go right nowA permanent correction so that 500 lands truly straight
Saved?No — gone on power offYes — via Download
Centre500, not 00
The mistake that costs the most time

Adjusting the position slider, pressing Download, and finding the robot back where it started. Download saves deviations. A position is never stored, so nothing was lost — the wrong field was being changed all along.

Tell them apart by the number. Deviation values live near zero: -12, +8, -40. Anything in the hundreds — 365, 620 — is a position.

Position 0 is not the middle

0 is one extreme of travel. A joint that only looks straight at position 0 sits at the very end of its range, with no movement left in one direction — so the robot cannot walk on it however good it looks standing still. Straight should happen at 500.

The conversion

Degrees, position units, and teeth

The servo sweeps 240° across positions 0–1000. The output shaft is splined, so a bracket can only be refitted in whole-tooth steps. Everything follows from those two facts.

0.24°one position unit
14.4°one spline tooth (25-tooth shaft)
60position units per tooth
~13°most that deviation can correct

The number worth memorising is 60. One tooth of bracket rotation equals 60 position units. That turns "how far out is this joint" into "how many teeth do I move it".

Off by (units)In degreesFix
0 – 55up to ~13°Deviation slider. Leave the hardware alone.
~60~14°1 tooth
~120~29°2 teeth
~180~43°3 teeth
~500~120°8 teeth — or the part was assembled badly wrong
How to measure "off by"

Drive the joint until it looks straight and read the position. The difference from 500 is your error. Robot #3's right ankle looked level at 365 — 135 units, about 32°, roughly two teeth. Deviation was never going to reach it.

Two figures to verify on your own units

Hiwonder puts the deviation limit at about 13°, while the slider runs to ±100 units, which by the arithmetic above would be 24°. Treat 13° as the working limit and find out where your sliders actually run out. The 14.4° per tooth assumes a 25-tooth spline — count the teeth on a servo you have open.

ARe-clocking a bracketmechanical correction

When the error is bigger than deviation can reach, the bracket goes back on the spline at a different tooth. Non-destructive and repeatable — always the right move before touching glue or ordering parts.

  • Robot off
  • Command the joint to 500 first, so you know where centre actually is
  • Undo the screw holding the bracket to the output horn
  • Lift the bracket clear of the splines and rotate by the number of teeth from the table
  • Refit, power on, command 500 again
  • Finish the last few degrees with deviation
Aim to land near zero deviation

A large stored deviation eats the servo's travel at one end, which matters for leg joints inside a walking gait. Get the mechanics close so deviation only has a few degrees of work.

BRecalibrating a repaired or replaced servoafter opening a servo

Reassembling a servo re-clocks its output relative to its internal position sensor, so its idea of centre no longer matches the joint. Expect to redo this every time one comes apart.

  • Support the robot. Command the servo to 500.
  • Compare against the joint's mirror twin — that is your reference for "straight".
  • Under ~13° out → deviation. Over → re-clock the bracket.
  • Download, power cycle, confirm the value held.
Then check the travel — do not skip this

Re-clocking moves 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. Rotate one tooth back and retest.

On a glued gear repair

Watch whether the joint drifts out again over a few walking sessions. Drifting by a different amount each power cycle means the gear is slipping, not that the calibration is wrong.

CA robot that leans, and why deviation is the wrong toolposture

Deviation has one job: make position 500 mean geometrically straight. Set it by the robot's shape, never by how the walk looks. Tuning deviation until a gait looks right corrupts the reference every other action depends on.

The test. Command every servo to 500, stand the robot on a flat surface, and look at it from the side:

Already leaning at 500

Calibration genuinely is off, in the forward/back chain — ankles 2 · 10, knees 3 · 11, hips 4 · 12. Those six are the only servos that can tilt the robot. Correct them keeping the sides matched.

Vertical at 500, leans only while walking

Calibration is fine. The lean is in the recorded gait or in weight distribution. Deviation will not fix it and should not be used to try.

Traps

Things that look like faults and are not

What you seeWhat it is
Value reverts on every power cycleYou changed position, not deviation.
Deviations vanished after a button pressReset / Clear wipes the software's copy; Download afterwards writes those blanks over your work. Read first, always.
Read fails on IDs 17 and aboveNormal. Only failures in 1–16 are real.
Joint moves but never answers ReadCommunication, not a dead servo. Marginal cable — swap with the mirror twin's.
"Read success" but nothing looks differentThat is only the confirmation. The values are in the deviation column.
Holds, then drifts after walkingMechanical slip under load, not calibration.
Sags, jitters, or gives way generallyCheck the battery first.

Two tools, one robot

The Android app versus the PC software

Android appPC software
Connects byWirelessUSB Type-C, Windows only
Can doPlay pre-recorded actionsRead servos, set deviations, drive joints, manage action groups
Shows numbersNoYes
Do not calibrate from both

If the app offers its own calibrate function it can write values that conflict with the PC software. Pick one — the PC software, since it is the only one that shows numbers to check.