Skip to content
SoftwareOfficial source

MicroDuck 0.18.3: Telemetry Controls & Reconnection Checks

Official MicroDuck daemon 0.18.3 enables usage telemetry by default. Turn it off in the console drawer or with telemetry.set, then read telemetry.status. It also caches addresses for duckctl ssh/scp; 0.18.2 adds classic-gamepad reconnection. These releases do not establish compatibility with an HD1910 replica.

Match the software stack before choosing an update

Pollen Robotics published stable 0.18.2 at 08:46 UTC and 0.18.3 at 15:04 UTC on October 30, 2026. The latter is pinned here to b2b0d213. This article was published and source-reviewed on October 31; the releases are not October 31 announcements.

Use these instructions for the compatible official daemon and matching duckctl. KISS R1/V167 and fanhao375’s image/Studio/native updates are separate stacks. An XL330 servo or a ZERO 3W board alone does not make a DIY installation compatible. Record the project, image, daemon and client revision first.

What the new usage telemetry reports

The official documentation describes default-on anonymous usage reporting to PostHog EU Cloud. Events cover daemon starts, version changes, daily updater uptime, occupied policy slots and policy changes. They include a random robot ID, board/architecture, daemon and OS build; public Hub policies can be identified by repository, revision and filename. Manually installed policy files are labelled local rather than sending their paths.

The documented payload excludes Wi-Fi and robot names, account/token, hardware serial, logs, images and audio, and disables IP-derived location. These are the publisher’s documented design and the reviewed implementation, not an independent network-privacy certification. This robot setting is separate from this website’s analytics consent.

Turn it off, then check the saved choice

Open the console drawer and disable “share anonymous usage data”. The control is hidden until telemetry.status succeeds; a missing switch on an older updater is not evidence that reporting is off. With a matching duckctl, replace YOUR_ROBOT below with your robot’s name and run the status/set/status sequence.

After a successful opt-out, enabled and active should both be false. enabled is the saved choice; active also reflects the updaterd environment override and does not prove network delivery. MICRODUCK_TELEMETRY=0 or DO_NOT_TRACK=1 must be in updaterd’s environment to force reporting off. The choice survives reboot/update; disabling clears the local queue and random ID, and re-enabling creates a new ID. Read status again after a restart.

duckctl --name YOUR_ROBOT call telemetry.status
duckctl --name YOUR_ROBOT call telemetry.set '{"enabled":false}'
duckctl --name YOUR_ROBOT call telemetry.status

0.18.2: paired does not always mean connected

The reconnect fix targets bonded classic Bluetooth gamepads that lose their link, including a drop just after pairing. The source retries the fresh link and later sweeps disconnected classic pads. Repeated misses increase the scheduled interval from 12 seconds up to 120 seconds, reducing needless radio use while a pad is off; this is not a promised reconnect time.

LE gamepads keep their own reconnection path. If a controller is still blinking, record paired/trusted/connected and the input response separately before erasing bonds. A recovered link still needs a supported, restrained stop/control check; this site has not tested a controller or robot.

0.18.3: faster SSH and SCP, with host-key checks intact

duckctl ssh and scp now try the remembered address on port 22 for 800 ms before discovery. If it does not answer, discovery runs and refreshes the cache. duckctl ip and open still discover the robot, rather than trusting the cached address.

A reassigned DHCP address can produce an SSH host-key warning. Verify the robot and current address; do not remove host-key protection just to dismiss the warning. The cache is normally ~/.cache/duckctl/addresses, with XDG_CACHE_HOME taking precedence. Reconnection speed does not prove servo, IMU or policy readiness.

A short post-update acceptance record

On the compatible robot’s Linux shell, read version, health and update status with the commands below. Record the installed/running versions and any disagreement. Follow the existing signed-update and recovery guide if health fails; keep the robot supported and avoid motion while diagnosing.

Keep the telemetry status, gamepad connection/input/stop result and SSH identity check as separate evidence. We checked fixed source, stable release metadata and small manifest/signature-file hashes. We did not install a daemon, verify signatures cryptographically, boot an image or test physical movement.

robotctl version
robotctl health
robotctl update status

Where to go next.

CONTINUE THE CONVERSATION

What would you like to understand next?

Keep the source, your environment and your observations together.