Setting Up a MeshCore Relay in Your Homelab
A homelab is actually an ideal location for MeshCore infrastructure. The main constraint is antenna placement: LoRa signals do not travel well through server cases, concrete floors, and rack enclosures. The hardware lives inside, but the antenna needs to see the world.
What you are building
A homelab MeshCore relay consists of two distinct roles, and the strong recommendation is to run them on separate hardware:
A repeater that forwards packets between companions and other repeaters, forming the routing backbone of the mesh. It runs autonomously, requires no client connection, and periodically advertises its presence on the network map.
A room server that acts as a persistent group chat host. Users connect to it to post and read messages. Unlike channel-based messaging where you miss anything sent while out of range, the room server stores history and pushes it to users when they connect. Think of it less like a walkie-talkie and more like a local bulletin board.
Running both on the same device is technically possible but can cause conflicts. Two devices is the cleaner approach, and the hardware is inexpensive enough that it is worth doing properly.
Hardware
For a mains-powered fixed indoor installation, solar capability and battery management are irrelevant. You want something small, reliable, and USB-powered.
Recommended: Heltec WiFi LoRa 32 V3 (two of them)
- ESP32-S3 processor
- SX1262 LoRa transceiver
- Built-in OLED display (useful during setup)
- USB-C powered
- Approximately £20-25 each from AliExpress or Amazon
The Heltec V3 is the community’s budget workhorse and has excellent MeshCore support. For a rack installation where power is not a constraint, it is the right choice. Buy two: one for the repeater firmware, one for the room server firmware.
Alternatively, if you want something slightly more capable:
RAK WisBlock (RAK19007 base + RAK4631 core + RAK13300 LoRa)
More modular, lower power draw, and better build quality. More expensive at around £50-60 per unit assembled. Worth considering if you want the homelab node to be a long-term permanent fixture.
Antenna
This is the most important decision for a rack-mounted installation. The hardware will be inside, possibly in a basement or interior room. LoRa at 868MHz penetrates walls reasonably well but loses meaningful range through multiple obstructions.
The recommended approach: coax run to an external antenna.
The Heltec V3 has an SMA connector. Run a short length of low-loss coax (LMR-195 or equivalent) from the device out to wherever gives you the best line-of-sight: a loft, an exterior wall mount, or ideally a rooftop. A simple 868MHz omnidirectional antenna with 3-5 dBi gain mounted outside will dramatically outperform any antenna inside the building.
What to buy:
- SMA male to N female bulkhead adapter for wall or chassis mounting
- LMR-195 or RG58 coax cut to length (keep runs short, under 5 metres for RG58)
- 868MHz omnidirectional fibreglass antenna, 3 dBi or 5 dBi
- Weatherproof junction box if mounting the antenna outdoors
If running a coax outside is not possible, mount the devices as high as possible in the building and as close to a window or exterior wall as you can manage.
Firmware flashing
MeshCore provides a browser-based flasher that works in Chrome or Edge without installing any software.
Connect the first Heltec V3 via USB, then visit:
https://flasher.meshcore.co.uk
Select your board (Heltec WiFi LoRa 32 V3), select Repeater firmware, and flash. Repeat the process for the second device, selecting Room Server firmware.
The flasher handles everything. No compiling, no command line required at this stage.
Initial configuration
Configuration is done via the web-based tool or serial CLI. The web tool is easier for initial setup:
https://config.meshcore.dev
Connect each device via USB and open the above URL in Chrome or Edge. You will be prompted to select the serial port.
For both devices
Set the LoRa frequency. In the UK, use 868.0 MHz (EU_868 band). This is the licence-exempt frequency for LoRa in the UK under Ofcom Short Range Device regulations.
Set a descriptive name. Something that identifies your location without being too personally identifying if it will appear on the public map. For example: M60-Repeater or Burnage-Room.
Set an admin password immediately. The default is blank and anyone who knows this can reconfigure your node over the air.
Set your coordinates if you want the node to appear on the MeshCore network map. Right-click your location in Google Maps to get the decimal coordinates.
For the room server specifically
Set a room name and a guest password. The guest password is what users enter to join the room. The admin password is separate and should be different.
Decide whether to allow blank-password login. This lets anyone connect without a password but they cannot post, only read. Useful for a public information room, less useful for a private community room.
Physical installation
Both devices will sit inside the homelab. A few practical options:
On a shelf or in a 1U blanking panel tray. The simplest option. USB power from a spare port on a powered hub or directly from a server USB port. Mount the devices with hook-and-loop tape or a small 3D-printed bracket.
In a small enclosure mounted to the rack side. Slightly neater. A small ABS project box with ventilation slots, mounted beside the rack with the coax run coming out the back.
The devices run cool and have no meaningful thermal output. Ventilation is not a concern.
Power
Both Heltec V3 devices draw around 80-120mA at 5V during active transmission. USB power from a always-on port is sufficient. For reliability, power them from a port that stays live when the connected device is in standby rather than a port that powers down on sleep.
If your homelab is on a UPS, the MeshCore nodes benefit from being on the same protected circuit. An always-on repeater that goes dark during a power cut is less useful than one that stays up.
Monitoring and management
Once running, you can monitor and manage both nodes remotely over the mesh from the MeshCore Android or iOS app, provided you are within range or connected through another node. Remote administration requires the admin password.
To check node status:
- Open the MeshCore app and add both nodes as contacts using their public keys
- The app shows signal strength, packet counts, and uptime
- Configuration changes can be pushed over the air without physical access
For deeper diagnostics, reconnect via USB and use the serial CLI or web configurator.
A note on the UK regulatory position
Both devices will operate on the 868MHz band under the EU_868 regional settings. This is licence-exempt in the UK under Ofcom’s Interface Requirement IR 2030, which permits Short Range Devices on the 868-868.6MHz sub-band at up to 25mW ERP with a 1% duty cycle.
The 1% duty cycle limit is worth understanding. It means each device can transmit for a maximum of 36 seconds per hour. MeshCore’s structured routing model is considerably more conservative with airtime than Meshtastic’s flood routing, so in practice duty cycle limits are rarely a concern for fixed infrastructure nodes with typical traffic levels. But if you start seeing transmission errors or unexpected behaviour, duty cycle exhaustion is worth checking.
Antenna placement will have more impact on your coverage than almost any other decision. A £5 antenna on a rooftop will outperform a £50 antenna inside a rack. Get the antenna outside if you possibly can.