Fashionstar Atom S: 10‑DOF Biped Robot
1. Overview
- Project Name: Fashionstar Atom S 10‑DOF Open Source Robot Kit
- Summary: A fully open‑source 10‑DOF humanoid robot designed to be a low‑cost, highly playable hardware platform for enthusiasts. Powered by 10 Fashionstar RA8‑U25H‑M bus servos and an extremely simple electronics stack so you can focus on creativity.
- System Architecture: Bus servos + RUC‑01 interface board (power/communication) + Seeed Studio XIAO controller (optional Grove expansion) + 3D‑printed chassis.
- DOF Layout: 10 DOF covering head, arms and legs.
- Joint Actuators: Fashionstar RA8‑U25H‑M bus servos × 10 (bus communication, clean wiring).
- Frame: Fully 3D‑printed with STP/STL provided. Damaged parts can be re‑printed at any time, or you can redesign the look as needed.
- Control & I/O: USB Type‑C (PC debugging), UART (host comm), bus‑servo ports, Grove expansion (optional).
Tip
👉 Want to run Python AI? Use Raspberry Pi. 👉 Want IoT control? Use ESP32. 👉 Want low‑level control? Use STM32 or Arduino.
2. Hardware Architecture
2.1 Drive & Power Management (RUC‑01 Interface Board)
Acts as the power/communication hub handling bus management and power distribution:
- Servo Bus: 4 bus‑servo ports on board (support daisy‑chain), carrying both signal and power.
- PC Debug Port: Integrated USB Type‑C for direct connection to the PC motion editor.
- System Power: Voltage conversion and stable supply for the controller board.
- Communication: Standard UART to receive commands from the upper controller.
2.2 Logic Controller & Expansion (MCU + Grove Shield)
Acts as the “brain”, running control algorithms and processing sensors:
- Core MCU: Seeed Studio XIAO series boards — compact yet capable.
- Ecosystem: Grove expansion shield exposing rich general‑purpose ports.
- Main Role: Run robot kinematics and connect sensors (ultrasonic, vision, voice, etc.) via Grove for advanced interaction.
2.3 Data Flow
Debug/Editor Mode
PC --(USB)--> RUC‑01 --(Bus)--> Servos
Note: Tune servo angles and save motion groups directly from PC, without the XIAO controller.
Autonomous Mode
Sensors/Remote --(signals)--> XIAO --(UART cmds)--> RUC‑01 --(Bus)--> Servos
Note: The XIAO controls the robot autonomously based on sensors or preloaded code.
3. Mechanical Structure
- Structure overview and default servo IDs
- Default posture at 0‑degree for all servos
4. Motion Editor How‑To
Web Motion Editor: https://wiki.fashionrobo.com/uartbasic/robotstudiopro/
4.1 Editor Layout
Three modules:
- Serial connect/disconnect and traffic monitor
- Servo status/angle query and angle control
- Motion group editing, optimization, import/export
4.2 Controls
4.2.1 Connect / Disconnect Serial
4.2.2 Real‑Time Posture Page
- Layout: Drag each servo widget on the canvas to roughly place robot parts; IDs correspond accordingly. Click to lock the layout.
- Scan: Re‑scan all online servos.
- Check: Detect abnormal states such as over/under‑voltage protection or stall.
- Read Once: Read current servo angles once.
- Status Colors: Green = angle‑control mode; Red = released/damping mode.
Angle control via drag:
- Real‑time Read: Read servo angle continuously.
- Speed: Limit rotation speed when dragging to avoid moving too fast.
- Unlock Modes: Release servos for easier teaching — power‑off release / damping release.
4.2.3 Motion Group Page
- Motion Groups: Unlimited user‑defined groups.
- Add Group
- Check Abnormalities (over/under‑voltage, stall)
- Delete Group (keep at least one)
- Motion Verification: Validate added motions.
- Loop Playback
- Stop Playback
- Reorder Motions: Drag to change order.
- Time: Duration for a servo to reach the target angle (e.g., 2 s).
- Interval: Wait time between motions.
- Delete Motion
- Run Motion
- Add Current Motion
- Export Motion Group: Export servo data for controllers.
- Import Motion Group: Import an existing group for edits.
4.3 From Editing to Offline Motions (Example: Seeed Studio XIAO ESP32S3 Sense)
- 1. Click “Connect” to open the serial port.
- 2. Select the target serial port.
- 3. Scan all servos on the robot.
- 4. Click “Release All” to free all servos for manual posing. For partial edits (e.g., arms or legs), unlock only the needed servos.
- 5. Set “Time” and “Interval”.
- 6. After finishing each motion, click “Add Current” to append it to the group.
- 7. Play to verify the whole sequence.
Note: Each motion can be adjusted individually (angles, time, interval) and validated.
- Click “Export (JSON)” to export the motion group.
- Open the exported JSON and copy the content of
frames(including the surrounding[]).
- Replace
jsonDatain your program with the copied content, then build/flash to the controller. You can control the robot via a Bluetooth gamepad (see the “Robot Control Parameters” section).
5. Robot Control Parameters (adjust as needed)
5.1 Default Parameters
BAUDRATE: UART baud rate.SERVO_NUM: Total number of servos.
5.2 Bluetooth Parameters (if used)
BLE_NAME: Bluetooth gamepad name.BLE_UUID: Bluetooth gamepad UUID.
5.3 Web Remote Parameters (if used)
SERVICE_UUID: Service ID.CHARACTERSTIC_UUID: Characteristic ID.
5.4 Teaching Mode Parameters
MAX_ACTIONNUM: Max number of motion groups in teaching mode.Default_RobotRunSpeed_Demonstration: Default run speed.MIN_RobotRunSpeed_Demonstration: Minimum run speed.MAX_RobotRunSpeed_Demonstration: Maximum run speed.Adjust_RobotRunSpeed_Step: Speed step when adjusting teaching‑mode speed (±200 each time).
5.5 Data Fields (customize as needed)
RemoteControl_DefaultDemoAction: Default demo action (exported from the editor).RemoteControl_Exe: Teaching‑mode execute command.RemoteControl_Record: Teaching‑mode record command.RemoteControl_Damping: Damping‑mode command.RemoteControl_Reset: Reset command.RemoteControl_ReduceRunSpeed: Decrease teaching‑mode run speed.RemoteControl_AddRunSpeed: Increase teaching‑mode run speed.
Bluetooth note: Actual button data depends on your controller; define buttons in code per your needs.






























