In the 2000s, humanoid robots were a hot topic in Japan. Contests were held, and manufacturers released kits. However, this trend has faded in the 2010s. Despite the incredible innovation, the casual developer population is not growing.
There are issues with the development tools. Most of the kits provide dedicated tools for creating motion sequences, similar to stop-motion animations. Conversely, support for programming languages is not sufficient for beginners.
Meanwhile, M5Stack has become a popular platform within the Maker community and is used as a robot controller in many projects.
Among them, Stack-chan — the palm-sized communication robot created by Shinya Ishikawa — is very popular. Her (His?) facial expressions are super cute, and she (he?) has inspired many derivative works.
This project proposes a humanoid controller unit inspired by Stack-chan. When placed on top of a humanoid's body, Stack-chan becomes its brain.
All hardware and software are open source. I hope this will spark interest in humanoid robots within the Maker community.
System Overview- M5Stack Core2 (Basic and CoreS3 will be supported as well)
- KONDO KXR-L2 humanoid robot (I hope support to other robots as well)
- Ni-MH battery (KONDO 6N-800mAh)
- PWM servo SG90 (for neck turn and neck tilt)
- Custom PCBs (to be described later)
- Custom mechanical parts (to be described later)
- Board design tool : KiCad 9.0
- Bridge board designs (KiCad data, schematic and parts list) are here.
- Distribution boards designs (KiCad data, schematic and parts list) are here.
- Mixed-design panelization of both boards (KiCad and Gerber data) are here.
- Mechanical parts of the robot's head are 3D printed.
- These designs are based on the original Stack-chan's parts.
- 3D CAD Tool : Autodesk Fusion
- 3D data (STEP and STL) are here.
- The recommended 3D print orientation is as shown above
See also the original Stack-chan's document.
- Mount the Distribution Board onto the KXR-L2 backpack. (M2-6mm * 4pcs)
- Connect the power source and KXR-L2 servos to the Distribution Board.(Replace the genuine controll board RCB-4mini with the Distribution Board.)
- Attach the neck-turn servo to the neck base. (M2-8mm tapping screw)
- Mount the neck base to the KXR-L2 body. (M2.6-10mm * 2pcs)
- Snap both the neck-turn servo and the neck-tilt servo into the neck bracket.
- Mount the skull shell to the neck-tilt servo. (M2-8mm tapping screw)
- Connect the Bridge board and Distribution board with a Grove cable.
- Connect the neck-turn servo and the neck-pitch servo to the Bridge board.(Cut the cables shorter and crimp JST EH conncectors onto them.)
- Mount the bridge board onto the skull shell. (M2-4mm * 4pcs)
- Stack the M5Stack onto the Bridge board.
- Fix the M5Stack onto the skull shell. (M3-15mm * 2pcs, M3-20mm * 2pcs)
- Development Environment : PlatformIO
- Framework : Arduino
- The project files are here.
Currently, there are issues with walking control, causing the robot to fall after taking a few steps. This is because the Stack-chan's head is heavier than the normal KXR-L2's.
Operating with PS4 Controller- The Stack-chan Powerd can be operated with the PS4 controller.
- Some third-party controller may have compatibility issues.
- This project uses the PS4_Controller_Host library.
- Please refer to the README of the above library for pairing instructions.
- The MAC address of the M5Stack is output to USB serial at startup.
- Improve walking control and posture control
- Support gyro sensors and mixing them into servo control
- Support M5Stack Basic and M5Stack CoreS3 > Supported! (2025/08/27)
- Support other types of game controllers and smartphone operating
- Support other types of humanoid robots
- Support other types of serial servos (Dynamixel, Feetech, etc.)
- Develop motion creation tools
- Support ROS
... and many more challenges. The current achievement is just the first step.
Comments