This repository has been archived on 2026-08-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
donglora/firmware
swaits 82701c183b refactor: extract hal/ and driver/ modules
- Created hal/esp32s3.rs with MCU primitives (SPI, I2C, USB, UART, timer, MAC)
- Created hal/nrf52840.rs with shared nRF boilerplate (interrupts, bus wrapping, VBUS, MAC)
- Moved SH1106 OLED driver from display/ to driver/ (clear separation from app code)
- Board esp32s3.rs now delegates MCU init to hal, keeps only peripheral wiring (RadioParts)
- nRF board files use hal for shared StaticCell patterns, mac_address, interrupt bindings
- Board files still own pin assignments and peripheral construction
2026-04-07 09:38:56 -06:00
..
2026-04-06 22:30:45 -06:00
2026-04-06 21:15:35 -06:00
2026-04-03 10:28:38 -06:00
2026-04-06 21:15:35 -06:00
2026-04-06 21:15:35 -06:00
2026-04-06 22:30:45 -06:00
2026-04-07 08:18:28 -06:00
2026-04-06 21:15:35 -06:00
2026-04-03 10:28:38 -06:00
2026-04-03 10:28:38 -06:00
2026-04-07 08:18:28 -06:00

DongLoRa Firmware

Embedded Rust firmware for DongLoRa boards. Exposes the LoRa radio over USB CDC-ACM using a COBS-framed binary protocol.

Building

just setup              # one-time toolchain install
just build heltec_v4    # build for a specific board
just flash heltec_v4    # build + flash
just check-all          # compile-check all boards
just clippy heltec_v4   # lint
just test               # host-side protocol unit tests

All commands are run from the firmware/ directory.

Supported Boards

Board MCU Radio Target
Heltec V3 ESP32-S3 SX1262 xtensa-esp32s3-none-elf
Heltec V4 ESP32-S3 SX1262 xtensa-esp32s3-none-elf
RAK WisBlock 4631 nRF52840 SX1262 thumbv7em-none-eabihf

Adding a Board

See src/board/PORTING.md.

Protocol

See PROTOCOL.md for the complete wire format specification.