Noureddine RAMDI / Inside Poppy Humanoid: an open-source 3D-printed humanoid robot platform with Python control

Created Sat, 23 May 2026 20:41:14 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

poppy-project/poppy-humanoid

Poppy Humanoid is a rare example of a fully open-source, 3D-printed humanoid robot designed not just for hobbyists but as a research and educational platform. The combination of a Raspberry Pi single-board computer, 25 Robotis Dynamixel actuators, and a Python software stack controlled through Jupyter Notebooks offers a hands-on robotics experience without relying on proprietary hardware or software ecosystems.

What Poppy Humanoid is and how it works

At its core, Poppy Humanoid is a 3D-printed robot designed and developed at Inria’s Flowers laboratory. This project targets embodied cognition and sensorimotor learning research, providing a physical platform that can be assembled, controlled, and experimented with openly.

The hardware design is modular and fully open-source, with all STL files and CAD sources available under a permissive Creative Commons BY-SA license. The robot itself stands out with 25 Robotis Dynamixel servo motors that actuate its joints. These servos are known for their integrated position control and daisy-chainable communication, which simplifies wiring and control compared to traditional hobby servos.

To run the robot, a Raspberry Pi 3 or 4 acts as the main controller. The team provides a custom system image that can be flashed directly to an SD card, streamlining the setup. Alternatively, the software tools can run on a separate computer connected to the motors via USB2Dynamixel or USB2AX adapters.

The software stack is distributed as a Python package named poppy-humanoid, installable via pip. Control of the robot is done primarily through Jupyter Notebooks, which serve as interactive experiments where users can send commands to the robot, visualize sensor data, and program behaviors. The use of Jupyter Notebooks lowers the barrier for researchers and students who might not be robotics experts but want to experiment with embodied AI.

Assembly of the robot requires around 7 hours for someone experienced, reflecting a moderate level of mechanical complexity. The total cost hovers around $8,000–9,000, with the Dynamixel motors accounting for roughly 60% of that. This makes it an accessible but still serious research platform, not a cheap hobbyist toy.

Technical strengths and design tradeoffs

One of the main technical strengths of Poppy Humanoid is its integration of open-source 3D-printed hardware with a software stack that is both Pythonic and notebook-friendly. This design choice directly supports rapid experimentation and education, enabling users to focus on robotics research questions rather than low-level firmware or complex architecture.

The choice of Dynamixel servos is pragmatic: they provide reliable, position-controlled actuation with feedback and can be chained on a single bus, reducing wiring complexity. However, these servos represent a significant cost factor. The tradeoff here is clear: to gain robustness and ease of control, you pay a premium on hardware.

Using a Raspberry Pi as the main controller provides a good balance between computational power and accessibility. The custom system image means users don’t have to piece together dependencies or drivers manually, improving developer experience (DX). However, using a Raspberry Pi for real-time motor control can be limiting compared to dedicated real-time microcontrollers, which might impact latency-sensitive applications.

The software is cleanly packaged as a Python module, which means it can be integrated into larger Python projects or used standalone in notebooks. The decision to use Jupyter Notebooks as the primary interface is interesting — it favors exploration and visualization over rigid command-line tools or GUIs. This suits research use cases well but might be less ideal for production or embedded deployments.

From the repository’s perspective, the codebase appears well-structured around the hardware abstraction provided by the poppy-humanoid package, which handles motor control, sensor feedback, and kinematics. This abstraction helps isolate hardware complexity from high-level experimentation.

Limitations include the assembly time and cost, which put it out of reach for casual hobbyists. The reliance on Raspberry Pi and Dynamixel hardware also means this is not a light or ultra-portable solution. Additionally, the software ecosystem hinges heavily on Python and Jupyter, which might not match all developers’ preferences or integration needs.

Quick start with Poppy Humanoid

The project provides clear installation paths:

Install a Poppy board

Poppy Humanoid is designed to work with Raspberry Pi 3 or 4. The developers provide a custom system image that can be flashed directly to the SD card or MMC. This image bundles all necessary drivers and software, simplifying setup. If you purchase a kit from a reseller, the SD card may already come pre-installed.

Install the software tools locally

You can also connect Poppy Humanoid’s motors directly to your own computer using a USB2Dynamixel or USB2AX adapter, bypassing the Raspberry Pi.

To install the software, simply run:

pip install poppy-humanoid

For more detailed instructions and advanced usage, the official poppy documentation is the best resource.

Verdict

Poppy Humanoid is a solid open-source platform that balances hardware and software openness with practical robotics research needs. Its biggest appeal is in education and embodied cognition research, where having a physical humanoid robot controllable via Python and Jupyter Notebooks can accelerate experimentation.

The tradeoff is cost and assembly complexity — it’s not a plug-and-play toy but a serious platform requiring commitment. The reliance on Dynamixel servos and Raspberry Pi aligns well with robustness and accessibility but may limit real-time control precision and portability.

If you’re a robotics researcher, educator, or advanced hobbyist interested in humanoid robot control and sensorimotor learning, Poppy Humanoid offers a well-documented, open-source solution. For those looking for lower-cost or lighter-weight platforms, other projects might be more suitable.

Overall, the project demonstrates how open hardware combined with Pythonic control interfaces can open doors for robotics exploration without locking you into proprietary stacks or complex middleware.


→ GitHub Repo: poppy-project/poppy-humanoid ⭐ 967 · Jupyter Notebook