|
|
(3 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.
| |
| This guide will help you flash a node, configure it as a companion, or set it up as a repeater. | |
|
| |
|
| == Flashing & Configuring a Companion Node == | | == Flashing & Configuring a Companion Node == |
Line 36: |
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. |
|
| |
| == Flashing & Configuring a Repeater Node ==
| |
|
| |
| === RAK Bootloader update (Skip if not using a RAK based board) ===
| |
| '''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. Double click the button on the RAK board beside the USB port, the green light should turn on indicating DFU mode is enabled.
| |
|
| |
| 4. It should appear in your file explorer as a '''USB Drive'''.
| |
|
| |
| 5. Drag the '''.uf2''' file into the mounted drive.
| |
|
| |
| 6. 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.
| |
|
| |
| 7. To confirm, open the '''INFO.TXT''' file on the drive and check that it shows version '''0.9.2 bootloader firmware'''.
| |
|
| |
| === Flashing MeshCore Repeater Firmware ===
| |
| 1. Plug your device into your computer via USB.
| |
|
| |
| 2. Open the [https://flasher.meshcore.co.uk/ MeshCore Web Flasher].
| |
|
| |
| 3. Select your device hardware.
| |
|
| |
| 4. Select the firmware choice '''Repeater'''.
| |
|
| |
| 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 MeshCore Repeater ===
| |
| 1. Using Google Chrome, open the repeater configuration tool: [https://config.meshcore.dev/ MeshCore Repeater Config].
| |
|
| |
| 2. 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.
| |
|
| |
| 3. Give the node a descriptive '''name''' (e.g. '''Callsign_R1''' or a location-based name).
| |
|
| |
| 4. Set an '''admin password''' for the repeater — this is required for remote management over MeshCore.
| |
|
| |
| 5. Apply the Ottawa frequency defaults: '''910.525 MHz / BW: 62.5 kHz / SF7 / CR5'''.
| |
|
| |
| 6. Click '''Save''' and reboot the node.
| |
|
| |
| 7. 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:
| |
|
| |
| 8. Set '''Zero-hop adverts (direct)''' to every 1 hour.
| |
|
| |
| 9. Set '''Flood adverts (forwarded across repeaters)''' to every 3 hours.
| |
|
| |
| 10. 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.
| |
← 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:
- Plug your device into your computer via USB.
- Open the MeshCore Web Flasher.
- Select your device hardware
- Select the firmware choice Companion Radio (Bluetooth)
- Click Enter DFU Mode.
- Click Erase Flash.
- 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:
- Pair the node with your phone or computer (usually over Bluetooth).
- Give the node a descriptive name (e.g. your callsign, location, or handle).
- Set it to the Ottawa frequency defaults: 910.525 MHz / BW: 62.5 kHz / SF7 / CR5.
- 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.