Darwin Mini by Robotis
A pocket-sized humanoid, programmed from your browser
The ROBOTIS MINI (Darwin Mini) is a small humanoid with 16 Dynamixel XL-320 servos and an OpenCM9.04 controller. Flash Synthiam's firmware onto the controller and ARCx lets you pose it, animate it, give it a voice and program it with Blockly, JavaScript or Python.
How the Darwin Mini works with Synthiam. Synthiam does not connect directly to the XL-320 servos. It connects to the robot's controller, the OpenCM9.04, and the controller talks to the servos. Flash the OpenCM9.04 with the Synthiam firmware from the OpenCM 9.04 page, then connect from ARCx with the Ezb Connection and Dynamixel Servo Driver skills, or from ARC with the EZB Connection and Dynamixel skills. We recommend ARCx over USB.
What is the Darwin Mini?
The ROBOTIS MINI, often called the Darwin Mini, is a small humanoid robot from ROBOTIS. It moves with 16 ROBOTIS XL-320 Dynamixel servos, uses an OpenCM9.04 (32-bit ARM) controller board as its brain, and has a mostly 3D-printable frame, so you can repair or customize parts.
Out of the box it runs ROBOTIS's own software. With Synthiam firmware on its OpenCM9.04, it becomes a Synthiam robot: every servo is available to Auto Position, Servo Animation, scripts, speech and AI robot skills.
Darwin Mini at a glance
| Type | Small humanoid robot kit |
|---|---|
| Maker | ROBOTIS (sold as ROBOTIS MINI) |
| Servos | 16 × Dynamixel XL-320 |
| Controller | OpenCM9.04 (32-bit ARM Cortex-M3) |
| Connection to Synthiam | USB, or Bluetooth after a firmware change |
| Frame | Mostly 3D-printable |
| Synthiam uses it for | Humanoid poses, dances, voice, scripting and AI |
| Website | ROBOTIS store |
What you can do with a Darwin Mini in Synthiam
Poses and dances
Capture poses by hand in Auto Position and lay out dances in Servo Animation.
Walking
Build gaits as Auto Position actions and drive the robot with a joystick through the Auto Position movement panel.
Voice and AI
Speech recognition and text to speech run on the computer, so a voice command or an AI conversation can end in a wave or a bow.
Classroom friendly
Students snap Blockly blocks together to make the robot move, then graduate to JavaScript or Python, from a browser on any device.
Connect the Darwin Mini to ARCx
- Identify the controller. Your Darwin Mini uses the ROBOTIS OpenCM9.04 controller.
- Install the Synthiam firmware on the OpenCM9.04. The board must be flashed before Synthiam can talk to it. Download the firmware and follow the instructions on the OpenCM 9.04 page.
-
Connect by USB, the most reliable choice for a first setup. In ARCx, open the Ezb Connection configuration,
set Baud rate to
921600for EZB 0 on the Connection tab, save, pick the robot's serial port and connect. -
Add the Dynamixel Servo Driver. On the Bus tab choose EZB 0, Hardware UART 0 (the OpenCM9.04's own XL-type connectors) and the servos' baud rate;
XL-320 servos ship at
1000000. Press Scan bus on the Tools tab: the 16 servos should answer. - Map the servos. Add a row per servo on the Servos tab with its ID, the XL-320 model and a virtual port (V1, V2...). Tick Invert for mirrored left/right joints.
- Test one joint, then the whole robot. Press Initialize, move one servo from the Servo skill, then build a standing pose in Auto Position.
Using ARC? Connect with the EZB Connection skill at 921,600 baud, then add the Dynamixel skill on UART 0.
USB or Bluetooth?
USB (recommended for beginners)
- The most reliable connection for flashing and troubleshooting.
- No pairing required.
- The best choice if this is your first time programming the board.
- Works with ARCx and ARC.
Bluetooth (optional)
- Connect without a USB cable.
- Requires the Bluetooth module to be enabled in the firmware.
- Pair the robot with your computer first, like pairing headphones; it then appears as a serial (COM) port.
- Proven in ARC. ARCx may work through the paired COM port, but this has not been tested.
Enable Bluetooth in the firmware
To connect by Bluetooth, enable the Bluetooth serial port in the Arduino .ino source code before flashing the OpenCM9.04.
Find the communication settings and change them to the Bluetooth serial port:
#define _BAUD_RATE 9600
#define COMMUNICATION_PORT Serial2
Then:
- Save the file.
- Compile and upload the updated firmware to the OpenCM9.04, using the instructions on the OpenCM 9.04 page.
- Pair Bluetooth on your computer; the robot appears as a serial/COM port.
- Select that Bluetooth COM port when connecting, with the baud rate set to
9600.
Important: only change these settings if your Darwin Mini has a working Bluetooth module installed. If you are not sure, start with USB to confirm everything works.
The baud rate (9600) must match on both sides, firmware and connection settings. If you change it in the code later, reconnect with the same new rate.
_BAUD_RATE (921600 for USB) and COMMUNICATION_PORT (Serial for USB).Both work; ARCx is recommended
| ARCx Recommended | ARC | |
|---|---|---|
| Runs on | Windows 10/11 x64, Ubuntu 24.04 x64 and ARM64, including Raspberry Pi 4/5 | Windows |
| User interface | Any web browser, several people at once; great for a classroom | Windows desktop application |
| USB connection | Yes, 921,600 baud | Yes, 921,600 baud |
| Bluetooth connection | Not yet tested (may work through the paired COM port) | Yes, 9600 baud with the firmware change |
| Dynamixel skill | Dynamixel Servo Driver, UART 0 | Dynamixel, UART 0 |
When something does not work
Serial and 921600.
Serial2, that the baud rate is the same in the firmware and the connection settings (9600), and that you picked the Bluetooth COM port.
Confirm the robot works over USB first.
Frequently asked questions
Teach your Darwin Mini new moves
Flash the OpenCM9.04, install ARCx, and pose, animate and program your humanoid from any web browser.
