MeshCore Firmware Variants Explained
MeshCore is distributed as several distinct firmware variants, each designed for a specific role in the mesh. Choosing the correct variant is essential - running the wrong firmware type wastes resources and can degrade network performance.
The Firmware Variants
Companion (COMPANION)
The Companion firmware is for user-facing nodes. It is the firmware that end-users run on their personal devices to send and receive messages via the MeshCore mobile app.
- Primary function: Sends and receives direct messages and channel (group) messages. Maintains a contact list. Connects
via BLE, USB serial, or WiFito the MeshCore mobileapp.app over BLE or USB serial (and, on Wi-Fi-capable boards, over a Wi-Fi/TCP connection). - Sub-variants: There are two companion firmware builds - BLE
(Bluetooth Low Energy), USB,Companion andWiFiUSB Serial Companion. Wi-Fi is an additional connectionmodes aremode availabledependingonhardwarecapablecapability.boards (e.g. a Heltec V3), not a separate companion firmware build. - When to use: Personal handheld nodes, base station nodes used for human communication, any node that a person interacts with via the MeshCore app.
- Firmware file example:
(or the correspondingrak4631_companion.Heltec_v3_companion_radio_ble-v1.7.1-165fb33.bin..._companion_radio_usb-...build; RAK4631 nRF52840 boards ship a.uf2,companion build)tbeam_companion.bin
Repeater (REPEATER)
The Repeater firmware turns a node into a dedicated packet relay. It has no user interface and no messaging capability of its own.
- Primary function: Receives MeshCore packets and re-transmits them. Forwards packets to extend network reach.
- Resource profile: Minimal. No display driver, no BLE advertising for user connections (only for CLI access), no message store. Designed
toforrunlong-runningindefinitelyoperation ona smallbattery orsolar.solar when power is sized for worst-case conditions. - When to use: Any node whose sole purpose is extending mesh coverage - hilltop repeaters, building relay nodes, infrastructure backbone nodes.
- When NOT to use: Do not flash Repeater on a node you plan to use as a personal communicator. It has no user-facing messaging.
- Firmware file example:
(RAK4631 nRF52840 boards ship arak4631_repeater.Heltec_v3_repeater-v1.7.1-165fb33.bin.uf2,repeater build)tbeam_repeater.bin
Room Server (ROOM_SERVER)
The Room Server firmware creates a store-and-forward message hub. Room servers act as persistent group chat rooms accessible via LoRa.
- Primary function: Stores incoming messages and delivers them to nodes that connect later (offline delivery). Acts as a central hub for group communication.
- When to use: Fixed infrastructure nodes serving as community message hubs - in a building, on a hilltop tower, or at an event site where persistent message history is needed.
- Firmware file example:
(RAK4631 nRF52840 boards ship arak4631_roomserver.Heltec_v3_room_server-v1.7.1-165fb33.bin.uf2,room_server build)tbeam_roomserver.bin
Sensor (SENSOR)
The Sensor firmware is for nodes that collect and transmit environmental or telemetry data.
- Primary function: Reads sensor data (temperature, humidity, GPS, etc.) and transmits it to the mesh network.
- When to use: Unattended monitoring nodes - weather stations, asset trackers, environmental sensors.
- Hardware support: Primarily nRF52840-based boards (RAK4631, T114) due to their low power consumption and hardware sensor interfaces.
- Firmware file example: RAK4631 nRF52840 boards ship a
sensor build (other boards follow therak4631_sensor..uf2{board}_sensor-vX.Y.Z-{hash}.binpattern)
Summary Table
| Firmware | User Messaging | Packet Relay | Message Store | Sensor Data |
|---|---|---|---|---|
| Companion | Yes | No | Local only | No |
| Repeater | No | Yes | No | No |
| Room Server | No | Optional | Yes (network-wide) | No |
| Sensor | No | No | No | Yes |
Source: MeshCore official documentation and firmware repository at github.com/meshcore-dev/MeshCore