Skip to main content

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 WiFi to the MeshCore mobile app.
  • Sub-variants: BLE (Bluetooth Low Energy), USB, and WiFi connection modes are available depending on hardware capability.
  • 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: rak4631_companion.uf2, 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 to run indefinitely on a small battery or solar.
  • 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_repeater.uf2, 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_roomserver.uf2, 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_sensor.uf2

Summary Table

FirmwareUser MessagingPacket RelayMessage StoreSensor Data
CompanionYesNoLocal onlyNo
RepeaterNoYesNoNo
Room ServerNoOptionalYes (network-wide)No
SensorNoNoNoYes

Source: MeshCore official documentation and firmware repository at github.com/meshcore-dev/MeshCore