MeshCore/Getting Started: Difference between revisions

From Ottawa Mesh
Jump to navigation Jump to search
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 2: Line 2:
[[Main Page|← Home]]
[[Main Page|← Home]]


= Getting Started with MeshCore =
This guide will help you flash a node, configure it as a companion.


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. 
== Flashing & Configuring a Companion Node ==
This guide will help you flash a node, configure it as a companion, or set it up as a repeater.
=== Flashing a Companion Node ===
 
== Flashing a Companion Node ==
The easiest way to flash a MeshCore-supported node is by using the official web flasher tool in Google Chrome:
The easiest way to flash a MeshCore-supported node is by using the official web flasher tool in Google Chrome:


Line 17: Line 15:
# Plug your device into your computer via USB.
# Plug your device into your computer via USB.
# Open the [https://flasher.meshcore.co.uk/ MeshCore Web Flasher].
# Open the [https://flasher.meshcore.co.uk/ MeshCore Web Flasher].
# Select your device type (for example: '''Companion Radio (Bluetooth)''' or the hardware model you’re flashing).
# Select your device hardware
# Select the firmware choice '''Companion Radio (Bluetooth)'''
# Click '''Enter DFU Mode'''.
# Click '''Enter DFU Mode'''.
# Click '''Erase Flash'''.   
# Click '''Erase Flash'''.   
Line 24: Line 23:
'''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.
'''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 ==
=== Configuring a Companion Node ===
After flashing, follow these steps to set up your companion node:
After flashing, follow these steps to set up your companion node:


Line 34: Line 33:


'''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.
'''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 [https://github.com/oltaco/Adafruit_nRF52_Bootloader_OTAFIX/releases/download/0.9.2-otafix1/update-wiscore_rak4631_board_bootloader-0.9.2-otafix1_nosd.uf2 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: [https://config.meshcore.dev/ MeshCore Repeater Config]. 
8. After connecting to the device, navigate to [[MeshCore/Repeaters & Coverage#Ottawa Repeater IDs|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 [[MeshCore/Getting Started#Flashing a Node|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.

Latest revision as of 19:54, 2 September 2025

← Home

This guide will help you flash a node, configure it as a companion.

Flashing & Configuring a Companion Node

Flashing a Companion 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 hardware
  4. Select the firmware choice Companion Radio (Bluetooth)
  5. Click Enter DFU Mode.
  6. Click Erase Flash.
  7. 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.