XM10 Documentation¶
📢 This repository has moved (2026-08-26)
The project now lives at
AGR-AIFT/phai-x1-xm10-release. New documentation site: https://agr-aift.github.io/phai-x1-xm10-release/If you bookmarked the old address (
AGR-EXO/Extension_Module), please update it. If you already cloned the code, just update the remote — no need to clone again:
git remote set-url origin https://github.com/AGR-AIFT/phai-x1-xm10-release.git
This is the complete documentation index for XM10. If you are just getting started, read from top to bottom in order.
🧭 Looking for something? — For quick keyword search, check find-it.md: a single page that maps common keywords to the right documentation page.
Getting Started Flow¶
Environment Setup ──► First Build ──► Learn with Examples ──► Write Your Own Code with the API
│
└──► Stuck? Troubleshooting / find-it.md
1. Getting Started — Environment Setup¶
Start here if this is your first time.
| Step | Document | Description |
|---|---|---|
| 00 | Get Started with Claude Code | AI-guided setup (fastest path) |
| 01 | Hardware Setup | Connect KIT H10, ST-Link, and sensor hubs |
| 02 | Development Environment Setup | Install STM32CubeIDE, clone the repository |
| 03 | First Build & Run | Import the project, build, and upload firmware |
| 04 | Get Data on Your PC | The xm10 tool — graphs, lossless recording, CSV. Try demo first, no board required |
| 05 | Save Data to a USB Memory Stick | 🟢 Rev 2.0 only — How to save a struct to a USB memory stick |
2. Tutorials — Step-by-Step Learning with 48 Examples¶
Each example follows a consistent 5-step structure: Goal → Prerequisites → Key Code → Experiment → Next Steps. Introductory examples are designed to be completable in under 30 minutes.
| Part | Topic | Examples |
|---|---|---|
| 0 | Board verification | Ex.00 |
| 1 | Basic I/O (LED, button, external IO) | Ex.01–06 |
| 2 | USB communication · USB memory logging (Ex.10, 34 and 44 are 🟢 Rev 2.0 only) | Ex.07–10, 34, 44 |
| 3 | KIT H10 exoskeleton basic modes | Ex.11–13 |
| 4 | Control algorithm fundamentals + debugging | Ex.14–19 |
| 5 | Advanced control algorithms (Hogan, HZD, CPG, etc.) | Ex.20–25 |
| 6 | Learning & adaptive control (ILC, MRAC, etc.) | Ex.26–30 |
| 7 | Physical AI applications | Ex.31–33, 35–36 |
| 8 | RTOS utilities + Sensor Hub + serial link to outside devices | Ex.38–43 |
The IMU Hub and EMG Hub are modules under internal development. To use them, please contact us at https://huphailab.com/contact.
Full learning path and recommended order: Tutorials README
3. API Reference — Function Reference¶
Keep this open while writing your algorithms. You do not need to read it all at once.
| Document | Description |
|---|---|
| Task State Machine | State machine — separating behavior by state |
| KIT H10 Control & Data | Read exoskeleton sensor data + send torque/position commands |
| LED & Button | Board LED control, button input |
| External IO | GPIO and ADC pin control |
| USB Serial Communication | Send messages and data to a PC |
| USB Memory Logging | Save a struct to a USB memory stick 🟢 Rev 2.0 only |
| Memory Regions | Fast memory and non-volatile storage |
| Real-Time Clock | Read and write date/time |
| Auxiliary Tasks + Data Sharing | Tasks separate from the 1 kHz control loop + safe data sharing |
| Struct Logging | Send a struct to the PC with field names, units and types 🟢 Rev 2.0 only |
4. Hardware — Board External Interfaces & Pinmap¶
What connectors and peripherals are available on the board and where to plug things in. The external GPIO pinmap is a page you will refer to often — it is split by board revision (Rev 1.1 / Rev 2.0).
5. KIT H10 Firmware — H10 Firmware & Contents¶
The XM firmware version and the KIT H10 firmware version must match for correct operation. Come here when an update is needed.
6. Architecture — System Overview¶
Where and how your code runs — reading this once at the start gives you the big picture.
7. Bootloader — Firmware Upload Methods¶
Two upload methods: direct ST-Link SWD upload and PhAI Studio USB upload, plus automatic bootloader rollback.
8. Advanced Topics — Self-Directed Learning Paths¶
Recommended example paths by area of interest: control, AI, data analysis, transparent mode, and more.
9. Troubleshooting — When You're Stuck¶
Common issues covering build errors, USB connection problems, communication failures, and more.
Additional Resources¶
- 🧭 find-it.md — Quick keyword-to-page lookup
- Examples — Source code for all 48 examples (each folder includes a 5-step README)
- PC Data Tool xm10 — Graphs, lossless recording, CSV export (code lives in pc-data-tool/)
- Release Notes — Per-version attachments and compatibility matrix
- Changelog — Summary of changes by version
- XM10 SDK — Rev1.1 / Rev2.0 SDK projects