XM10 Extension Module SDK v2.2.1¶
Release date: 2026-05-19 | Target HW: Rev 1.1 / Rev 2.0 | KIT H10 FW: v2.3.0+
At a Glance¶
This is a patch release that fixes a problem where the downloaded SDK failed with 22 "undefined reference" errors on a STM32CubeIDE clean build. The root cause was missing source files for certain modules during the library build step.
- Rev 2.0 SDK: replaced with a new
libXM_Lib.a. A clean build now links without errors. - Rev 1.1 SDK: two pieces that were missing from the SDK — one function and one setting — were filled in (no effect on your code).
- Board revision comparison docs improved — it was never clearly stated anywhere that building with the wrong ZIP causes the built-in button/LED pins to be off by one.
Existing user code continues to work as-is. No API or behavioral changes; build environment is unchanged. If you were building successfully with v2.2.0, you do not need to upgrade. If your build was failing, re-download using this ZIP.
Download¶
| File | Target board |
|---|---|
| Rev1.1.zip | XM10 Rev 1.1 (early development board) |
| Rev2.0.zip | XM10 Rev 2.0 (latest board with Ethernet / PSRAM / RTC) |
Extracting the archive produces a single folder. That folder is both the STM32CubeIDE import root and the Claude Code working directory.
Download the ZIP that matches your board revision. If the label is unclear, a quick visual check works: if the board has an RJ45 Ethernet port it is Rev 2.0; if not, it is Rev 1.1. Building with the wrong Rev's ZIP will compile successfully but the MCU pin mapping for the built-in button/LED will be off by one. For a detailed comparison, see docs/hardware/README.md — Board Revision Comparison.
Release Assets¶
The bootloader, KIT H10 firmware, and contents files are identical to v2.2.0. If you already downloaded and installed them from v2.2.0, you do not need to re-download them here. Only download the assets below if you are starting fresh from v2.2.1.
| File | Description |
|---|---|
AGR_Bootloader.bin |
XM10 bootloader (v1.1.0). Flash once to 0x08000000. Skip if the bootloader is already installed on your board. |
SUIT_FW_ContentsFiles_20260518.zip/SUIT_CM_APP_X_X_X.bin |
KIT H10 CM firmware. Must be updated directly via USB-C storage. |
SUIT_FW_ContentsFiles_20260518.zip/SUIT_SAM10_APP_X_X_X.bin |
KIT H10 MD (SAM10) firmware. |
SUIT_FW_ContentsFiles_20260518.zip/SUIT_ESP32_FW_X_X_X.bin |
KIT H10 ESP32 firmware. |
SUIT_FW_ContentsFiles_20260518.zip/SUIT_ContentsFiles.zip |
KIT H10 contents files. Replace the entire folder directly on the SD card. |
For detailed update instructions, see docs/kit-h10-firmware/.
Tools¶
| Tool | Link |
|---|---|
| PhAI Studio (real-time data monitoring, data collection) | studio.onephai.com |
| STM32CubeProgrammer (initial bootloader installation) | st.com |
| STM32CubeIDE (firmware development IDE) | st.com |
Changes¶
1. Fixed 22 build errors in the Rev 2.0 SDK¶
Fixed a problem where performing a clean build in STM32CubeIDE immediately after downloading produced 22 link errors of the following form:
The SDK has been updated with a new libXM_Lib.a and the corresponding source files, and a clean build now links without errors.
2. Stability improvements for the Rev 1.1 SDK¶
Rev 1.1 itself had no link failures, but a small issue was addressed: some functions and settings used by the library were missing from the SDK. Your code is not affected.
3. Improved board revision comparison documentation¶
Fixed a broken link that was the entry point for identifying your board revision, and filled in the previously empty comparison table.
docs/hardware/README.md— added per-revision MCU pin columns to the built-in button table; filled in the comparison table body (RJ45 / channel LEDs / PSRAM / button pins / ZIP mapping)examples/README.md— added a note describing the symptoms when using a ZIP for the wrong board revisiondocs/api-reference/03-led-btn-control.md— added a Rev mismatch entry to the "Common Mistakes" tabledocs/troubleshooting.md— new section "Board Revision / SDK ZIP Mismatch" (symptoms, pin table, diagnostic code, resolution steps)README.md/CLAUDE.md/docs/find-it.md— replaced broken architecture comparison table links with unified links to the newhardware/READMEcomparison table
Compatibility¶
| Item | Impact |
|---|---|
User code (Control_Setup / Loop) |
No change — v2.2.0 code builds as-is |
| API signatures | No change — no header modifications |
| KIT H10 firmware | Stays at v2.3.0 — no accompanying firmware update required |
| User data (USB storage logs, etc.) | No change — data format is compatible |
If you were building successfully with v2.2.0, there is no need to move to v2.2.1 (only internal library consistency was improved). If your build was failing, re-download using this ZIP.