Skip to main content

What is the difference between a Repeater and Room Client in MeshCore?

What Is the Difference Between a Repeater and Room Client in MeshCore?

MeshCore ships two primary firmware variants for end-user nodes, each optimized for a different role in the network. Choosing the wrong one is a common source of confusion. This page explains both in detail.

REPEATER_FIRMWARE

A node flashed with REPEATER_FIRMWARE acts as pure RF infrastructure. Its sole job is to receive LoRa packets and re-transmit them to extend the reach of the mesh. Key characteristics:

  • No screen required: Repeater firmware is designed to run on minimal hardware — a bare ESP32 or nRF52 board with a LoRa module. It has no UI and does not need a display.
  • Minimal power consumption: Because it does not maintain Bluetooth, Wi-Fi, or app connections, a repeater node consumes significantly less power than a room client. This makes it ideal for solar-powered or battery-backed infrastructure deployments.
  • No identity: A repeater does not have a user-facing identity on the mesh. It does not send or receive user messages; it only forwards packets at the radio layer.
  • No room server interaction: Repeater firmware does not connect to a room server. It has no concept of message storage or retrieval.

Best for: Hilltop relays, tower-mounted infrastructure nodes, solar repeaters in remote locations — any deployment where the goal is coverage extension rather than message origination.

ROOM_CLIENT_FIRMWARE

A node flashed with ROOM_CLIENT_FIRMWARE has a full client identity and can connect to a MeshCore room server for message storage and retrieval. Key characteristics:

  • Client identity: The node generates a public/private key pair on first boot. This keypair is its identity on the mesh and with room servers. Messages can be addressed to it specifically.
  • Room server connectivity: A room client can connect to a room server (over RF through the mesh, or via Wi-Fi/TCP if configured) to upload outgoing messages and download stored messages it missed while offline.
  • Higher power use: Maintaining a client identity, processing addressed messages, and optionally maintaining a TCP connection to a room server consumes more CPU cycles and radio time than a pure repeater.
  • Can also relay: A room client node will re-broadcast packets it receives just like a repeater does, within its configured hop limit. It is not only a client — it also participates in mesh routing.

Best for: User-carried nodes, base station nodes that interact with a room server, nodes that need to send and receive addressed messages.

Can a node be both?

No. You must choose one firmware at flash time. A single physical node cannot simultaneously run REPEATER_FIRMWARE and ROOM_CLIENT_FIRMWARE. If you need both roles at one location — for example, a hilltop site that also serves as a room server gateway — you need two separate physical nodes, or a single node running ROOM_CLIENT_FIRMWARE (which also relays, accepting the higher power overhead).

Summary comparison

FeatureREPEATER_FIRMWAREROOM_CLIENT_FIRMWARE
Relays RF packetsYesYes
Has user identityNoYes
Connects to room serverNoYes
Sends/receives messagesNoYes
Power useLowHigher
Screen neededNoOptional