Open-source Rust toolkit for logging, visualizing, querying and streaming multimodal robotics and sensor data over time.
pollen-robotics/microduck
Open-source Rust software that runs a tiny biped duck robot, covering motion control, gamepad, updates and camera streaming.
- Stars
- 9,611
- Forks
- 1,248
- Open issues
- 43
- Last commit
- 11 hours ago
What is it?
Microduck is the software stack for a small biped duck robot, about 25 cm tall and 800 g. It runs on a Rockchip RK3566 and is built from a set of daemons: robotd runs a 50 Hz control loop that drives fifteen servos from neural-network policies, while other daemons handle wifi and identity, Bluetooth, gamepad input, WebRTC camera streaming and a depth sensor.
The robot's locomotion policies are trained in a separate repository, microduck_rl, which uses MuJoCo and PPO and exports ONNX models that this repo loads. Updates are signed, health-checked and can be rolled back if a robot comes up unhealthy. Daemons communicate through one JSON-RPC contract over Unix sockets, so the app, console, gamepad and scripts all issue the same calls.
A MuJoCo-based simulator lets developers run the real daemons against a simulated body without hardware, and a cheat sheet documents the robot's command-line tool.
Key features
- 01Runs a 50 Hz control loop driving fifteen servos from neural-network policies.
- 02Loads ONNX policies exported from the microduck_rl training project.
- 03Supports gamepad control and Bluetooth access from a laptop.
- 04Streams the camera over WebRTC and reads a depth sensor.
- 05Signed, health-gated software updates with rollback.
Use cases
- Building or customizing a Microduck biped robot's control software.
- Experimenting with sim-to-real reinforcement learning locomotion on a small legged robot.
- Testing robot code in a MuJoCo simulator before running it on hardware.
Quick start
- 1
Read the simulation guide
- 2
Run the simulated duck without hardware
scripts/duck-sim
Things to know
- Runs on a specific robot built on a Rockchip RK3566 with fifteen servos, so most features need the physical duck.
- The policies it loads are trained in a separate repository, microduck_rl.
Topics
FAQ
- What is microduck?
- Open-source Rust software that runs a tiny biped duck robot, covering motion control, gamepad, updates and camera streaming. Microduck is the software stack for a small biped duck robot, about 25 cm tall and 800 g. It runs on a Rockchip RK3566 and is built from a set of daemons: robotd runs a 50 Hz control loop that drives fifteen servos from neural-network policies, while other daemons handle wifi and identity, Bluetooth, gamepad input, WebRTC camera streaming and a depth sensor.
- Is microduck free to use? What license does it have?
- microduck is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is microduck still maintained?
- Actively maintained. The last commit to microduck was on Oct 19, 2026.
- What can I use microduck for?
- Building or customizing a Microduck biped robot's control software. Experimenting with sim-to-real reinforcement learning locomotion on a small legged robot. Testing robot code in a MuJoCo simulator before running it on hardware.
- How do I install microduck?
- Read the simulation guide Run the simulated duck without hardware: scripts/duck-sim
- Where can I get microduck?
- The source code and installation instructions are on GitHub: https://github.com/pollen-robotics/microduck
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An open framework for building embodied agents that use LLM planners, VLA manipulation models and memory to run robot tasks in simulators and on real robots.
ASPIRE is a framework where coding agents iteratively refine reusable robot skills for simulated and real-robot manipulation tasks instead of training model weights.
An open-source ESP32 emulator in Rust that runs real firmware on your computer or in a browser, without hardware.
A Go-based Fight the Landlord card game with online multiplayer, reconnection, smart bots, and a fully random deal with no card-control algorithms.
A cross-platform, GPU-accelerated OpenGL terminal emulator that relies on other tools like tmux for tabs and splits.