YOU CAN 3D-PRINT YOUR OWN WALKING STAR WARS BD-X DROID - FULLY OPEN-SOURCE

A 42 cm tall Star Wars BD-X droid that walks using a reinforcement-learning policy trained in simulation and running on-device, no cloud.

by Antoine Pirrone

FULL CAD BOM FIRMWARE DOCS

RoboticsAI

Built withRaspberry Pi3D printing

difficulty
●●●●●
time
several weekends
license
Apache-2.0
repo
repo ACTIVE4,187 stars
1
Jump to section

COMPAREE VERDICT

This is a genuinely impressive robotics project — a miniature BD-X that walks with learned gaits and is fully printable and reproducible — but it sits at the top end of difficulty and cost for home builds. The README targets under 400 dollars; the official BOM totals about 398 euros (about 432 euros with the expression package), before shipping, and the 14 servos are half of that. The mechanical assembly is manageable if you have built articulated prints before, but getting stable walking is the real challenge. Pretrained policies are included; if your duck does not walk well with them, the path forward is the sim2real and MuJoCo Playground training workflow in Python. Google has also shown modified ducks running the Gemma language model on-device on stronger boards, which hints at where the platform can go. If reinforcement learning is new territory, expect a steep learning curve before it walks reliably. The one thing most likely to go wrong: the gap between simulation and the real robot.

GOOD TO KNOW

  • —STL files and a print guide are in the repository; the BOM with vendor links is a Google Sheet, training code is in the Open_Duck_Playground repo, and the step-by-step build guide is on Tnkr (the in-repo assembly guide is incomplete).
  • —The RL policy is trained in MuJoCo simulation and exported as ONNX to run on-device on the onboard Raspberry Pi Zero 2W.
  • —The BOM targets under 400 dollars (the official spreadsheet totals about 398 EUR) — the 14 Feetech STS3215 7.4 V servos are the biggest line at roughly 196 EUR.
  • —The main repository is Apache-2.0; the runtime and training repos have no license file, so ask the author before commercial reuse of that code.
  • —Active development; last push January 2026. Runtime and training code live in the companion repos Open_Duck_Mini_Runtime and Open_Duck_Playground.
  • —Pretrained walking policies are included; the README links a sim2real guide if you want to train your own.

Parts to buy

8 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • 14× Feetech STS3215 7.4 V servos~196 EURFind
  • Raspberry Pi Zero 2WFind
  • Waveshare bus servo adapterFind
  • BNO055 IMUFind
  • BearingsFind
  • M3 heat-set inserts and screwsFind
  • Optional cameraFind
  • Speaker and microphone for the expression featuresFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

PrintBody, legs, head, feet and expression parts: about 36 different STL files from the print/ folder, all in standard PLA at 15% infill except the foot soles in TPU. The BOM estimates about 500 g of filament.
Buy14× Feetech STS3215 7.4 V servos (~196 EUR), Raspberry Pi Zero 2W, Waveshare bus servo adapter, BNO055 IMU, two 18650 cells with a 2S BMS and 5 V regulator, bearings, M3 heat-set inserts and screws, optional camera, speaker and microphone for the expression features
Tools3D printer that can also print TPU (for the feet), soldering iron and basic electronics tools, hex drivers, multimeter, Linux machine if you want to train your own policies
SkillsAdvanced — comfortable with Python, basic RL concepts, servo calibration, Linux command line, and mechanical assembly of articulated robots
TimeAssembly alone is a weekend, but policy tuning and testing will add several more days unless pretrained weights work first try
CostAbout 400-450 dollars — the official BOM totals roughly 398 EUR, with the 14 servos at about half of that; shipping and spare parts push it higher.
SafetyLithium battery if you add portable power; servos can pinch but torque is low. No mains voltage, no high-energy hazards.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

OpenDuck Mini Part 2 Installation Guide – RDK X5 (Step-by-Step Walkthrough)

Community walkthrough by Frank Fu (part 2 of a series) using an RDK X5 board instead of the reference Raspberry Pi Zero 2W. For the official build, use the Tnkr guide linked from the README; the Discord helps with questions.

More builds like this

All projects

Gallery

opengraph.githubassets.com
radar.comparee.ai
img.youtube.com

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the main README and the assembly guide (The README links to detailed assembly instructions and the BOM spreadsheet.)
  2. 2.Source the Feetech servos and Raspberry Pi Zero 2W(The 14 Feetech STS3215 servos are the single biggest cost (about 196 euros in the BOM) — buy the 7.4 V version, also sold as 19 kg.cm.)
  3. 3.Print the parts and assemble the body(Configure each servo first, then follow the assembly guide and the Tnkr guide; print tolerances matter for gait stability, so calibrate your printer first.)
  4. 4.Flash the Pi, install dependencies, and test servo communication(The runtime repo (Open_Duck_Mini_Runtime) covers setting up the Raspberry Pi Zero 2W and talking to the Feetech servos through the Waveshare bus servo adapter.)
  5. 5.Load the pretrained policy or train your own(Pretrained weights are provided; if you modify the hardware or want custom gaits, follow the MuJoCo training guide.)

KNOWN ISSUES

  • The under-400-dollar target is the BOM sum of single parts (about 398 euros). Several parts only come in bulk packs, and shipping is extra, so plan for a higher real total.
  • Sim-to-real transfer is sensitive: the pretrained policy may not walk stably if your prints shrink differently or servos are not calibrated to the same zero positions.
  • The Feetech serial-bus servos need a bus servo adapter (the BOM uses the Waveshare Bus Servo Adapter A) — they cannot be driven like ordinary PWM hobby servos.
  • The repositories assume you are comfortable with Python and the command line; the main repo describes itself as a working repo with many undocumented scripts, and there is no GUI or one-click installer.
  • Reinforcement learning tuning is a research skill — if the gait does not transfer, debugging requires understanding PPO reward shaping and domain randomization, not just tweaking config files.
  • The in-repo assembly guide is marked incomplete, so expect to cross-reference it with the Tnkr guide, the Onshape CAD and the Discord.

Can I use cheaper servos?

Not directly — the motor model, torque curves, and Feetech STS3215 bus protocol are baked into the design and the trained policy. Switching to analogue servos would require a full mechanical and software redesign.

Do I have to train the walking policy myself?

No, pretrained weights are included and work on the reference hardware. You only retrain if you modify the design or want different gaits.

Will it work without the Raspberry Pi 5?

Yes — the reference build walks on a Raspberry Pi Zero 2W. Only the on-device Gemma language model demo needs more compute, such as a Pi 5.

Is there a kit or can I buy a pre-assembled one?

The author does not sell one; the project is meant to be sourced, printed and assembled yourself. Some third-party shops sell kits and even pre-assembled ducks, but we have not checked their quality.

How long does the battery last?

The BOM specifies two 18650 cells in a 2S pack with a BMS (the author uses 3000 mAh, 30 A cells). Run time depends on gait speed and load, so buy the strongest cells you can.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

More than 4,000 stars and a walking policy trained in MuJoCo simulation — how tight were your print tolerances when the policy finally transferred to hardware?

CompareeTEAM2mo agoedited

Practical notes from our verification: the repository was last updated in January 2026, it has v1 and v2 branches, and pretrained walking policies are committed as ONNX files (BEST_WALK_ONNX.onnx, BEST_WALK_ONNX_2.onnx). The official BOM lists 14 Feetech STS3215 serial bus servos, a Raspberry Pi Zero 2W, a Waveshare bus servo adapter, a BNO055 IMU and two 18650 cells, with supplier links mostly to Amazon France (servos from Alibaba), and it totals about 398 euros before shipping. The mechanical CAD is a public Onshape document, so tweaking dimensions means copying it and editing there. The in-repo assembly guide is marked incomplete, but the README now points to a full build guide on Tnkr and to an active Discord where builders help each other. Correction (4 October 2026): we re-checked this page line by line against the project's repositories and documentation, and fixed errors in earlier versions.

Antoine Pirrone

Antoine Pirrone started Open Duck Mini as an open, miniature take on Disney's BDX droid, sponsored by Hugging Face and Pollen Robotics. The duck later appeared at Google I/O 2026, where Google showed modified ducks running the Gemma model on-device.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.