XM10 Extension Module SDK v2.3.1¶
Release date: 2026-07-18 | Target HW: Rev 1.1 / Rev 2.0 | KIT H10 FW: v2.3.0+
At a Glance¶
A patch release focused on boot/communication stability and SDK usability. No new examples or APIs.
- More stable boot with the GRF (plantar-pressure) sensor module attached — mitigates the repeated reboots that could occur when powering on with the module plugged in. Dropped samples were also eliminated.
- Numerous stability improvements across control, communication, and storage — CAN-FD error recovery, USB cable detach/reattach, and log/settings storage.
- Extract the ZIP, import into CubeIDE, build — fixed packaging defects (a missing header path and missing build scripts) that made the build fail right after import, and cleaned the build up to 0 errors / 0 warnings.
- Version reporting stabilized — fixed an issue where building the ZIP project rewrote the firmware version to 1.0.0.0. The release version (2.3.1) is now always preserved.
⚠️ Behavior Change — Hip Torque Units¶
XM.status.h10.leftHipTorque / rightHipTorque now carry joint torque in Nm instead of motor current in A.
- If your code converted the value with
× 0.085 × 18.75, remove that conversion and use the field directly. - Ex.31 (Friction DOB) / Ex.34 (Gait Log) are updated accordingly in this release.
Removed API¶
XM_GetUserPSRAM() / XM_GetUserPSRAMSize() have been removed from the public API. For large buffers, use XM_GetUserWorkspace() (200KB) — see 07. Memory Regions.
Download¶
| File | Target board |
|---|---|
| Rev1.1.zip | XM10 Rev 1.1 (early development board) |
| Rev2.0.zip | XM10 Rev 2.0 (latest board — includes Ethernet / RTC) |
Download the ZIP matching your board revision. An RJ45 Ethernet port means Rev 2.0; no RJ45 means Rev 1.1.
Release Attachments¶
The bootloader, KIT H10 firmware, and contents files are identical to v2.3.0 — for convenience, the same files are also attached to the v2.3.1 release (
AGR_Bootloader.bin/SUIT_H10_Binary_20260716.zip/SUIT_ContentsFiles.zip). If you already installed/updated with v2.3.0, no further action is needed.
Prerequisites (now documented)¶
The build's final step (creating the upload .bin) uses Python. If you haven't installed it yet, follow Software Setup and install Python 3.10+ (must be on PATH).
Details¶
- GRF sensor-module boot stability — mitigates the repeated reboots that happened when powering on with the module attached (the root cause is in the board's power circuitry).
- GRF data reception — dropped samples eliminated.
- CAN-FD stability — the bus now recovers on its own from error states.
- USB stability — improved cable detach/reattach handling, and data with a wrong length is rejected.
- Storage — log and settings storage is more reliable.
- Control safety — safer input configuration in the limit-switch example (Ex.06), and stricter checks on sensor data and RTC time-setting values.
- Project cleanup — removed unused duplicate build configurations and an unused-variable warning. CubeIDE build = 0 errors / 0 warnings.
Compatibility¶
| Item | Impact |
|---|---|
User code (Control_Setup / Control_Loop) |
Mostly unchanged — but see ⚠️ above if you converted leftHipTorque/rightHipTorque yourself |
XM_GetUserPSRAM family |
Removed — replace with XM_GetUserWorkspace() |
| Other API signatures | No change |
| KIT H10 firmware · contents files | Same as v2.3.0 — no update needed |
| Bootloader | v1.1.0 unchanged — no reinstall needed |
| User data (USB storage logs, etc.) | No change — data format compatible |