MeshCore/Getting Started

From Ottawa Mesh
Jump to navigation Jump to search

← Home

Getting Started with MeshCore

MeshCore is a lightweight, repeater-focused mesh protocol. In Ottawa, most of the city runs MeshCore, with coverage provided by a network of solar-powered repeaters. This guide will help you flash a node, configure it as a companion, or set it up as a repeater.

Flashing a Node

The easiest way to flash a MeshCore-supported node is by using the official web flasher tool in Google Chrome:

MeshCore Web Flasher

Only Google Chrome supports the serial connection required for flashing.

Steps:

  1. Plug your device into your computer via USB.
  2. Open the MeshCore Web Flasher.
  3. Select your device type (for example: Companion Radio (Bluetooth) or the hardware model you’re flashing).
  4. Click Enter DFU Mode.
  5. Click Erase Flash.
  6. Click Flash to install the MeshCore firmware.

Note: Sometimes after erasing, the flash step may fail. If this happens, refresh the page, click Enter DFU Mode again, and then click Flash to retry.

Configuring a Companion Node

After flashing, follow these steps to set up your companion node:

  1. Pair the node with your phone or computer (usually over Bluetooth).
  2. Give the node a descriptive name (e.g. your callsign, location, or handle).
  3. Set it to the Ottawa frequency defaults: 910.525 MHz / BW: 62.5 kHz / SF7 / CR5.
  4. Test by sending a message in the Public channel.
  * If a repeater hears you, the message will show Heard X Repeats instead of just Sent.  

Tip: You may wish to disable Message Settings → Auto Reset Path. This isn’t required, but many users find it helpful when testing links that aren’t fully stable, as it prevents the path from constantly resetting.

Basic setup after flashing

Important: Before configuration, you must update the bootloader on RAK boards. Without this fix, failed OTA updates can leave the repeater in an unusable state that requires physical recovery.

1. Download the OTA bootloader fix from this link.

2. Connect your repeater to your computer.

3. It should appear in your file explorer as a USB Drive.

4. Drag the .uf2 file into the mounted drive.

5. The file copy will appear to fail, and the device will restart and remount as a USB drive — this is expected and indicates a successful update.

6. To confirm, open the INFO.TXT file on the drive and check that it shows version 0.9.2 bootloader firmware.

Once the bootloader is updated, continue with repeater configuration:

7. Using Google Chrome, open the repeater configuration tool: MeshCore Repeater Config.

8. After connecting to the device, navigate to Ottawa Repeater IDs and make sure the first two characters of your public key are not already in use.

  * Currently, MeshCore repeater IDs are based on the first two characters of the public key.  
  * As the mesh has grown, duplicate IDs have caused conflicts. It is important to avoid duplicates.  
  * Developers are working on a long-term fix, but for now, each new repeater must use a unique ID.  
  * If you have a conflict, the only way to generate a new public key is to reflash the firmware. Follow Flashing a Node from the beginning. You can skip the bootloader fix if you have already applied it once.  

9. Give the node a descriptive name (e.g. Callsign_R1 or a location-based name).

10. Set an admin password for the repeater — this is required for remote management over MeshCore.

11. Apply the Ottawa frequency defaults: 910.525 MHz / BW: 62.5 kHz / SF7 / CR5.

12. Click Save and reboot the node.

13. Reconnect to the device using the configuration tool and click Send Advert.

  * If your repeater is running correctly, you should see the advert appear on nearby companion nodes.  

After the repeater has been configured and discovered by your companion node, log into it via MeshCore Remote Administration and set the following advert intervals:

14. Set Zero-hop adverts (direct) to every 1 hour.

15. Set Flood adverts (forwarded across repeaters) to every 3 hours.

16. Click Save.

Tip: After every reboot, you must resync the repeater’s clock. The repeater will still route messages without a clock, but its adverts will be ignored until the time is set.

How Adverts Work

MeshCore uses a repeater-driven advert system for discovery (not a prerequisite to transmit).

  • You do not need to have recevied an advert from a repeater to send a message. You can transmit at any time; any repeater that hears your packet will forward it.
  • Adverts allow your node to discover repeaters (their ID and info). This enables features such as:
 * Tracing paths to confirm connectivity  
 * Seeing repeater names in the path summary of a message  
 * Setting static paths to a specific user  
  • Repeaters periodically broadcast adverts (short beacon packets) across the mesh.
  • In Ottawa, adverts are configured for:
 * Zero-hop adverts (direct): every 1 hour  
 * Flood adverts (forwarded across repeaters): every 3 hours  

This approach keeps discovery traffic low while still ensuring that repeaters can be identified and messages are reliably forwarded across the mesh.

The Public Channel

By default, MeshCore companion nodes in Ottawa have access to the shared public channel.

  • Any correctly flashed node set to the correct frequency can join immediately and begin passing traffic.
  • When you send a message and a repeater hears it, you will see Heard X Repeats under your message (instead of just Sent).
  • You can click and hold the message, then select Heard Repeats to see which repeaters heard it.
 * If you have discovered the repeater through adverts, you will see its name.  
 * If not, you will see only its ID.  

Next steps

Once your node is flashed and configured, check out MeshCore/Frequency Settings for Ottawa defaults and MeshCore/Repeaters & Coverage for areas with established repeater links.