microduck / libraryNew to the duck?

FIELD GUIDE / CODE & DEVELOPMENT

The Microduck software map

Which repository should you open? A practical map of the runtime, training project and owner tools.

Microduck robot photographed by Pollen Robotics
Microduck photography: Pollen Robotics, official press materials.

Two projects, different jobs

The microduck repository contains the robot runtime. The separate microduck_rl repository is where movement policies are trained. If you want to change how the software on a robot behaves, begin with the runtime. If you want to learn a new movement, begin with training.

Keep separate development notes for each project. A training configuration and a robot release are different versioned inputs to an experiment.

Follow the service boundaries

The runtime is organized as Rust services. The architecture document assigns control to robotd, updates to updaterd, configuration to configd and Bluetooth connectivity to btd. The gamepad and media paths have their own services. Communication uses a shared JSON-RPC contract.

When investigating a problem, trace the request through the documented boundary rather than editing several services at once. Identify which component owns the state you want to change.

robotctl and duckctl are not interchangeable

robotctl is the tool on the robot. duckctl runs on a laptop and reaches the robot over Bluetooth. The distinction matters when copying a command: first identify the machine where the command belongs.

A useful bug report includes the host operating system, the robot software version, the exact command, and what happened. Keep credentials and identifying network details out of public reports.

Read the license at the source

The runtime is distributed under Apache-2.0. Consult the actual license and notices when redistributing it. Do not assume that a software license also covers product photographs, mechanical designs or every linked repository.

For your first contribution, read the contributing guide, reproduce the issue locally and keep the change focused. The code and development collection links the relevant references.

GO TO THE SOURCE

Keep exploring.

This is an independent introduction. For current implementation details, use the original references below. Last checked Sep 6, 2026.

THE NEXT RABBIT HOLE

Keep your curiosity going.

All guides