MeshCore Ninja
← All firmwares

MeshCore (Official)

Official

The official MeshCore firmware — a lightweight C++ library and firmware for multi-hop packet routing over LoRa radios. It powers decentralized, self-healing mesh networks for off-grid, emergency and tactical communication, with prebuilt images and a web flasher.

Maintainers
meshcore-dev ↗· Scott Powell· ripplebiz ↗
Status
active
Maturity
stable
Lifecycle
active
Latest version
1.16.0
Released
2026-06-06
Runtime
Arduino · C++
Distribution
official
License
MIT

Capabilities

Transports

  • BLE
  • USB serial
  • Native TCP
  • Wi-Fi AP

Operations

  • Web flasher
  • OTA updates
  • BLE DFU
  • Config backup

Networking

  • Repeater
  • Room server
  • Observer
  • MQTT
  • KISS modem

Hardware

  • GPS
  • Display
  • Sensors
  • Low-power RX

Protocol

  • MeshCore compatible
  • Raw packet send
  • Raw packet observe

Node roles

companionrepeaterroom-serversensor

Features

  • Multi-hop packet routing
  • End-to-end encrypted DMs
  • BLE / USB / TCP companion clients
  • Web, iOS, Android, Python & NodeJS clients
  • Native flood-advert traffic management (1.16+)
  • Web-based flasher

Releases

updated 2026-06-21
  1. v1.16.0 # Latest 3 variants 15 days ago · 2026-06-06 15:55 UTC
    companion companion-v1.16.0 View ↗
    repeater repeater-v1.16.0 View ↗
    room server room-server-v1.16.0 View ↗

    Download

    Latest firmwares are in the flasher.meshcore.io

    Change Log

    New Features

    • New CLI config var ‘flood.max.unscoped’ #2661
    • New CLI config var ‘flood.max.advert’ #2702
    • longer preamble now for lower SF. (32 for SF<=8, 16 for SF>8) #1954
    • app/companion can now do anon_req/response with non-contact nodes #2672
    • companion auto-shutdown, disabled when on external power, new UI warning on display #2663
    • new ‘region def …’ CLI command #2540
    • extended ACK support #2594
    • app/companion can now compose and send raw packets #2543
    • companion can now override default scope to explicit unscoped #2492

    Enhancements

    • All ESP repeaters, power saving improvements #1687
    • nRF companions, power saving #2286

    New device support

    • NEW: LilyGo T-Echo Card support #2517
    • NEW: LilyGo T-Impulse Plus support #2522
    • NEW: Station G3 support #2515
    • NEW: Heltec Mesh Node T1 support #2520
    • new Xiao S3 variants (repeater, companion, etc) #2383

    Bug fixes and Other

    • RP2040 target build fixes. #2684
    • companion protocol max frame size increase (now 176) #2022
    • RAK Wismesh Tag fixes #2664
    • Bug fix: repeater neighbor discovery fail when path.hash.mode != 0
    • RAK4631, now using Bosch driver for BME680 sensor #2634
    • enable radio.rxgain CLI command for LR1110 (T1000e) #2235
    • default flood advert interval now 47 hours (was 12) #2608
    • Client repeat (off-grid) EU freq change (from 869.0 to 869.495) #2604
    • CLI validation on rxdelay, txdelay and direct.txdelay #2443
    • Heltec T096, sensor node support #2576
    • Heltec E290 USB companion fix #2562
    • WiFi companion, reconnect logic redesigned for non-blocking #2493
    • RAM usage reduced for older boards #2497
    • nRF variants, CustomLFS lib upgrade to v2.2 #2519
    • T-Echo Lite, fixes to RXEN, TXEN and TCXO #2511
    • KISS modem frame timeout fixes #2490
    • sensor manager redesign #2327
    • startup tune suppressed if sound pref off #2460
    • added KISS Modem variants for most boards #2620 #2432
    • Adafruit nRF BLE fork, to prevent lockup during rapid connect/disconnect #2430
    • RAK3401 companion, analog button support #2436
    • Heltec boards, LNA disabled by default #2439
    • new splash screens #2424
    • Sensecap Solar Tx LED fix #2157
    • new repeater variant: Heltec V4 expansion kit #2326
    • new T-Echo Lite non-shell companion variants #2503 #2353
    • T-Echo Lite, battery measure fix #2287
    • RAK4631, sx1262 reset pin fix #2008
    • Heltec T096, Wireless Tracker: FEM/LNA enable by default #2340
    • R1 Neo, shutdown fix #2371
    • Heltec V4, set adc.multiplier support #2335

    Limiting Unscoped Traffic

    The new flood.max.unscoped CLI config variable is specifically for limiting unscoped flood traffic. Like flood.max, it drops unscoped flood packets which have already had a given number of hops. By default it is 64, which is essentially off.

    Limiting Advert Traffic

    The new flood.max.advert CLI config variable is specifically for limiting adverts. Like flood.max, it drops advert packets which have already had a given number of hops. By default it is 8.

    New Preamble

    When using the lower Spreading Factors, the radio has less time to lock onto an incoming packet, so this change gives the faster SF’s a longer preamble, and thus decreasing the chance of the preamble being missed. For SF <= 8, the preamble is now 32 symbols.

    Improved Region Discovery in Mobile App

    The new companion firmware, and latest app, will be able to do ad-hoc requests to near by repeaters without having to add them to contacts first. This will streamline both repeater discovery, and region discovery.

    New region def Command

    Defining regions via the CLI is currently quite verbose, and the latest CLI handling introduces a new region def... command which has a short-hand notation for defining regions, especially ones which have deep nesting.

    See the CLI Command Reference for more details.

    Extended ACK Support

    The latest firmwares introduce support for ‘extended ACKs’, which are 6 bytes instead of 4. The extra bytes contain an extended attempt number, and additional random byte. This is in preparation for a later app feature which will enable much more than 4 attempts for direct messages. For now, repeaters will have to be updated first.

    Companion Raw Packets

    The latest companion firmwares now enable apps to compose the full packet, ie. headers, path and payload. This can correspond with the existing RxLog ability, so app can do its own raw send and receive of packets.

  2. v1.15.0 # 3 variants 2 months ago · 2026-04-19 06:48 UTC
    companion companion-v1.15.0 View ↗
    repeater repeater-v1.15.0 View ↗
    room server room-server-v1.15.0 View ↗

    Download

    Latest firmwares are in the flasher.meshcore.io

    Change Log

    • Default Scope support
    • Support for New GROUP_DATA (binary) packets #1928 #2130
    • Heltec V4.3 support #1867
    • Heltec nRF Tracker (T096) support #2097
    • GAT562 Mesh EVB Pro repeater and room server support #2042
    • Radio rxgain now ON by default #2124
    • Radio freq range now supported down to 150Mhz #2126
    • GPS pref peristence fix #2018
    • New get|set dutycycle CLI command #1961
    • Muzi Works R1 Neo support #2007
    • GAT562 Watch support #2138 #2228
    • BME680 sensor init fix #2227
    • Heltec Wireless Paper battery read fix #2164
    • WiFi companion fixes for Heltec V4,TBeam 1W #1833
    • Waveshare RP2040: RXEN fix #2298
    • nRF companion, support for OTA updates #2323
    • Added companion for Heltec Wireless Paper #2315
    • Misc #2134 #2190 #1425 #2075 #2302 #2306
    • Xiao C3 bootloop fix #2328

    Documentation Links

    For info on the new Default Scope feature, please see this article.

    For low level format of the GROUP_DATA packets, please see this docs link.

  3. v1.14.1 # 3 variants 3 months ago · 2026-03-20 03:53 UTC
    companion companion-v1.14.1 View ↗
    repeater repeater-v1.14.1 View ↗
    room server room-server-v1.14.1 View ↗

    change log: Added GPS support for SenseCAP Solar P1 in #1589 Power off switch long press support for SenseCAP Solar P1 #1871 Added nRF52 power management for RAK3401 in #1984 Added token bucket based duty cycle enforcement in #1297 Added support for new GAT562 30S Mesh Kit device in #2009 Added support for new GAT562 Mesh Tracker Pro device in #1980 Added LNA toggle CLI commands radio.rxgain on and radio.rxgain off in #1653 Added MCU temperature to telemetry responses from room servers in #2052 Migrated Heltec Tracker v2 to KCT8103L in #1936 Nodes with GPS enabled will now auto sync time every 30 minutes in #1350 Fixed bug where some queued packets would not get transmit in #1877 Fixed bug where automatic adverts were not using the configured multibyte path setting in fcfdc5f

Show all 7 releases →

Device compatibility (92)

✓ 92 Supported
DeviceMCURadioStatusNotes
Ebyte EoRa-S3-XXXTB Radioesp32-s3Semtech SX1262✓ Supported
GAT-IoT GAT562 30snrf52Semtech SX1262✓ Supported
GAT-IoT GAT562 Mesh EVB Pronrf52Semtech SX1262✓ Supported
GAT-IoT GAT562 Trackernrf52Unknown✓ Supported
GAT-IoT GAT562 Mesh Tracker Pronrf52Semtech SX1262✓ Supported
GAT-IoT GAT562 Mesh Watch13nrf52Semtech SX1262✓ Supported
Generic E22 SX126xesp32Semtech SX1262, Semtech SX1268✓ Supported
Generic ESP-NOWesp32-c3Unknown✓ Supported
Heltec CT62esp32-c3Semtech SX1262✓ Supported
Heltec Vision Master E213esp32-s3Semtech SX1262✓ Supported
Heltec Vision Master E290esp32-s3Semtech SX1262✓ Supported
Heltec MeshSolar / MeshTowernrf52Unknown✓ Supported
Heltec T096nrf52840Semtech SX1262✓ Supported
Heltec Mesh Node T1nrf52Semtech SX1262✓ Supported
Heltec T114nrf52840Semtech SX1262✓ Supported
Heltec T190esp32-s3Semtech SX1262✓ Supported
Heltec Wireless Tracker v3esp32-s3Semtech SX1262✓ Supported
Heltec Wireless Tracker v2esp32-s3Semtech SX1262✓ Supported
Heltec V2esp32Semtech SX1276✓ Supported
Heltec V3esp32-s3Semtech SX1262✓ Supported
Heltec WSL3esp32-s3Semtech SX1262✓ Supported
Heltec V4esp32-s3Semtech SX1262✓ Supported
Heltec V4 + Expansion Kit (Touch)esp32-s3Semtech SX1262✓ Supported
Heltec Wireless Paperesp32-s3Semtech SX1262✓ Supported
Ikoka Handheld nRFnrf52Semtech SX1262✓ Supported
Ikoka Nanonrf52840Semtech SX1262✓ Supported
Ikoka Sticknrf52Semtech SX1262✓ Supported
Keepteen LT1nrf52840Semtech SX1262✓ Supported
LilyGo T3 S3 (SX126x)esp32-s3Semtech SX1262✓ Supported
LilyGo T3 S3 (SX127x)esp32-s3Semtech SX1276✓ Supported
LilyGo T-Impulse Plusnrf52Semtech SX1262✓ Supported
LilyGo T-Beam 1Wesp32-s3Semtech SX1262✓ Supported
LilyGo T-Beam (SX1262)esp32Semtech SX1262✓ Supported
LilyGo T-Beam 1.2 (SX1276)esp32Semtech SX1276✓ Supported
LilyGo T-Beam Supreme (SX1262)esp32-s3Semtech SX1262✓ Supported
LilyGo T-Deck (community)esp32-s3Semtech SX1262✓ Supported
LilyGo T-Deckesp32-s3Semtech SX1262✓ Supported
LilyGo T-Echonrf52840Semtech SX1262✓ Supported
LilyGo T-Echo Cardnrf52840Semtech SX1262✓ Supported
LilyGo T-Echo Litenrf52840Semtech SX1262✓ Supported
LilyGo T-ETH Eliteesp32-s3Semtech SX1262✓ Supported
LilyGo T-LoRa C6esp32-c6Semtech SX1262✓ Supported
LilyGo LoRa32 V2.1_1.6esp32Semtech SX1276✓ Supported
M5Stack Unit C6Lesp32-c6Semtech SX1262✓ Supported
Heltec MeshPocketnrf52840Semtech SX1262✓ Supported
MeshAdventureresp32Semtech SX1262, Semtech SX1268✓ Supported
Meshtinynrf52Semtech SX1262✓ Supported
MinewSemi ME25LS01nrf52Semtech LR1110✓ Supported
Muzi Works R1 Neonrf52Semtech SX1262✓ Supported
UnitEng Nano G2 Ultranrf52840Unknown✓ Supported
Nibble Screen Connectesp32-s3Semtech SX1262✓ Supported
ProMicro nrf52 (faketec)nrf52Unknown✓ Supported
RAK 11310rp2040Semtech SX1262✓ Supported
RAK WisBlock 3112esp32-s3Semtech SX1262✓ Supported
RAK WisMesh 1W Booster (3401 + 13302)nrf52Semtech SX1262✓ Supported
RAK 3x72stm32wlST STM32WL (integrated LoRa)✓ Supported
RAK WisBlock / WisMesh (RAK 4631)nrf52840Semtech SX1262✓ Supported
RAK WisMesh Tagnrf52840Semtech SX1262✓ Supported
RPI Pico 2040 + WaveShare SX1262rp2040Semtech SX1262✓ Supported
Seeed Studio SenseCAP Indicator ESP-NOWesp32-s3Semtech SX1262✓ Supported
Seeed Studio SenseCAP Solar Node P1nrf52840Semtech SX1262✓ Supported
Seeed Studio SenseCAP Solar Node P1-Pronrf52840Semtech SX1262✓ Supported
UnitEng Station G2esp32-s3Semtech SX1262✓ Supported
UnitEng Station G3 ESP32esp32-s3Semtech SX1262✓ Supported
Seeed Studio SenseCAP T1000-Enrf52840Semtech LR1110✓ Supported
Tenstar C3esp32-c3Semtech SX1262, Semtech SX1268✓ Supported
Elecrow ThinkNode M1nrf52840Semtech SX1262✓ Supported
Elecrow ThinkNode M2 Miniesp32-s3Semtech SX1262✓ Supported
Elecrow ThinkNode M3nrf52840Semtech LR1110✓ Supported
Elecrow ThinkNode M5esp32-s3Semtech SX1262✓ Supported
Elecrow ThinkNode M6nrf52840Semtech SX1262✓ Supported
Tiny Relaystm32wlST STM32WL (integrated LoRa)✓ Supported
μArt.cz Solar Node Stationnrf52840Semtech SX1262✓ Supported
Waveshare RP2040-LoRarp2040Semtech SX1262✓ Supported
Seeed Studio Wio-E5 Dev Boardstm32wlST STM32WL (integrated LoRa)✓ Supported
Seeed Studio Wio-E5 ministm32wlST STM32WL (integrated LoRa)✓ Supported
Seeed Studio Wio Tracker L1nrf52840Semtech SX1262✓ Supported
Seeed Studio Wio Tracker L1 Pronrf52840Semtech SX1262✓ Supported
Seeed Studio Wio Tracker L1 E-inknrf52840Semtech SX1262✓ Supported
Wio WM1110nrf52840Semtech LR1110✓ Supported
Seeed Studio Xiao C3esp32-c3Semtech SX1262✓ Supported
Seeed Studio Xiao C6esp32-c6Semtech SX1262✓ Supported
Seeed Studio Xiao nRF52 WIOnrf52840Unknown✓ Supported
Seeed Studio XIAO RP2040rp2040Semtech SX1262✓ Supported
Seeed Studio XIAO ESP32S3esp32-s3Semtech SX1262✓ Supported
Seeed Studio Xiao S3 WIOesp32-s3Semtech SX1262✓ Supported
LilyGo T-Deck Proesp32-s3Unknown✓ Supported
LilyGo T5 E-Paper S3 Pro (H752-XX)esp32-s3Semtech SX1262✓ Supported
LilyGo T-Display Proesp32Unknown✓ Supported
LilyGo T-Lora Pageresp32-s3Semtech SX1262✓ Supported
LilyGo T-Watch S3 Plusesp32-s3Semtech SX1262✓ Supported
LilyGo T-Watch S3esp32-s3Semtech SX1262✓ Supported