links:meshcore:home
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| links:meshcore:home [2026/04/27 19:24] – [Getting Started] va7fi | links:meshcore:home [2026/09/16 11:33] (current) – va7fi | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | <WRAP rightalign> | ||
| + | <wrap tip> | ||
| + | </ | ||
| + | |||
| ====== Meshcore ====== | ====== Meshcore ====== | ||
| ===== Introduction ===== | ===== Introduction ===== | ||
| From [[wp> | From [[wp> | ||
| + | |||
| < | < | ||
| MeshCore is an open-source mesh networking protocol and software platform designed for off-grid, low-power text communication using LoRa (Long Range) radio technology. The system enables decentralized, | MeshCore is an open-source mesh networking protocol and software platform designed for off-grid, low-power text communication using LoRa (Long Range) radio technology. The system enables decentralized, | ||
| Line 11: | Line 16: | ||
| </ | </ | ||
| - | The basic idea is that you get a small // | + | The idea is that each person has a small // |
| + | |||
| + | <WRAP centeralign> | ||
| + | {{ : | ||
| + | </ | ||
| + | <WRAP group> | ||
| + | |||
| + | <WRAP centeralign> | ||
| + | <WRAP half column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP half column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | <WRAP half column> | ||
| + | ===== Getting Started: Companions | ||
| + | </ | ||
| + | <WRAP half column> | ||
| + | ((The [[# | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ==== What is needed to use MeshCore? ==== | ||
| + | * The MeshCore app downloaded to your cellphone or computer. | ||
| + | * A device with the MeshCore // | ||
| + | * If needed, a device with the MeshCore // | ||
| + | * Each person who wants to send messages needs their own // | ||
| + | |||
| + | === Download the MeshCore App === | ||
| + | * Search for " | ||
| + | * Alternatively, | ||
| + | * You should save an offline copy of the software so it’s available without the internet. | ||
| + | |||
| + | === Where to buy MeshCore devices? === | ||
| + | * Recommended devices are listed at [[https:// | ||
| + | * Alternatively, | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Flash the Firmware ==== | ||
| + | <WRAP group> | ||
| + | <WRAP third column> | ||
| + | <WRAP center round important 100%> | ||
| + | You should also use a Chromium based web browser like [[https:// | ||
| + | </ | ||
| + | </ | ||
| + | <WRAP twothirds column> | ||
| + | <WRAP center round tip 100%> | ||
| + | On Linux, you may have to add the " | ||
| + | sudo usermod -a -G dialout USER | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | If you already have Meshcore installed, download your current settings: | ||
| + | * Open the MeshCore app ([[https:// | ||
| + | * Navigate to the Settings (the gear in the top right corner) | ||
| + | * Scroll down to the "Extra Tools" section and select " | ||
| + | * " | ||
| + | |||
| + | Flash the Meshcore Firmware: | ||
| + | * Connect the companion device to your computer via USB. | ||
| + | * Go to https:// | ||
| + | * Select your device | ||
| + | * Select Companion Bluetooth | ||
| + | * Select Enter DFU Mode | ||
| + | * Select Erase Flash | ||
| + | * Select Flash | ||
| + | |||
| + | To re-load your previous config file: | ||
| + | * Open the MeshCore App | ||
| + | * Connect to the companion device, but it probably had a different bluetooth name now | ||
| + | * The PIN might be listed on your companion' | ||
| + | * Skip Setup | ||
| + | * Navigate to the Settings (the gear in the top right corner) | ||
| + | * Scroll down to the "Extra Tools" section and select " | ||
| + | * Click on " | ||
| + | * Select the " | ||
| + | * " | ||
| - | ===== Getting Started ===== | ||
| - | * Get a companion device like: | ||
| - | * the //Wio Tracker L1 Pro// from [[https:// | ||
| - | * FIXME: add other options here | ||
| - | * Flash the device with the latest [[https:// | ||
| - | * Install the Meshcore app on your phone. | ||
| - | * Pair the device with your phone. | ||
| - | * Turn off Auto-Add Contacts | ||
| See [[https:// | See [[https:// | ||
| - | ===== More Advanced | + | < |
| + | |||
| + | ==== Connect to your MeshCore Device | ||
| + | * Turn on your device. | ||
| + | * Open the MeshCore App. | ||
| + | * Tap the " | ||
| + | * Tap the " | ||
| + | * Enter the PIN displayed on your MeshCore device’s screen. | ||
| + | * If your device doesn’t have a screen, the default pin is 123456. | ||
| + | * Once pairing is successful, you’ll be taken to the main screen. | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP centeralign> | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round tip 70%> | ||
| + | If you’re having trouble pairing with Bluetooth, try rebooting your phone. | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Set your Public Display Name ==== | ||
| + | You should now rename your MeshCore node. The name you choose will be seen by other users on the MeshCore network. | ||
| + | * Tap the settings icon in the top right corner. | ||
| + | * Tap the name field, backspace until it’s empty, then type your name. | ||
| + | * After entering your name, tap the tick icon in the top right to save it. | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP centeralign> | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 70%> | ||
| + | The device name in Bluetooth results will not update until you reboot your node. | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Configure Radio Settings ==== | ||
| + | MeshCore can be used all over the world. Different countries have different regulations on which radio frequencies can be used for public, license free communication. To ensure your node is operating legally, please make sure to select radio settings that are compliant in your country. | ||
| + | |||
| + | The MeshCore app provides a list of radio presets that have been suggested by the community for use in specific countries/ | ||
| + | |||
| + | To configure the radio settings for your MeshCore node: | ||
| + | * Tap the settings icon in the top right corner. | ||
| + | * Tap the " | ||
| + | * Tap the radio settings that match the name of your country/ | ||
| + | * You will be taken back to the settings screen. | ||
| + | * Tap the tick icon in the top right corner to save your settings. | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP centeralign> | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 70%> | ||
| + | In the South West BC area, edit the settings to the following: | ||
| + | | |**Until Sept 30, 2026** |**From Oct 1, 2026**| | ||
| + | |**Frequency** | ||
| + | |**Bandwidth** | ||
| + | |**Spreading Factor**|7 | ||
| + | |**Coding Rate** | ||
| + | |||
| + | See [[https:// | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Send a public broadcast message ==== | ||
| + | Messages sent to the Public channel can be seen by anyone on the MeshCore network. They are repeated across the mesh by all repeaters that hear them. Other mesh nodes in range of you or a repeater that rebroadcast the message, should receive it. | ||
| + | |||
| + | The public channel can be used as a large group chat for general conversation amongst all users on the mesh. It could also be used to send emergency alerts. | ||
| + | |||
| + | It’s not recommended to send confidential information on the public channel as anyone can read these messages. | ||
| + | |||
| + | To send a message: | ||
| + | * Tap the channels tab at the bottom of the screen. | ||
| + | * Tap the " | ||
| + | * Type a message and press the send icon. | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP centeralign> | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 70%> | ||
| + | Outgoing messages will show "Heard 1 repeat" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Share your Contact Details (via QR Code) ==== | ||
| + | Before you can send private, encrypted, direct messages to someone, you and the person you send the message to must both add each other as contacts. If the other person doesn’t also add you as a contact, your messages to them will fail to deliver. | ||
| + | |||
| + | Contacts can be added in multiple ways: | ||
| + | * Privately in person by scanning QR Codes. | ||
| + | * Publicly via the mesh by sending and receiving an " | ||
| + | |||
| + | To share your contact details privately via QR Code: | ||
| + | * Tap the 3 dot menu in the top right. | ||
| + | * Tap the "My Contact Code" menu item. | ||
| + | * Show the QR Code to the other person. | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP centeralign> | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 70%> | ||
| + | The QR Code contains your Node Name, Node Type and Public Identity Key. Your contact details will not be transmitted over the mesh. Only the person who scans your QR Code will receive your contact details. | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | === To add a contact via QR Code: === | ||
| + | * Tap the 3 dot menu in the top right. | ||
| + | * Tap the "Add Contact" | ||
| + | * Tap the "Scan QR Code" button. | ||
| + | * If requested, grant access to the device’s camera. | ||
| + | * Point the device’s camera at the QR Code. | ||
| + | * The contact details will be automatically added to your contacts list. | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP centeralign> | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 70%> | ||
| + | You may need to accept a permissions request for the MeshCore app to access your camera. This permission must be granted to be able to scan the QR Code. | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Share your Contact Details (via Advert) ==== | ||
| + | If you are unable to privately share your contact details in person via a QR Code, you may alternatively share them publicly to everyone on the mesh by sending an " | ||
| + | |||
| + | An advert is an unencrypted packet transmitted by your MeshCore node. It includes your node name, node type, public identity key and a cryptographic signature to prevent anyone from tampering with the information as it’s sent across the mesh. | ||
| + | |||
| + | You can send two types of adverts: | ||
| + | ^ Zero Hop ^ Flood Routed | ||
| + | |The advert won’t be retransmitted by any repeaters. |The advert will be rebroadcast by all repeaters that hear it. | | ||
| + | |Your contact details will only be received by nearby nodes. |Your contact details could be received by everyone on the mesh.| | ||
| + | |||
| + | To share your contact details publicly via the mesh: | ||
| + | * Tap the signal icon in the top right. | ||
| + | * Tap the " | ||
| + | * Your contact details will be transmitted to the mesh. | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP centeralign> | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 70%> | ||
| + | Adverts are not encrypted. Sending an advert will share your contact details with everyone in range. | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Send Private Messages ==== | ||
| + | Once you’ve added a contact, and that contact has added you back, you can send private messages to each other across the mesh. These messages are encrypted and only the intended recipient can read the message contents. | ||
| + | |||
| + | To send a private message: | ||
| + | * Tap the contact you want to send a message to. | ||
| + | * Type a message and press the send icon. | ||
| + | * The app will try several times to deliver your message to the recipient. | ||
| + | * If it’s successful, it will show " | ||
| + | * If an automatic acknowledgement from the recipient is not received after some time, the message will turn red and show as " | ||
| + | * When messages are received, they will show up in the conversation viewer. | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP centeralign> | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 70%> | ||
| + | A message may get marked as failed even though it was successfully delivered to the recipient. This happens if we did not receive the acknowledgement reply from the recipient node. In this case, it’s recommended to send the message again. Once you see the delivered check mark, you know for sure it was received. | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Retry sending a failed Direct Message ==== | ||
| + | When you send a direct message to someone, it’s possible that it may not go through after several automatic attempts. This can happen for many different reasons, such as: | ||
| + | * Being out of range of the intended recipient. | ||
| + | * There are no repeaters in between you and the intended recipient. | ||
| + | * The intended recipient’s radio might be turned off. | ||
| + | * There might be interference on the radio spectrum. | ||
| + | |||
| + | To try sending the failed message again: | ||
| + | * Long press the failed message shown in red. | ||
| + | * Tap the "Retry Sending" | ||
| + | * Your message will try sending again. | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP centeralign> | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 70%> | ||
| + | When sending direct messages, **you must both add each other as contacts** first. The recipient' | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Ping a Repeater ==== | ||
| + | To check the signal strength to and from a nearby repeater, you can run a ping test. | ||
| + | * Tap the 3 dot menu icon next to a repeater contact. | ||
| + | * Tap the "Ping (Zero Hop)" menu item. | ||
| + | * A green popup will show signal strengths if successful. | ||
| + | * A red popup will show " | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP centeralign> | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | <WRAP third column> | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 70%> | ||
| + | Ping tests do not hop through multiple repeaters. You must be in range of the specific repeater you are ping testing. For a ping test to be successful, the repeater must hear your companion signal directly, and your companion must hear the repeater signal directly. If you’re not in range of the repeater, the ping test will fail with a timeout error. | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | ===== Next Step: Repeaters | ||
| * Install a repeater like the //SenseCAP Solar Node P1-Pro// from [[https:// | * Install a repeater like the //SenseCAP Solar Node P1-Pro// from [[https:// | ||
| * Use an antenna like [[https:// | * Use an antenna like [[https:// | ||
| - | * Install [[https:// | ||
| + | If you already have Meshcore installed (but not the bootloader), | ||
| + | * Go to https:// | ||
| + | * Connect your device to your computer with a USB cable. | ||
| + | * Click on '' | ||
| + | * Click on '' | ||
| + | * Click on '' | ||
| + | * Locate the '' | ||
| + | |||
| + | Download the bootloader: | ||
| + | * Go to https:// | ||
| + | * Select your device | ||
| + | * Select '' | ||
| + | * Click on '' | ||
| + | * Select the '' | ||
| + | * Locate the '' | ||
| + | |||
| + | Copy the bootloader over to your device: | ||
| + | * Connect your device to your computer with a USB cable. | ||
| + | * Double click on the reset button. | ||
| + | * Open the drive that just mounted on your computer | ||
| + | * Copy the '' | ||
| + | * The drive may close on its own right away. This is normal. | ||
| + | |||
| + | Flash the Meshcore Firmware: | ||
| + | * Go to https:// | ||
| + | * Select your device | ||
| + | * Select '' | ||
| + | * Select '' | ||
| + | * Select '' | ||
| + | * Select '' | ||
| + | < | ||
| + | |||
| + | Re-upload your settings: | ||
| + | * Select '' | ||
| + | * Select '' | ||
| + | * Select '' | ||
| + | * Select your '' | ||
| + | * Scroll down to the '' | ||
| + | * Scroll down and select '' | ||
| + | * Select '' | ||
| + | |||
| + | Setup the Over the Air (OTA) update app (first time only): | ||
| + | * Download the "nRF Device Firmware Update" | ||
| + | * Open the '' | ||
| + | * In the settings, check '' | ||
| + | |||
| + | Perform an OTA update: | ||
| + | * Using your phone' | ||
| + | * Select your device | ||
| + | * Select '' | ||
| + | * Select '' | ||
| + | * Select the firmware '' | ||
| + | * Using the Meshcore app, login to your repeater (or room server) using the admin password. | ||
| + | * For Room Servers: go to '' | ||
| + | * Go to the '' | ||
| + | * Type '' | ||
| + | * Open the '' | ||
| + | * Under '' | ||
| + | * Under '' | ||
| + | * Under '' | ||
| + | * If you selected a device with '' | ||
| + | |||
| + | See [[https:// | ||
| + | |||
| + | < | ||
| + | |||
| + | ===== More Advanced: Sensors | ||
| + | * Install [[https:// | ||
| ===== Maps ===== | ===== Maps ===== | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * [[https://meshmap.ve7kod.ca/ |SWBC Map with links]] by VE7KOD | + | * [[https://ridgeline.ve7kod.ca/live |SWBC Map with links]] by VE7KOD |
| + | |||
| + | <hidden Repeater Project> | ||
| + | {{ : | ||
| + | Here's how to use MeshCore' | ||
| + | * Navigate to the [[https:// | ||
| + | * You don't need to connect to an actual Meshcore device. | ||
| + | * Click on \$\quad \vdots \quad \$ on the top right corner and then select '' | ||
| + | * Enter the '' | ||
| + | * Where it says '' | ||
| + | * Import {{ : | ||
| + | </ | ||
| + | \\ | ||
| ===== Tools ===== | ===== Tools ===== | ||
| Line 40: | Line 512: | ||
| ===== Resources ===== | ===== Resources ===== | ||
| - | * Official MeshCore [[https:// | + | * Official MeshCore [[https:// |
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * {{: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | |||
| - | ===== List of Repeaters on the Coast ===== | ||
| - | |||
| - | ==== VA7KRZ-Gibsons-RP1 ==== | ||
| - | |<100% 8em>| | ||
| - | ^Location: | ||
| - | ^Equipment: | ||
| - | ^Orientation: | ||
| - | ^Sponsor: | ||
| - | ^Public Key: | ||
| - | |||
| - | Under Construction: | ||
| - | |<100% 8em>| | ||
| - | ^Location: | ||
| - | ^Equipment: | ||
| - | |||
| - | ==== VA7FI - SenseCap ==== | ||
| - | |<100% 8em>| | ||
| - | ^ Location: | ||
| - | ^ Equipment: | ||
| - | ^ Sponsor: | ||
| - | ^ Public Key: | 0c035f5ec37944b7f7df9599cf2b74fd8b75851481dda4aac0c813854fca1726 | | ||
| - | |||
| - | ==== VA7XES - Roberts Creek ==== | ||
| - | |<100% 8em>| | ||
| - | ^Location: | ||
| - | ^Equipment: |:?: | | ||
| - | ^Sponsor: | ||
| - | ^Public Key: | 857d939db34d0afdeb7cb6ee4cddfc59aab02dc6efd1e76d14fc318e4e54c1e2 | | ||
| - | |||
| - | ==== Sechelt_PBay ==== | ||
| - | |<100% 8em>| | ||
| - | ^Location: | ||
| - | ^Equipment: | ||
| - | ^Sponsor: | ||
| - | ^Public Key: |d7ed6f8f764ca63a4158108d3a24fde6e8df836b6f63aa09ef2a2060b0bd304f | | ||
| - | |||
| - | ==== SSAC-1 ==== | ||
| - | |<100% 8em>| | ||
| - | ^Location: | ||
| - | ^Equipment: | ||
| - | ^Sponsor: | ||
| - | ^Public Key: |6dfc25cb2d0a6efe8520f469d9ac2e8c5dacde42c4d380cf553dd05bf768b1e2 | | ||
links/meshcore/home.1777343083.txt.gz · Last modified: by va7fi
