Firmware for the M1 NFC/RFID multi-protocol device, built on STM32H5.
The M1 firmware provides support for:
- NFC (13.56 MHz)
- LF RFID (125 kHz)
- Sub-GHz (315–915 MHz)
- Infrared (IR transmit/receive)
- Bluetooth (BLE scan, advertise, GATT; via ESP32 co-processor)
- WiFi (AP scan, station/AP modes; via ESP32 co-processor)
- Battery monitoring
- Display (ST7586s ERC240160)
- USB (CDC, MSC)
- MCU: STM32H573VIT6 (32-bit, 2MB Flash, 100LQFP)
- Hardware revision: 2.x
See HARDWARE.md for more details.
- Build Tool (mbt) – Build with STM32CubeIDE or VS Code
- Architecture – Project structure
- Development – Development guidelines
See documentation/mbt.md for full build instructions (STM32CubeIDE and VS Code setup, extensions, and optional post-build CRC).
- STM32CubeIDE 1.17+ (recommended), or
- VS Code with ARM GCC 14.2, CMake Tools, Cortex-Debug, and Ninja, or
- Linux with ARM GCC toolchain and Ninja
Linux:
makeOutput: ./artifacts/ (MonstaTek_M1_v0800.elf, .bin, .hex)
STM32CubeIDE:
Open the project and build in the IDE.
VS Code:
- Configure the project (e.g.
gcc-14_2_build-releaseorgcc-14_2_build-debug) - Build via the Build icon
Output: ./out/build/gcc-14_2_build-release (VS Code) or ./Release (STM32CubeIDE)
Contributions are welcome. See CONTRIBUTING.md and the Code of Conduct.
See LICENSE for details.