ROBOTICS FIELD NOTESENGLISH EDITION / 28 October 2026
Articles / 2026

MicroDuck Robot: Specifications, Parts, Software and Locomotion

Pollen Robotics’ 25 cm MicroDuck is a 15-servo biped sold as a pre-built robot. The software is Apache-2.0. The press kit says the mechanical design is not open-source hardware, so this is not a build-from-scratch guide.

What MicroDuck is, and what it is not

MicroDuck is a small biped from Pollen Robotics, sold as a finished robot you can drive and retrain. The product page calls it a 25 cm open-source biped and points pre-orders at $399 before taxes and shipping. The press kit is more precise about the organization and the license: it is Pollen’s second consumer robot after Reachy Mini, made by what the kit calls the Bordeaux-based robotics team at Hugging Face, and the open-source statement covers the software stack only. [1] [2] [3]

That last sentence changes what a builder can do with the public files. The software repository says it is the duck’s brain, and that someone who wants a robot should get one from the product page. A search of the public tree on 28 October 2026 found Rust daemons, design notes and sensor vendor code. It did not find STL or STEP parts, a bill of materials, or an assembly manual. This article will not invent those missing pages. [4] [5] [6]

Read the separate record for the other duck: What Open Duck Mini V2 publishes about its walking policy.

Software license and hardware license are different

Two Apache-2.0 LICENSE files were readable on 28 October 2026: one at the root of pollen-robotics/microduck and one at the root of pollen-robotics/microduck_rl. Those files license the software in those repositories. They do not, by themselves, license a mechanical design. [7] [8]

The training README adds a second sentence: hardware design files are under Creative Commons BY-SA-NC. No separate license file with that name was present at the repository root the same day. CC BY-SA-NC is also not an open-source hardware license in the usual sense, because the non-commercial clause restricts use. The press kit, which is the page Pollen asks journalists to copy, says the opposite kind of summary in plain language: do not describe the robot as open-source hardware, because the mechanical and electronic design files are not part of the open-source statement. [9] [2]

License by artefact, as published on 28 October 2026
ArtefactWhat is publishedLicense status
Onboard software (microduck)Public GitHub repositoryApache-2.0 LICENSE file
Training code (microduck_rl)Public GitHub repositoryApache-2.0 LICENSE file
MJCF / design files inside the training repoREADME claim onlyREADME says CC BY-SA-NC; no separate license file confirmed at repo root
Mechanical and electronic manufacturing filesPress kit says they are not the open-source releaseDo not call the robot open-source hardware
Documentation in the software repoMarkdown under docs/Ships with the Apache-2.0 software repository; not a hardware grant

Verified specifications

The press kit says its specification sheet is not final for camera resolution and field of view, LiDAR range, radio versions, SDK languages, and any age recommendation. Those cells stay empty. Numbers below are copied from a named page, not estimated from photos. [2]

MicroDuck specification table. Empty cells are unpublished, not zero.
FieldPublished valueStatus
Height25 cm (product page and press kit)Printed. Press kit also says 25 cm tall.
Width14 cm (press kit only)Not repeated on the product-page fact strip.
MassProduct page: 800 g. Press kit: under 800 g. README: about 800 g.Do not treat 800 g as a single weighed figure.
Degrees of freedomPress kit: 15, across legs, head and neck. Product page: 15 motors.See the joint section. The policy uses 14.
Joint rangesNot published as a tableUnavailable. Actuator travel is discussed in the design doc as a safety clamp, not an anatomical range.
ActuatorsDesign doc: Dynamixel XL330, firmware v46 or newer for the bus timing it describesDesign document for the alpha bus, not a packed-in-the-box label.
ComputePress kit: Rockchip RK3566, 1 GB RAM, 32 GB storage. Dev install: Radxa Zero 3, Armbian 26.2.1 Minimal.The install page is for a dev board, not proof of the sealed consumer image.
Policy rate50 Hz on the product page, the README and the training repoAgreed across those three.
VisionFront camera; resolution and field of view not finalUnavailable as numbers.
Range sensorPress kit: 8×8 time-of-flight matrix, called a compact LiDAR. Range not final. Repo vendors VL53L5CX and VL53L8CX code.Do not pick one ST part number as the shipped sensor.
IMUsPress kit: two, body and head. Control loop: trunk IMU at Dynamixel ID 200 inside the 50 Hz read.The 61-number observation has one gyro. A head IMU stream exists in the cheat sheet and is not claimed here as part of that observation.
Audio and NFCPress kit: microphones, speaker, per-robot voice, two NFC antennasNo microphone count or codec is printed.
RadiosWi-Fi and Bluetooth. Radio versions not final.The dev guide discusses an aic8800 workaround. That is a board note, not a consumer radio SKU.
BatteryPress kit: removable NP-F550, 2600 mAh, about one hour depending on useRuntime is a manufacturer estimate, not a logged duty cycle.
In the boxProduct page: robot, battery, USB-C cable, game controllerCharger, spare motors and rollers are packs, not the base box.
Price$399 before taxes and shipping, introductory. Packs $39, $119 and $39.28 October 2026 product page. Not a self-build total.

Fifteen servos, fourteen policy joints

The product page and the press kit both say 15. The control-loop design draws the same number on one Dynamixel bus: five left-leg servos at IDs 20–24, five neck, head and mouth servos at IDs 30–34, and five right-leg servos at IDs 10–14, plus the trunk IMU board at ID 200. The training README’s joint list is shorter on purpose. It names 14 servo joints: left leg (hip yaw, hip roll, hip pitch, knee, ankle), four neck and head joints, then the right leg. The mouth is the joint that list leaves out. [1] [2] [10] [9]

The design document makes the split explicit. Every alpha policy it checked is a vector of 61 observations to 14 actions. Joint positions in that vector exclude the mouth. The 14 actions are written back into 15 motor slots, and the mouth slot is left at zero. A backlash variant in the training repo also says ±1° of play on each of 14 servo joints. None of this is a fifteenth hidden actuator. It is one beak motor that the walking policy does not command. [10] [9]

Three groups of five MicroDuck servos, with the mouth called out as excluded from the 14-joint policy observation
Bus IDs and the 61-number observation are taken from the control-loop design. Joint names for the 14 policy axes are taken from the training README. This is not a measured range-of-motion chart. Open the diagram for a larger view.

Per-joint angle limits are not published. The design note says the safety layer clamps to the actuator’s travel, which catches a bad number, and that this clamp is not an anatomical limit for each joint. Do not copy a degree number from a video frame. [10]

Parts, packs and the cost that is actually listed

There is no public bill of materials for machining or printing a MicroDuck. The prices that exist are finished goods on the product page, checked 28 October 2026, in US dollars, before taxes and shipping. The page says the introductory robot price applies in the launch markets it names elsewhere as North America and Europe, with first deliveries targeted before Christmas 2026. Those are sales terms, not a landed-cost quote for Morocco or any other country. Tools, customs, a second battery charger and a computer for training are not in the $399. [1] [2]

What the product page lists. Not a fabrication BOM.
ItemFunctionQtyModel or contentsPriceRequired?
MicroDuck robotThe biped, ready to drive1One of four shells: Cream, Graphite, Lavender, Sky$399Required if you want the physical robot
Box contentsFirst power-up without extra packs1 setRobot, battery, USB-C cable, game controllerIncludedIncluded with the robot
Charger packCharge two batteries1Dual charger and 2 batteries$39Optional
Dev packSpares and small tools13 spare motors, 5 motor cables, 2 batteries, dual charger, 10 NFC tags, Hugging Face credit, screwdriver, screw pack$119Optional. Motor model name is not printed on this card.
Accessory packPlay pieces1Laser pointer, NFC polaroid, 2 rollers, ball, 10 NFC tags$39Optional. Rollers are for the skating policies, not for walking.
Printed parts, frame, custom PCBA from-scratch buildNot publishedNot publishedNo priceUnavailable. Do not substitute a guessed supplier.

Repositories and files you can actually download

Download the software from the official repositories. Do not mirror it onto this site. Both repositories were reachable on 28 October 2026, as were the press-kit page and the product page. The press kit offers a zip of press assets. That zip is a media kit, not a CAD release, and it was not copied here. [4] [9] [2]

  • Onboard runtime, daemons and operator docs: https://github.com/pollen-robotics/microduck (Apache-2.0).
  • Training, MJCF exports and ONNX export: https://github.com/pollen-robotics/microduck_rl (software Apache-2.0; README adds CC BY-SA-NC for hardware design files).
  • Phone app repository named by the design index: https://github.com/pollen-robotics/microduck-app (not re-licensed here).
  • Browser simulator linked from the product page: https://huggingface.co/spaces/pollen-robotics/microduck-simulator.
  • Docs index, cheat sheet, dev install and simulation notes live under the runtime repository’s docs/ folder.

[4] [9] [5] [11]

The training models are MJCF, exported from Onshape with onshape-to-robot. That is a simulation body, not a manufacturing drawing. File formats a reader can expect in the training repo are XML models, Python, and ONNX after export. A CAD program is not required to read the runtime. Training expects uv and, for a local run, a CUDA GPU. The README says a train command can take --hf-jobs when there is no local GPU. This page did not execute that training. [9] [12]

Assembly: official steps versus what is not documented

A ten-step mechanical build cannot be written honestly from the current sources. There is no official sequence for printed parts, screw sizes, actuator installation, joint alignment, wiring or calibration of a home-built frame. The steps below separate the documented path from editorial caution. Anything not in the cited page was left out on purpose. [5] [2]

If you want a physical robot

  • Order the finished robot. The product page is the parts list: robot, battery, USB-C cable and game controller.
  • Do not open a design-doc voltage discussion and invent a bench supply. The press kit names a removable NP-F550 pack. Follow the manual that ships with the robot for charging and insertion. This site does not have that manual.
  • Drive it with the included controller before writing code. The README’s demonstrated behaviours are walk, roller mode when wheels are fitted, a beak-to-floor pick, and getting back up, plus sit, kick and a voice.
  • Treat rollers, the ball and spare motors as pack items. Walking does not require the accessory pack.

[1] [4] [2]

If you are provisioning a dev board

The install document is for a development board, and it says a customer robot refuses those builds. The documented preparation is: flash a Radxa Zero 3 with Armbian 26.2.1 Minimal using the Armbian imager, set Wi-Fi and a user in the imager, copy an SSH key, then run scripts/provision-board.sh from a clone. The page explains --pause-btd-on-pair as a workaround for an aic8800 radio that cannot bond a new gamepad while btd is advertising. It also says mDNS is unreliable and that duckctl ip can ask the board for an address over Bluetooth. A GitHub token is described for the period when the repository was private. On 28 October 2026 the repository was public, so that token step should be re-read against the current file before you export one. [13]

Software bring-up that is documented

  • Operator commands live on the cheat sheet: robotctl for status, configuration, policies, voice, Wi-Fi and updates. Copy commands from that page, not from memory of this article.
  • Updates are described as signed, health-gated and reversible. The README says a failed boot rolls back.
  • Simulation without a robot is scripts/duck-sim: the daemons against a MuJoCo body.
  • Training is a different repository. The quick start clones microduck_rl and runs uv. Local training asks for CUDA. Export uses scripts/export.py and bakes the observation normalizer into the ONNX graph. The README says not to hand-convert a checkpoint.
  • A first locomotion experiment, if you do not have a robot, is the keyboard player in that repo: uv run scripts/infer_policy.py. That is simulation. It is not evidence the same file walks on hardware.

[14] [4] [12] [9]

Safety

The control design describes a bus of hobby-class servos, a battery, a depth sensor and a policy that can stand, fall and get up. Even at 800 g, a servo can pinch a finger, a fall can throw a small robot off a desk, and a lithium camera battery is not a toy cell. The design document also discusses servo supply voltage relative to the XL330’s own rating on the alpha bus. That discussion is not repeated here as a procedure, because copying it into a wiring diagram would invent a power supply the press kit does not tell a customer to build. Unplug power before any work the manufacturer’s own guide does not describe. This publication has not performed that work. [10] [2]

What the software can do

The runtime is Rust, one workspace, no framework. robotd owns the motor bus and the 50 Hz loop. updaterd installs signed releases and rolls them back. configd owns Wi-Fi and identity. btd is the phone’s Bluetooth path. padd reads the gamepad. mediad streams the camera over WebRTC. tofd serves the depth matrix. Clients share one JSON-RPC contract. The architecture page, dated 22 July 2026, is marked as a draft of the intended first version, so a command on the cheat sheet outranks it when they disagree. [4] [15] [5]

Behaviours, and who has shown them
BehaviourWhere it is claimedWhat this site has done
Walk, with a gamepadREADME videos and product pageNot independently tested
Roller skating when skates are fittedREADME and product page; training task IDs for rollersNot independently tested
Beak-to-floor pickREADME and GroundPick training taskNot independently tested
Get up after a fallREADME and VelStand / StandUp tasksNot independently tested
Sit and standProduct page and SitStand taskNot independently tested
Kick a 70 mm, 15 g ball in simulationTraining README; actor is ball-blindA simulation task, not a measured hardware kick
Forward roll, spins and slope glidesTraining task tableDocumented as training tasks. Not claimed as seven boxed moves.
Seven moves in the boxProduct page and press kitA product count. The training table lists more task IDs than seven.
Retrain and hot-swap ONNX policiesTraining README and policy docsNot run by TechniaHQRobot

The observation contract is what makes a swap possible. The training README says every policy shares 61 actor observations: 48 proprioceptive values plus commands for twist, head pose and body pose. Unused command slots are zeroed rather than removed. The design document’s layout matches that size: 3+3+14+14+14+13. Deploy ONNX produced by the project’s export script so the normalizer stays inside the graph. [9] [10]

Actuator fidelity is called out as the sim-to-real gap at this mass. The training stack uses the BAM M6 model of an XL330, with domain randomization of voltage, sag, delay and friction, plus an optional backlash twin. That is a documented modeling choice. It is not a measurement this site recorded on a servo dyno. [9]

A reader with a GPU, or with access to Hugging Face Jobs, can try the published train and play commands. Possible experiments include a flat walking policy, a fall-recovery policy, and the keyboard sim player. Those are invitations to the upstream README, not results. Supported operating systems for the dev board are the Armbian image named in the install guide. The training machine is whatever runs uv and the CUDA stack the README requires. Exact dependency pins belong to pyproject.toml in that repository on the day you clone it. [9] [13] [11]

Cost, difficulty and the other small duck

The cost driver of a working MicroDuck is the finished robot at the introductory price, plus shipping, tax, and any pack you add. A from-scratch cost cannot be estimated, because the motors, board, camera, battery and shells are not sold as a documented parts list. Assembly difficulty for the product is the manufacturer’s, not the reader’s. Software difficulty is real: Rust on the robot, Python and MuJoCo for training, and a GPU or a hosted job if you want a new gait. The missing artefacts are the mechanical CAD, the electronics schematic, a full BOM, and a customer assembly procedure. [1] [2] [6]

Open Duck Mini v2 is the nearby alternative only if the goal is to fabricate a small walker from published design files. Its own page on this site keeps the README’s figures: about 42 cm with the legs extended, and a parts budget aimed under $400, with CAD and a spreadsheet the project actually links. It is a different height, a different author, and a different license situation. Reachy Mini is the earlier Pollen and Hugging Face desktop robot, a head and arm platform rather than this biped. Neither comparison says one walks better. No shared test protocol has been published. [2]

Reachy Mini’s head mechanism is a separate article: How Reachy Mini moves its head.

How this page was checked

Primary sources were the product page, the press kit, the two GitHub repositories, their license files, the architecture and control-loop design notes, the dev-board install, the cheat sheet, and the simulation note. The Hugging Face organization page and the simulator Space were opened. Access date for all of them is 28 October 2026. No specification was inferred from a photograph or a video still. Where two official sentences disagree, both are quoted in the section above instead of being averaged. [1] [2] [4] [9] [10]

Sources and verification

  1. Microduck product page ↗Pollen Robotics · Read 28 October 2026

    States a 25 cm biped, 15 motors, 800 g, camera plus LiDAR and two IMUs, a 50 Hz onboard policy loop, seven trained moves, and an introductory price of $399 before taxes and shipping. Pre-orders are described as open, with the opening date 27 August 2026. Pack prices: charger $39, dev $119, accessory $39.

  2. Microduck press kit ↗Pollen Robotics · Read 28 October 2026

    Calls MicroDuck Pollen Robotics’ second consumer robot after Reachy Mini, and describes Pollen as the Bordeaux-based robotics team at Hugging Face. Says the open-source statement covers software only and that mechanical and electronic design files are not open-source hardware. Lists 15 degrees of freedom, 25 cm tall, 14 cm wide, under 800 g, RK3566, 1 GB RAM, 32 GB storage, an NP-F550 2600 mAh battery, and an 8×8 time-of-flight matrix. Marks camera resolution, LiDAR range, radio versions, SDK languages and any age recommendation as not final.

  3. Pollen Robotics on Hugging Face ↗Hugging Face · Read 28 October 2026

    Organization page was reachable. This article does not treat the page as a specification sheet.

  4. microduck repository README ↗Pollen Robotics · Read 28 October 2026

    Describes the repository as the robot’s software: about 25 cm and 800 g, a Rockchip RK3566, a 50 Hz loop, fifteen servos, and policies exported from microduck_rl. Points readers who want a robot to the product page rather than to a fabrication guide.

  5. microduck documentation index ↗Pollen Robotics · Read 28 October 2026

    Indexes operator cheat sheets, the dev-board install, simulation, and design notes. It does not list a mechanical assembly manual, a bill of materials, or CAD downloads.

  6. microduck repository file tree ↗Pollen Robotics · Read 28 October 2026

    The public tree checked on this date included Rust daemons, docs, and ST VL53L5CX and VL53L8CX vendor code under tof/vendor. It did not include STL, STEP, or a bill-of-materials spreadsheet.

  7. microduck Apache-2.0 license ↗Pollen Robotics · Read 28 October 2026

    The software repository LICENSE file is the Apache License 2.0. It is not a hardware license.

  8. microduck_rl Apache-2.0 license ↗Pollen Robotics · Read 28 October 2026

    Root LICENSE is Apache-2.0. On 28 October 2026 the repository file list showed this LICENSE and no separate LICENSE-MODELS file at the root.

  9. microduck_rl README ↗Pollen Robotics · Read 28 October 2026

    Training stack on mjlab and PPO at 50 Hz. Lists the 14-servo joint order, BAM model for the Dynamixel XL330, ONNX export, and a CUDA or Hugging Face Jobs path. Says hardware design files are CC BY-SA-NC. Apache-2.0 covers the project license file.

  10. robotd control-loop design ↗Pollen Robotics · Read 28 October 2026

    Names Dynamixel XL330 servos, IDs 20–24, 30–34 and 10–14, the trunk IMU at ID 200, a 61-number observation, 14 policy joints, and a mouth slot written as zero. States that the alpha target is a Radxa board. This is a design document, not a consumer manual.

  11. Microduck simulator Space ↗Pollen Robotics on Hugging Face · Read 28 October 2026

    Linked from the product page as the simulated twin. This article did not run a training job in the Space.

  12. The simulated duck ↗Pollen Robotics · Read 28 October 2026

    scripts/duck-sim runs the real daemons against a MuJoCo body. It is a software twin, not a mechanical kit.

  13. Installing on a dev board ↗Pollen Robotics · Read 28 October 2026

    Dev-board procedure for a Radxa Zero 3 with Armbian 26.2.1 Minimal, SSH, and scripts/provision-board.sh. Says a customer robot refuses dev-key builds. The GitHub-token step is written for a private repository; the repository was publicly readable on the access date.

  14. Microduck cheat sheet ↗Pollen Robotics · Read 28 October 2026

    Operator commands for robotctl, policies, the gamepad, updates, the camera, the ToF sensor and a head IMU stream. Use the page itself for the current command names.

  15. Robot daemon architecture ↗Pollen Robotics · Read 28 October 2026

    Draft dated 22 July 2026. Describes seven daemons, JSON-RPC over Unix sockets, a 50 Hz loop, and fifteen servos plus an IMU on one serial bus. The page says it describes the intended first shipped version.

Evidence limits

  • Camera resolution, LiDAR range, radio versions, SDK languages and any age recommendation are marked not final in the press kit.
  • No public mechanical BOM, screw schedule, wiring diagram or assembly torque was found, so none is invented here.
  • TechniaHQRobot has not assembled, powered or locomotion-tested a MicroDuck. Demonstrated behaviours are the developer’s, not an independent trial.
  • The CC BY-SA-NC sentence in the training README and the press kit’s “not open-source hardware” line are both reported. They are not the same claim.

Article history

First version. Specifications are limited to the press kit, product page and software repositories checked that day. No mechanical assembly procedure is added beyond what those pages publish.

Report a correction