MeshCore Low-Power
ForkA power-optimised MeshCore firmware with deep sleep, a full companion display UI with multi-transport connectivity (BLE + USB + WiFi in a single build), advanced radio and network controls, a browser-based configuration portal, and battery-life profiling — built for multi-day off-grid operation.
Fork of MeshCore (Reference)
- Maintainer
- dt267 ↗
- Status
- Active
- Maturity
- Beta
- Lifecycle
- Active
- Latest version
- 1.16.dev_0802
- Released
- 2026-08-02
- Runtime
- Arduino · C++
- Distribution
- Community
- Licensing
- Open source
- License
- MIT
Capabilities
Transports
- ✓ BLE
- ✓ USB serial
- ✓ Native TCP
- ✓ Wi-Fi AP
Operations
- ✕ Web flasher
- ✓ OTA updates
Networking
- ✓ Repeater
- ✓ Room server
- ✕ Observer
- ✕ KISS modem
Hardware
- ✓ GPS
- ✓ Display
- ✓ Sensors
- ✓ Low-power RX
Protocol
- ✓ MeshCore compatible
Node role
Features
- Deep power optimisation with idle current profiling
- Unified BLE + USB + WiFi companion build (single binary)
- Browser-based configuration portal (backup, restore, flash, reboot)
- Companion backup/restore (preferences, WiFi credentials, presets)
- Adaptive Rx boosted gain on Heltec V4.2
- GPS constellation selection and runtime GPS update interval
- Low-battery protection and voltage reading
- Native multilingual display on Heltec T096 colour TFT
- KCT8103L FEM auto-detection on Heltec V4.3
Project signals
- GitHub stars
- 57
- Forks
- 1
- Watchers
- 2
- Open issues
- 7
- Contributors
- 1
- Release downloads
- 3,056
- Latest downloads
- 101
- Source available
- Yes
- Releases available
- Yes
- CI builds
- No
Releases
from GitHub · updated 2026-08-02v1.16.dev_0802 # Latest 3 days ago · 2026-08-02 08:16 UTC
v1.16_0802
New: standby mode and GNSS mode selection for a confirmed ATGM336H-6N quick-link GPS module. (Companion, Repeater, Room Server — E213, V3, E290)
Both take effect only once the attached module is confirmed to be an ATGM336H-6N — detected from the module's own hardware-info reply (tested via M5Stack's Unit GPS v1.1); other modules are left alone.
- Standby mode: the quick-link GPS module is externally, continuously powered — the board has no wire to cut its power directly. Turning GPS off (or between fixes, while duty-cycling) now sends the module into its own low-power standby mode instead of leaving it running at full power the whole time.
- GNSS mode selection: the same
GNSS Modesetting already available on V4 and T096 (CLIget/set gps.mode, Companion Portal dropdown, shown read-only on the on-device GPS page) is now available on E213, V3, and E290 too: GPS / GPS+BDS / GPS+BDS+GLONASS+Galileo / GPS+BDS+GLONASS+Galileo+QZSS.
New: GPS-on reminder icon in the header. (Companion — all platforms with GPS)
GPS is easy to turn on and forget about, quietly draining the battery in the background. A small circle-with-center-dot icon now appears in the header whenever GPS is active, positioned just left of the battery icon. Shown on the Home page only on OLED (limited header space); shown on every page on T096 and e-ink, which have more header room.
New:
gps.minsat/gps.hdop— tune how many satellites and how accurate a fix needs to be before GPS reports it as valid. (Companion, Repeater, Room Server — all platforms with GPS)Previously fixed in firmware (minimum 6 satellites, HDOP ≤ 2.0). Now configurable via CLI (
get/set gps.minsat,get/set gps.hdop) and the Companion/Repeater/Room Server portal, so it can be tuned for different sky conditions without a rebuild. Companion's GPS page also now shows current HDOP next to satellite count (sat / hdop).
Heltec V3 GPS wiring: module RX → GPIO47, module TX → GPIO48. Heltec E213 GPS wiring: module RX → GPIO43, module TX → GPIO44. Heltec E290 GPS wiring: module RX → GPIO43, module TX → GPIO44.
New: configurable default channel for Quick Send. (Companion — all platforms)
Quick Send previously always sent to the Public channel. It now targets a configurable channel instead, settable via Qk.Ch. in on-device Settings, CLI (
get/set quick.channel), or a new Default Channel dropdown in the Companion Portal's Quick Send Presets section — and included in portal backup/restore.
Heltec T096 antennas wear out easily with just light usage.
v1.16.dev_0726 # 10 days ago · 2026-07-26 06:36 UTC
v1.16_0726
New: GPS support for Heltec Vision Master E213 via the quick-link UART header. (Companion, Repeater, Room Server — E213)
E213 exposes its native UART0 pins on the board's quick-link connector. Wire any NMEA GPS module's TX/RX there (crossed), with the module connected and powered at boot/reset so the firmware can confirm it's present — GPS then works as usual. Its baud rate doesn't need to be known in advance: it's auto-detected in software on first use, and re-detected automatically if a different module is swapped in while GPS is off.
Fix: a GPS module that stops responding mid-session is now detected. (Companion, Repeater, Room Server — V4, T096, E213)
Previously, if a working GPS module died or was unplugged after startup, the device had no way to notice — the GPS page just kept showing "no fix" forever. It now shows "Lost GPS module" after about a minute of silence while GPS is on, and recovers automatically once the module (or a replacement) starts responding again, no reboot needed.
Fix: Quick Send presets not saved on NRF52 boards. (Companion — T096, RAK4631)
Presets were only ever written/read via an ESP32-only SPIFFS path, so on NRF52 they silently reset to defaults on every reboot. Now uses the cross-platform store, like Saved Locations.
v1.16.dev_0719 # 17 days ago · 2026-07-19 05:04 UTC
v1.16_0719
New: Sensors screen. (Companion — all platforms)
A new Sensors page on the Home screen. Battery shows a 24-hour rolling battery-percentage history as a bar chart, one bar per hour. If an environment sensor is attached, long press cycles through its readings — temperature, humidity, pressure, altitude, voltage, current, power, distance, or gas resistance — as a plain value+unit grid (
°C,hPa,V...). The header shows the sensor's actual name (e.g. "BME280") while viewing its page, and precise Vbat voltage while viewing "Battery". With only one sensor attached, the page title just reads "SENSOR"; with more than one, pages are numbered by detection order ("Sensor 1", "Sensor 2"...) rather than the raw LPP channel number.Message Persist setting now available in the WiFi Companion Portal, and included in backup/restore. (Companion — WiFi transport, V3, V4, E213, E290, Wireless Paper, XIAO S3)
The Message Persist toggle (added in v1.16_0714) was previously only reachable via CLI or the on-device UI. It's now also a checkbox under General Settings in the Companion Portal, and its value round-trips through the portal's Backup/Restore.
Device compatibility (15)
| Device | MCU | Radio | Status | Notes |
|---|---|---|---|---|
| Heltec V3 | esp32-s3 | Semtech SX1262 | ✓ Supported | |
| Heltec WSL3 | esp32-s3 | Semtech SX1262 | ✓ Supported | |
| Heltec V4 | esp32-s3 | Semtech SX1262 | ✓ Supported | |
| Heltec V4 + Expansion Kit (Touch) | esp32-s3 | Semtech SX1262 | ✓ Supported | |
| Heltec Vision Master E213 | esp32-s3 | Semtech SX1262 | ✓ Supported | |
| Heltec Vision Master E290 | esp32-s3 | Semtech SX1262 | ✓ Supported | |
| Heltec Wireless Paper | esp32-s3 | Semtech SX1262 | ✓ Supported | |
| Heltec T096 | nrf52840 | Semtech SX1262 | ✓ Supported | |
| Xiao S3 WIO | esp32-s3 | Semtech SX1262 | ✓ Supported | |
| RAK WisBlock / WisMesh (RAK 4631) | nrf52840 | Semtech SX1262 | ✓ Supported | Uses RAK19003 base board for power profiling. |
| Atlavox M1 | nrf52840 | Semtech SX1262 | ✓ Supported | Uses RAK4631 target; same as rak-4631. |
| Atlavox Beacon Solar | nrf52840 | Semtech SX1262 | ✓ Supported | Uses RAK4631 target; same as rak-4631. |
| RAK WisMesh Repeater Mini | nrf52840 | Semtech SX1262 | ✓ Supported | Uses RAK4631 target; same as rak-4631. |
| Yeti Wurks Base Station | nrf52840 | Semtech SX1262 | ✓ Supported | Uses RAK4631 target; same as rak-4631. |
| μArt.cz Solar Node Station | nrf52840 | Semtech SX1262 | ✓ Supported | Uses RAK4631 target; same as rak-4631. |