a9ec4b2. This site reviewed the release, merged change descriptions and command reference on September 28. We did not install it on a physical robot.Start with four read-only answers.
If your robot has not arrived, keep this as a version reference; there is nothing to install on a preorder. On a robot or dev board, read the running version and the available stable release before deciding to change it. The official command reference says these checks do not need sudo. Official robotctl update and health commands ↗
robotctl version
robotctl update status
robotctl update check daemon
robotctl health --checkversion distinguishes the live daemons from what is installed. update status shows when the signed update source last answered; health --check asks it now. An old last-answer time points to a source or network question, not proof that a new release exists. The source-freshness change records only a verified answer, and its authors explicitly note that replayed old signed metadata is outside this check. Update-source freshness change ↗
What changed for everyday use?
A gamepad that disconnects mid-hold now clears the pending Select and D-pad-up hold state. Reconnecting after a gap should no longer turn the old hold into an unintended shutdown or mode change. This is a reported software fix, not a physical reconnect test performed by this site. Gamepad disconnect fix ↗
robotctl health now explains whether the remote service lists the robot, under which account, whether a heartbeat is stale, or why registration is retrying. Compare that line with robotctl account status if the robot is missing from your account. Remove account names and tokens before sharing a support log. The new line does not change the health command's exit code. Remote registration health change ↗
Developers consuming robot.state can now receive measured servo velocities and currents, alongside positions. Older daemon frames can omit the new arrays; absent data must not be read as zero load. Current is a sensor reading, not a calibrated measurement of contact force. Servo state telemetry change ↗
Update only when the board and timing are ready.
First capture the four checks above and the current policy list. Support the robot, keep power stable and allow the daemons to restart. The stable command is sudo robotctl update apply daemon; it may briefly interrupt control and connections. Afterward compare the running version, health and update history. The official updater verifies the release and health-gates it; a manual rollback needs a previously installed release. Official robotctl update and health commands ↗
robotctl version
robotctl health
robotctl update log
robotctl update showIf an update failed, read the log and the reported component before considering sudo robotctl update rollback daemon. Do not treat a release note, a passing simulator, or the presence of telemetry fields as proof that a specific robot's motors, radio or remote account have been tested. Official daemon 0.15.0 release ↗
Source check: . Verification scope is stated in the guide; source review alone is not a hardware test.
Where to go next.
MicroDuck Daemon Simulation: Run robotd Without a Robot
Run the real MicroDuck daemons against a MuJoCo body, inspect health and motion with robotctl, measure real-time speed, and understand what this setup cannot test.
MicroDuck Policies: Check, Load, Test & Reset Safely
Inspect the policies on a MicroDuck, update the official set, try a local or community ONNX policy, and return one slot or the whole robot to official defaults.
What would you like to understand next?
Keep the source, your environment and your observations together.