afterware
Saved
1/4
Hardware · build

DuckBuddy, an open-source walking robot duck

Original

A small open-source robot duck built on Pollen Robotics' Microduck, with 15 Feetech HL-2915 servos, custom HAT and power boards, and an Orange Pi Zero 3W running offline voice, vision and behavior.

Build sheet
Device page
Microduck →
Base
Pollen Microduck
Controller
Orange Pi Zero 3W
Servos
15 × Feetech HL-2915
Software
Rust + Python services
Can I build this?Expert · AI 2/5 · $700–1,200
Difficulty
Expert
AI-buildability
2/5

The project needs custom PCBs, 3D printing, servo bus wiring and a fitted battery system, so AI can help with the software but not most of the physical work.

Time
A few months
Cost
$700–1,200
Tools
3D printersoldering ironST-Link programmerRust toolchainPython 3
Starter prompt

Based on "DuckBuddy, an open-source walking robot duck" on Afterware: https://afterware.xyz/p/duckbuddy-an-open-source-walking-robot-duck

Write a Python service for an Orange Pi Zero 3W that listens to a USB microphone, runs offline speech recognition (for example SenseVoice), and sends short JSON commands over a local Unix socket to a motion controller. Include a simple state machine with idle, listening and responding states, and a persona config file for name and voice lines. Keep the servo control code separate so it can be swapped for a different robot.

Estimates based on the original write-up. Building with an AI assistant? Connect it to Afterware (free MCP server).

Story

DuckBuddy starts from Pollen Robotics' open Microduck walking robot and replaces most of its core. The servos are Feetech HL-2915 units, so the locomotion policy was retrained for them. The head uses an Orange Pi Zero 3W instead of the original Radxa board, and the team designed their own HAT and power/IMU boards for audio, the servo bus and 3S battery power.

Software is split into services that run on the robot. A 50 Hz Rust control loop runs an ONNX policy and handles fall, temperature and battery protection. A Python "life layer" manages needs, mood and attention, and decides when the duck looks, speaks or rests. Voice is recognized offline, and a dual microphone is used to turn the head toward sounds.

The project is open with a README that lists hardware, software, verified platforms and a development timeline. The persona is kept in a JSON file, so the same code can run a different character.

Resources · 3
More like this
More like this