Setup Guide · Built on the Shanmao Bot 1 DIY kit · 2026

FLASHDUCK

Build & Usage Guide

The same Shanmao Bot 1 hardware, wearing a different 3D-printed shell. This guide breaks it into three steps: buy the kit → print the parts → follow the video. No soldering, no prior experience needed.

First time? Just follow 01 → 02 → 03 in order.

01 — What you need

Get two things first.
One kit, one shell.

Flashduck needs no new electronics. It uses exactly the servos, control board, camera, speaker and battery from Shanmao Bot 1. All you have to prepare is the kit and the printed shell.

REQUIRED · BUY

Shanmao Bot 1 official DIY kit

The source of every electronic part. Everything below is already in the box — no extra purchases.

  • Shanmao high-performance MG90 clutch servo× 6
  • Shanmao Bot 1 all-in-one control board, 2nd gen (camera-ready)× 1
  • Servo horn pack× 6
  • Screw pack× 1
  • Screwdriver× 1
  • Speaker× 1
  • Rechargeable lithium battery× 1
  • Charging / data cable× 1
  • Free Shanmao Bot 1 shell set× 1
Buy the kit ↗
REQUIRED · PRINT

Flashduck 3D-printed parts

13 part types, 17 pieces in total — head, body, limbs and joints. Print them yourself or use a print service.

  • Back of head× 1
  • Forehead× 1
  • Eye ring× 1
  • Chin× 1
  • Beak× 1
  • Body× 1
  • Thigh× 2
  • Thigh cover× 2
  • Backpack× 1
  • Shin× 2
  • Foot× 2
  • Neck× 1
  • Temple joint× 1
Download 3D models ↗
NOTE
Keep the original Shanmao Bot 1 shell that ships with the kit. If assembly gets stuck you can switch back any time — nothing breaks. Printing a spare or two of the wear-prone parts (beak, feet) never hurts.
02 — Flash & assemble

Follow the video, step by step.

Watch on Bilibili
Flashduck assembly video cover
Open online flasher ↗ 3D models ↗
03 — Inside

What's inside this body.
Six servos, one ESP32-S3.

Every part you touch has a spec. Here's the full hardware list — worth checking before you swap in a third-party part.

MCUESP32-S3 · 16MB flash
Servos6 × Shanmao high-performance MG90 clutch servo
Display1.54″ ST7789 · 240 × 240
CameraOptional · OV2640 / OV3660 / GC2145 auto-detect
AudioI2S microphone + I2S speaker
PowerRechargeable Li-ion · charge status detection
NetworkWi-Fi 2.4GHz
Body13 part types / 17 3D-printed pieces
AssemblyNo soldering · printed parts + screws + horns
SIX SERVOS · SIX DEGREES OF FREEDOM
NeckTurn left / right GPIO7
BeakOpen / close GPIO4
Left legSwing GPIO5
Left footLift GPIO6
Right legSwing GPIO43
Right footLift GPIO44
04 — Two systems

One body, two personalities.
Flash whichever you want.

Flashduck has two completely separate interaction systems. Pick one — they can't run together, and flashing one overwrites the other. The two codebases also carry different licenses.

Voice Edition

SPEECH · CLOUD

  • Say “小鸭小鸭” to wake it, then just talk
  • Ask it to walk, turn, jump, shake its head or open its beak
  • With MCP tools it can check weather, control devices, search
  • Tune the gait in the browser; it stays after a reboot
  • The eye changes with scanning, connecting, idle, listening, speaking

DuckClaw

ON-DEVICE AGENT

  • On-device agent: agent, memory and tool routing all live on the robot
  • It doesn't speak — you talk to it through DingTalk
  • Remembers sessions and long-term context, 22 emotions with relationship growth
  • The model decides all six joint angles and improvises poses
  • No voice interruptions — quiet desktop companionship
NOTE
The Voice firmware is a device-side client — it does not include a cloud LLM. You need a backend: xiaozhi.me for the fastest hosted setup, or the open-source xiaozhi-esp32-server if you want to run ASR / LLM / TTS yourself. DuckClaw doesn't depend on either one; point it at your own model.
05 — AI in the body

It is not a
preset-animation player.

Most desktop robots hard-code their moves: a developer defines “wave = angle A → B → C” and users can only trigger what already exists. Flashduck takes another route — let the AI actually control the body, instead of picking from a list.

Preset animationsFlashduck
New moveEdit code, reflashThe AI composes joint angles at runtime
GranularityOne move = one functionSix joints — splittable, composable, continuous
Source of expressionA fixed move listConversation, mood, context; the Voice build can add vision
How it growsThe developer defines everything firstModel + MCP tools + Skill keep extending it

DuckClaw's Servo Sequences expose all six joint angles straight to the model. It can compose a pose on the spot, chain several into a sequence that was never written in code, and improvise a body language for a mood it just met — treating the angles of legs, feet, neck and beak like “pixels” and assembling an idea out of them.

The basic moves are still there: walk, turn, jump, shake, open beak. Think of them as vocabulary, and Servo Sequences as grammar — the AI can speak with words, or make up a new sentence.

06 — What it is

An AI-hardware foundation.
It just happens to look like a duck.

Voice, vision, display, expressions, motion and tool calling — the components you'd expect in an AI hardware product are all here. The same core can be moved to a different form.

Voicemic + speaker wake · talk · respond Visionoptional camera three modules, auto-detect Display1.54″ screen single-eye expression Motionsix servos legs · feet · neck · beak ComputeESP32-S3 Wi-Fi / BLE / battery AgentMCP toolchain on-device agent
WHAT ELSE IT COULD BECOME

Biped or quadruped robots, desktop companions, education robots, AI voice recorders, desktop assistants, camera-and-expression agents — anything small that needs “voice + vision + screen + motion + tool calling”.

You can take just one layer — the voice pipeline, the vision, the motion, the screen, the agent — or recombine them into your own product. It isn't a sealed product; it's a skeleton that keeps growing.

07 — Open source

All the code is outside.
Change whichever layer you like.

Structure, firmware, toolchain and docs are all public. Each entry below marks a clear place to make changes — you don't have to understand the whole project first.

LICENSE · VOICEMITVoice firmware — use, modify and redistribute freely.
LICENSE · DUCKCLAWCC BY-NC-SA 4.0On-device agent — attribution, non-commercial, share-alike.
Eyefirmware/voice/main/boards/flashduck/flashduck_display.*
New movesfirmware/voice/main/boards/flashduck/flashduck_controller.*
Gaitflashduck_movements.h · or tune in the browser, saved to NVS
PerceptionCamera auto-detects three modules · hook up vision / MCP
ShellAll 13 printed parts are editable · keep servo mounts and link lengths
PlatformMotion and voice APIs are separate · take just the hardware layer
NO CODING NEEDED

The repo ships a dedicated Skill (skills/flashduck-dev/SKILL.md): it checks your environment, installs ESP-IDF, builds, flashes, and edits along the “smallest change layer”. Hand it and one sentence to a coding agent — WorkBuddy, Codex or Claude Code all work.

TRY
“Read skills/flashduck-dev/SKILL.md, check my environment, then add a ‘tilt head and think’ move.”
“Change the wake word to ‘hey duck’, keep the current eye and gait.”
“Add a ‘blink when someone appears’ expression; skip it when no camera is installed.”
GitHub repo ↗ 3D models ↗

More tutorials are on the way

Follow our official WeChat account Shanmao Makes to see new guides and builds first.