Analysis updated 2026-06-24
Build a Dummy Youth Edition robot arm from the 3D-printed parts and PCB gerbers in the repo
Flash the REF firmware to drive six closed-loop stepper joints over CAN bus
Use the inverse kinematics code with custom DH parameters to control your own arm geometry
Reuse the redesigned XDrive-based closed-loop stepper driver for an unrelated motion project
| peng-zhihui/dummy-robot | acidanthera/opencorepkg | glfw/glfw | |
|---|---|---|---|
| Stars | 14,954 | 14,972 | 14,995 |
| Language | C | C | C |
| Setup difficulty | hard | hard | moderate |
| Complexity | 5/5 | 5/5 | 4/5 |
| Audience | researcher | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
This is a hobby build dump, not a kit. You need to fabricate four PCBs, 3D print parts, source motors, and flash firmware before any joint moves, and most docs are in Chinese.
Dummy-Robot is the author's personal project for a very small smart robotic arm, with the README written mostly in Chinese. It links to a Bilibili and YouTube video that introduce the arm in action. The repository is not a polished kit, it is the design dump of a hobby build, including 3D models, PCB designs, firmware source, an upper computer application called DummyStudio, and the design files for a portable carrying case. The README explains that the original arm in the video is expensive to reproduce because it uses CNC machined aluminium parts and a Harmonic-brand strain wave reducer that the author bought second hand for around 600 yuan per joint. To make the project cheaper to replicate, a Dummy Youth Edition is being prepared that switches to 3D-printed parts, replaces the strain wave reducer with a cycloidal pin-wheel reducer the author designed, and aims for a total hardware cost under 2000 yuan. Software between the two versions will be the same. Four PCBs make up the electronics: the REF core board, the REF base board inside the arm, the stepper motor driver, and a separate teach pendant called Peak which lives in another repository as a submodule. The stepper driver is a redesigned closed-loop driver based on the open-source XDrive project, rewritten in C++11 and given CAN bus and UART protocols, simulated EEPROM storage, and bidirectional zero return. Pre-built binaries are provided. The REF firmware is organised into board support drivers, third-party libraries such as the U8G2 display library, FreeRTOS, ARM CMSIS drivers, the core robot algorithms, and a user application layer. A DummyRobot class needs the CAN node IDs of each motor, gearbox ratios, motion limits, and the arm's DH parameters, the standard table used to describe robot geometry. A clever zeroing trick uses the motor current loop to push joints gently against their mechanical limits, then refines the zero point with the single-turn absolute encoder. The last sections cover a Unity3D upper-computer application that is not open source yet, DH-based inverse kinematics that picks the joint configuration requiring the smallest movement, trapezoidal speed planning, and CAN synchronisation by broadcast ID. Three command modes are listed: sequential for pick-and-place, real time for motion sync, and a planned 200Hz trajectory tracking mode for 3D printing or drawing.
Design dump for a small 6-axis hobby robot arm with 3D models, four PCBs, closed-loop stepper firmware, FreeRTOS application code, and a Unity teach pendant app.
Mainly C. The stack also includes C, C++, FreeRTOS.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.