Skip to content

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