Skip to content

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:

undefined reference to `…'
... (22 errors total)

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 revision
  • docs/api-reference/03-led-btn-control.md — added a Rev mismatch entry to the "Common Mistakes" table
  • docs/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 new hardware/README comparison 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.