MCompass Firmware & Compilation
How to Get Firmware
If you don’t plan to modify the source code, you can directly download the pre-compiled binary files (Firmware).
1. Download from GitHub Actions (Recommended)
This project is configured with GitHub Actions for automatic compilation. This way, you can always get the firmware corresponding to the latest code:
- Go to the Actions page of the GitHub project.
- Find the most recent successful “Build Firmware Workflow” record.
- In the Artifacts section at the bottom of the page, select the corresponding
.binfile according to your needs:
| Filename Keyword | Description |
|---|---|
| GPS | Version with GPS module installed |
| LITE | Standard version (No GPS or GPS shielded) |
| BLE | Bluetooth mode enabled by default |
| WIFI | WiFi mode enabled by default (Web Dashboard) |
2. Manual Compilation
This project is managed using PlatformIO:
- Firmware: Based on the Arduino framework, dependency libraries have been fully migrated to the local
libfolder. - Web Resources (Web Server): The WiFi mode backend is developed using Next.js.
- Enter the
Serverfolder, runnpm iandnpm run build. - Copy the generated
outdirectory contents to thedatafolder of the firmware. - Use
Firmware/assets/compass_web_data.pyto compress resources to reduce Flash occupancy.
- Enter the
Flashing Guide
1. Using Official Tool (PC)
Download Flash Download Tool:
- Chip Selection: ESP32-C3
- DownLoad Mode: USB
- File Selection: Load the downloaded
.binfile to address 0x0. - Parameters: SPI SPEED: 40MHz, SPI MODE: DIO.
- Note: The firmware has merged
bootloaderandpartition table, so you only need to flash to 0x0.
2. Using Mobile Phone (Android)
If you don’t have a computer nearby, you can use ESPFlash, developed by the author, to flash directly via mobile phone USB:
Disclaimer
- Copyright: Minecraft pixel assets used in this project are copyrighted by Microsoft/Mojang. The panel file of this project serves only as a pixel distribution diagram and does not provide original compass textures.
- Commercial Use Prohibited: The “Standard Galactic Alphabet” font used on the back of the PCB is copyrighted by the original author. For any commercial activities, be sure to delete the silkscreen text on the back.
MCompass Firmware & Compilation

