Match these settings so your device can talk to the rest of the network. Start with the USA/Canada preset in the MeshCore app, then adjust as shown below.
| Preset | USA/Canada (Recommended) |
| Frequency | 910.525 MHz |
| Bandwidth | 62.5 kHz |
| Spread Factor | 7 |
| Coding Rate | 5 (or 8 for weak signals) |
| Preset | USA/Canada (Recommended) |
| Frequency | 910.525 MHz |
| Bandwidth | 62.5 kHz |
| Spread Factor | 7 |
| Coding Rate | 8 |
These settings sit inside the license-free 902β928 MHz ISM band in the US β no amateur radio license is required to use a MeshCore companion or repeater, as long as your device stays within legal power limits for that band.
This applies to repeaters and companions both β the size of the hash affects how reliably your messages get routed and identified across the mesh.
Every MeshCore device identifies itself using a path hash that other nodes and tools like MeshMapper use to tell devices apart. By default, everything uses a 1-byte hash β just 254 usable combinations (hex 01βFE). That's fine for a small mesh, but as NJ Mesh grows, different repeaters (and companions) inevitably end up sharing the same 1-byte ID, causing routing ambiguity and making it harder for mapping and diagnostic tools to tell devices apart.
Switching to a 2-byte hash expands that to 65,536 possible combinations β collisions become extremely unlikely.
Plug in via USB serial and open a terminal, or connect through Remote Admin in the MeshCore app if you're not on-site.
Type set path.hash.mode 1 and hit enter. (1 = 2-byte hash. 0 = default 1-byte. 2 = 3-byte, for very large regions.)
Type reboot, then trigger a flood advert now instead of waiting for the next automatic cycle so it "upgrades" on MeshMapper right away.
Requires app version 1.41.0 or newer, and your device running firmware 1.14+.
Tap the gear icon (Settings) β scroll down to Experimental Settings.
Change "Default Path Hash Size" to 2-byte. This controls the hash size your outgoing channel and direct messages use β so unlike a repeater's advert setting, it does affect whether older repeaters can relay your messages.
If you're setting up a brand-new repeater, check the coverage map's repeater ID grid first to see which 1-byte IDs are already crowded nearby.
No CLI needed β this is a couple of taps right in the MeshCore app. Just know this only covers the official MeshCore map β our own coverage map runs on separate data (see below).
In the MeshCore app, go to your contact list and tap on your repeater.
Look for the Share option on the repeater's page.
That's it β this uploads your repeater's public key and location straight to the official MeshCore map.
Give it a few minutes, then look for your repeater on the official MeshCore Map.
The steps above only add your repeater to the official MeshCore Map β it does not automatically show up on our own NJ Mesh coverage map, which runs on MeshMapper. MeshMapper builds its coverage data from wardriving β one of our community observers needs to physically pick up your repeater's advert while driving, walking, or biking nearby before it appears there. There's nothing you need to do on your end besides making sure your repeater is broadcasting adverts (it does this automatically) β just give it time for an observer to pass through your area, or check out how to wardrive yourself and speed things up.
Once a repeater is bolted to a roof or up a tower, you don't want to climb back up every time a new MeshCore version drops. OTA solves that β but it takes a little prep.
OTA (Over-The-Air) lets you push new firmware to a repeater remotely instead of physically plugging it in with a USB cable. On nRF52 boards (RAK4631, Heltec T114, Seeed XIAO, etc.) this happens over Bluetooth. On ESP32 boards like the Heltec V4, it happens over WiFi instead.
The bootloader is the tiny program that runs the instant your board powers on, before MeshCore itself loads β and it's also what accepts new firmware during an update.
Connect the board via USB, double-press the reset button to enter UF2 mode, and drag the OTAFIX .uf2 file onto the drive that appears. It's a one-time, two-minute job.
After that, OTA updates over Bluetooth become reliable β and if one ever fails mid-update, the board falls back into Bluetooth DFU mode automatically so you can just retry over the air instead of physically recovering it.
From the node's admin command line, run start ota. The Repeater Admin page in the app will then show a URL β connect to the node's WiFi hotspot, open that URL in a browser, select the new firmware, and press Start.
ver and get bootloader.ver in the CLI to confirm it actually took.