Standalone PlatformIO project using MeshCore as a library. Features: - Heltec LoRa32 V3 support (ESP32-S3 + SX1262) - OLED display integration - OTA firmware updates via WiFi - Serial CLI for configuration Uses symlinked MeshCore library from ../MeshCore
1.4 KiB
1.4 KiB
Building the Firmware
Prerequisites
- PlatformIO (CLI or IDE)
- MeshCore library at
../MeshCore
Build Commands
# Full build
pio run
# Clean build (removes all artifacts)
pio run -t clean && pio run
# Verbose build (shows compiler commands)
pio run -v
Build Output
After a successful build:
RAM: 17.6% (57KB / 320KB)
Flash: 32.0% (1.0MB / 3.3MB)
Output files in .pio/build/heltec_v3_repeater/:
| File | Size | Purpose |
|---|---|---|
firmware.bin |
~1.1 MB | OTA updates |
firmware.elf |
~2.5 MB | Debugging |
firmware.factory.bin |
~1.2 MB | Initial flash (includes bootloader) |
Build Configuration
Key settings in platformio.ini:
LoRa Parameters
-D LORA_FREQ=910.525 # Frequency in MHz
-D LORA_BW=62.5 # Bandwidth in kHz
-D LORA_SF=7 # Spreading factor (7-12)
-D LORA_CR=5 # Coding rate (5-8)
-D LORA_TX_POWER=22 # TX power in dBm
Debug Options
Uncomment to enable:
; -D MESH_PACKET_LOGGING=1 # Log all mesh packets
; -D MESH_DEBUG=1 # Verbose debug output
Troubleshooting
Missing MeshCore
Error: symlink://../MeshCore not found
Ensure MeshCore exists at the expected path:
ls ../MeshCore/library.json
Library Dependency Errors
Clear the library cache:
rm -rf .pio/libdeps
pio run