Skip to main content

MeshCore Firmware Variants Explained

Accurate as of 13 July 2026. Firmware version numbers below should be checked against the current releases before you rely on them.

MeshCore is distributedbuilt asin several distinct firmware variants,types, each designed for a specific role in the mesh. Choosing the correctright variantone is essential - runningmatters: the wrongroles firmwareare typenot wastes resourcesinterchangeable, and cana degradenode networkflashed performance.as a Repeater cannot be used as a personal messenger.

This page covers node roles. On this page, "variant" always means role. There is a secondsecond, choiceseparate to make:choice: which distribution you flash. Stock MeshCore is one option, and several independent projects (EasySkyMesh, Keymind Cascade, MCLite, WADAMESH, ZephCore) build their own MeshCore firmware with different priorities. See MeshCore Firmware Distributions (Forks and Ports). Pick a distribution first, then a role within it.

The Firmware Variants

Companion (COMPANION)

The Companion firmware is for user-facing nodes. It is thewhat firmware that end-usersyou run on theiryour personal devicesdevice to send and receive messages viathrough the MeshCore mobile app.

  • Primary function: Sends and receives direct messages and channel (group) messages. Maintains a contact list. Connects to the MeshCore mobile app over BLE or USB serial (and, on Wi-Fi-capable boards, over a Wi-Fi/TCP connection).app.
  • Sub-variants:Three builds, not two. There are two companion firmware builds - BLE Companion and USB Serial Companion.Companion are both prebuilt by the official flasher. A Wi-Fi Companion build also exists, but the official flasher does not ship it, because the Wi-Fi isSSID anand additionalpassword connectionare modecompiled availableinto onthe capablebinary. boardsYou (e.g.either build it yourself or take a Heltecprebuilt V3),one notfrom a separatefork (Keymind Cascade prebuilds Wi-Fi companion firmware build.binaries).
  • 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: Heltec_v3_companion_radio_ble-v1.7.1-165fb33.16.0-07a3ca9.bin (or the corresponding ..._companion_radio_usb-... build; RAK4631 nRF52840 boards ship a .uf2 companion build)

Repeater (REPEATER)

The Repeater firmware turns a node into a dedicated packetmesh relay.infrastructure. It has no user interface and no messaging capability of its own.

A MeshCore repeater is not a repeat-everything flood relay. This is the single most common misunderstanding, and it is MeshCore's main architectural difference from other LoRa mesh systems. Upstream's FAQ puts it in bold: a MeshCore repeater "does not forward or retransmit every packet it receives, unlike other LoRa mesh systems."

  • PrimaryHow function:it actually works: Receives MeshCore floods a packet only while it is discovering a route. Once a path is known, packets carry that path, and re-transmitsonly the repeaters named in the path retransmit them. ForwardsSee packetsMeshCore toRouting: extendFlood-First, network reach.Direct-Route-After.
  • ResourceNo profile:Bluetooth. Minimal.You Nocannot displayconnect driver,to noa BLEnode advertising for user connections (only for CLI access), no message store. Designed for long-running operationRepeater onfirmware batteryover Bluetooth. It is administered over USB serial, or solarremotely whenover powerthe is sized for worst-case conditions.air.
  • When to use: Any node whose sole purpose is extending mesh coveragecoverage. - hilltopHilltop repeaters, building relay nodes,relays, infrastructure backbone nodes.
  • When NOT to use: Do not flash Repeater on a node you planintend to use as a personal communicator. It has no user-facing messaging.
  • Firmware file example: Heltec_v3_repeater-v1.7.1-165fb33.16.0-07a3ca9.bin (RAK4631 nRF52840 boards ship a .uf2 repeater build)

Room Server (ROOM_SERVER)

The Room Server firmware creates a store-and-forward message hub.room. RoomIt serversworks actlike asa small BBS or persistent group chat roomsreachable accessible viaover LoRa.

  • Primary function: StoresClients incominglog messagesin to the room and deliverspost themmessages. The server stores the room's posts and pushes recent unseen ones to nodesa client when it next connects, so you can catch up on what you missed while offline.
Scope, precisely: it stores that connectroom's laterposts, (offlineand delivery).it Acts aspushes a centrallimited hubbacklog for(upstream groupcurrently communication.pushes the last 32 unseen posts on login). It is not a network-wide message archive and it does not store other people's direct messages. When to use: Fixed infrastructure nodes serving as a community message hubs -hub, in a building, on a hilltop tower,hilltop, or at an event site where a persistent messagegroup historythread is needed.useful. Firmware file example: Heltec_v3_room_server-v1.7.1-165fb33.16.0-07a3ca9.bin (RAK4631 nRF52840 boards ship a .uf2 room_server build)

GUI builds

For boards with a screen (and, in the SD-card variants, storage),screen, the official flasher also builds GUI firmware.firmware These(and area companionGUI-with-SD-card nodesvariant). A GUI node is a Companion with an on-device interfaceinterface, rather thannot a separate network role.role: it messages and it does not relay.

KISS Radio

A KISS TNC buildbuild. thatIt turns the node into a dumbplain modem fordriven by a host computer, rather than a participant in the mesh in its own right. See MeshCore KISS Modem Protocol.

Sensor: read this carefully

Sensor firmware is the most misunderstood item in this list, so be precise about what exists.

  • The upstream MeshCore repository contains a simple_sensor example application. The source exists.
  • The official MeshCore flasher does not build it. The officialflasher's flasherrole offerslist Companion,is Companion (BLE), Companion (USB), Repeater, Room Server, GUIGUI, GUI-with-SD, and KISS builds.KISS. There is no Sensor entry.entry, and the upstream releases contain no sensor binaries. You cannot flash a stock Sensor binarybuild from flasher.meshcore.io.
  • IfTo you wantget a prebuilt Sensor binary,binary you either buildcompile it yourself or gettake itone from a fork. Keymind Cascade ships Sensor builds for aroundroughly 17 boards.boards, and they are flashable from the Mesh America Device Configurator.
  • Sensor readings are not broadcast in adverts. A MeshCore advert announces a node's presence, not its telemetry. Sensor data moves over MeshCore's request/response protocol. See MeshCore Sensor Nodes for how this actually works..

Summary Table

FirmwareRoleUser MessagingmessagingPacketRelays Relayfor othersMessageStores StoremessagesBuiltPrebuilt by the official flasher
Companion (BLE / USB)YesNoLocalOwn messages onlyYes
Companion (Wi-Fi)YesNoOwn messages onlyNo (self-compiled, or from a fork) RepeaterNoYesYes, along known paths (not everything)NoYes Room ServerNoOptionalNoYesYes, (network-wide)that room's postsYes GUIYes (on device)NoLocalOwn messages onlyYes, on screen-equipped boards KISS RadioNo (host-driven)NoNoYes SensorNoNoNoNo (source existsis upstream; binaries come from forks or your own build)

Source:Sources: the official MeshCore flasher catalog (flasher.meshcore.io), the MeshCore FAQ, and the MeshCore firmware repository at github.com/meshcore-dev/MeshCore.