Published by Vivian van Zyl in Meshcore the 10/28/2026 at 02:20 am
A handheld MeshCore node is a useful starting point. You can pair it with a phone, send messages, and learn how your local radio community is configured. When you need a link to reach beyond your immediate area, the next step is usually a dedicated repeater in a better location.
A dependable setup is more than a radio mounted high up. You need compatible firmware roles, matching regional radio settings, secure administrative access, a suitable antenna, and field tests that show what the link can really do. This guide walks through those steps, from a companion node to a small off-grid network.
MeshCore uses different firmware roles for different jobs. A companion node connects you to the network. A repeater forwards eligible traffic to extend coverage. A room server stores messages so users can retrieve them later. These roles can run on supported LoRa devices, but they are not interchangeable settings in the app. You generally select the intended role when you flash firmware. (github.com)
| Role | What it does | Typical location |
|---|---|---|
| Companion | Connects to the MeshCore app, often over Bluetooth, and gives you a way to send and receive messages | With the user |
| Repeater | Forwards eligible packets to help connect nodes that cannot communicate directly | A high, fixed location |
| Room server | Stores room messages for users to retrieve later | A powered, fixed location |
Begin with one supported device running the companion firmware that fits how you plan to connect. A BLE companion pairs with a phone running the MeshCore app. A USB companion is intended for a USB connection to a compatible client. Check the firmware options for your exact board before flashing. A build for a similar-looking device may not be compatible. (github.com)
Once the firmware is installed, pair the node with the app and confirm that you can send and receive messages with a nearby MeshCore user. This gives you a working reference device before you add infrastructure. It also helps separate a basic client or radio-setting problem from a repeater-placement problem.
If you do not have other MeshCore nodes nearby, two companions are a practical way to test messaging between two people before you invest time in a fixed repeater. Once you know the local network settings and have a working link, you can dedicate another supported device to repeater service. (github.com)
Use the MeshCore flasher to select your exact board and the repeater firmware role. After flashing, connect the device to a computer over USB. The MeshCore configuration tool supports USB setup for repeaters and room servers, including settings for the node name, location, radio, and access. You can also use the flasher’s console to issue commands. (github.com)
Before you disconnect the cable, configure and check the basics:
password as the default. Change it before placing the node where you cannot reach it easily. (github.com)A USB configuration session is also a good time to confirm that the repeater boots cleanly and reports its status before it goes on the roof. Save your settings, reboot if needed, and reconnect to verify that the configuration persisted.
Radio compatibility is not just a matter of selecting a frequency in the right broad band. Your companion and repeater need compatible settings for your local network. MeshCore’s official FAQ points users to regional presets in the app or repeater setup tool, and notes that supported bands vary by region. (github.com)
Use a preset recommended by your local MeshCore community, then check the details on both devices. Frequency, bandwidth, and spreading factor are especially important to match across the link. Do not copy a frequency or preset from an online guide unless it applies to your country and community.
Also check local radio rules before transmitting. Allowed frequencies, power limits, and duty-cycle requirements vary by jurisdiction. The MeshCore configuration tool warns that high transmit-power settings may violate local regulations and that users are responsible for choosing an appropriate duty cycle. (config.meshcore.io)
A repeater is not a simple radio that echoes every signal it hears. MeshCore repeaters forward packets selectively, which helps limit unnecessary retransmissions and reduces avoidable traffic on a shared radio channel. (github.com)
That distinction matters as a network grows. If every node retransmitted every packet, the channel could become crowded with repeated copies of traffic that was already heard. Selective forwarding helps the network carry packets toward their destinations without blindly rebroadcasting everything nearby.
It also means that hearing a repeater’s advertisement does not guarantee that every message will travel through it. The packet’s route, radio compatibility, local conditions, and the participating network all matter. Test the actual path you care about instead of assuming that a node visible in the app will provide a reliable end-to-end link.
Elevation can improve coverage because a higher antenna may have a clearer path over nearby buildings, terrain, and other obstructions. It is often more useful to test a sensible elevated location than to start by buying a higher-gain antenna. But height alone does not guarantee a good link. The building, roof materials, nearby structures, antenna orientation, cable losses, and local interference can all affect performance.
For a rooftop repeater, plan the installation around the antenna and enclosure, not just the radio board:
If you are comparing parts, LoRaMeshDevices has a 915 MHz antenna category and sections for enclosures and solar components. Check each product’s connector, frequency range, and specifications against your device and installation. Product availability and fulfillment terms may depend on the individual seller.
A repeater helps forward eligible traffic. A room server addresses a different need: it stores room messages so users can return later and retrieve messages they missed while out of range. That can be useful for a group that does not need every member to be online at the same time. (github.com)
Treat a room server as its own service. Configure its firmware role, radio settings, name, and access separately. If your goal is both wider radio coverage and stored room messages, plan for two devices rather than expecting one room server to provide every repeater feature.
A quick message from next to the repeater only proves that the devices communicate under favorable conditions. Test from the places where you expect people to use the network, and repeat the test after the antenna is mounted in its final position.
A practical field test can look like this:
Record the test location, device orientation, antenna, radio preset, and result. This gives you a useful baseline if you later change the mounting position, antenna, or firmware.
Once the repeater is installed, you may not want to climb up to it just to change a setting. MeshCore supports remote administration through a companion client when the radio path is available. You can also configure a repeater directly over USB. (github.com)
Change the default administrator password before relying on remote management. Keep a safe record of the password and configuration. If you use remote administration, test it from a normal location before making the repeater difficult to access. Remote access depends on a working radio path, so USB access remains a useful fallback.
A dependable MeshCore link grows from a working companion node. Add a dedicated repeater with the correct firmware role, configure it over USB, match the local radio settings, and test its coverage from real user locations. Add a room server only if your group needs stored message history.
Elevated placement can make a meaningful difference, but no single antenna or mounting height guarantees coverage. Measure the link, keep notes, and make one change at a time. That approach turns a handheld setup into a practical off-grid network you can understand, maintain, and improve.