====== Meshcore ====== ===== Introduction ===== From [[wp>MeshCore |Wikipedia]]: 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, multi-hop wireless messaging without reliance on cellular networks or internet infrastructure. Use cases include emergency and disaster communications, outdoor and remote activities, [...] and experimental and educational deployments of low-power mesh networking. [It] is designed to [...] operate in unlicensed [[wp> ISM_radio_band |ISM frequency bands]] such as 868 MHz and 915 MHz, depending on regional regulations. The basic idea is that you get a small //companion device// that you pair to your cell phone via bluetooth, and via that device, you can text others or post public messages using the 915 MHz band, all without a special license. ===== Getting Started: Companions ===== * Get a companion device like: * the //Wio Tracker L1 Pro// from [[https://www.seeedstudio.com/Wio-Tracker-L1-Pro-p-6454.html |seeed studio]] or from [[https://ca.robotshop.com/products/seeedstudio-wio-tracker-l1-pro-w-oled-3d-printed-casing |Robot Shop]] * FIXME: add other options here * Flash the device with the latest Meshcore Firmware]]. * Pair the device with your phone. * Turn off Auto-Add Contacts. * On linux, you may have to add the ''dialout'' group to your user. To do that, type the following in the terminal replacing ''USER'' with your username: sudo usermod -a -G dialout USER * You should also use a Chromium based web browser. If you already have Meshcore installed , download your current settings: * Open the MeshCore app ([[https://play.google.com/store/apps/details?id=com.liamcottle.meshcore.android|Android]], [[https://apps.apple.com/us/app/meshcore/id6742354151?platform=iphone |iOS]], [[https://app.meshcore.nz/|Web App]], [[https://github.com/liamcottle/meshcore.js|NodeJS]], [[https://github.com/fdlamotte/meshcore-cli|Python]]) * Navigate to the Settings (the gear in the top right corner) * Scroll down to the ''Extra Tools'' section and select ''Export Config'' * ''Select All'' and click on the check mark in the top right corner to save the ''.json'' file to your phone. Flash the Meshcore Firmware: * Connect the companion device to your computer via USB. * Go to https://meshcore.io/flasher (using a Chromium Browswer). * Select your device * Select Companion Bluetooth * Select Enter DFU Mode * Select Erase Flash * Select Flash To re-load the 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's screen * Skip Setup * Navigate to the Settings (the gear in the top right corner) * Scroll down to the ''Extra Tools'' section and select ''Import Config'' * Click on ''Select File'' * Select the ''*.json'' file * ''Select All'' and click on the check mark in the top right corner. See [[https://scottbaker.ca/meshcore/getting-started|Scott Baker's article]] for more information. \\ ===== Next Step: Repeaters ===== * Install a repeater like the //SenseCAP Solar Node P1-Pro// from [[https://www.seeedstudio.com/SenseCAP-Solar-Node-P1-Pro-for-Meshtastic-LoRa-p-6412.html|seeed studio]] or [[https://ca.robotshop.com/products/sensecap-solar-node-p1-pro-for-meshtastic-w-gps-battery |RobotShop]] * Use an antenna like [[https://mappingnetwork.ca/products/rakwireless-8dbi-fiberglass-antenna?srsltid=AfmBOopWTWkyL8aL4kKvxOAXJFYNEEIgaoj4ZICvCRaorahbFwbbHdHW|this one]], [[https://www.amazon.ca/Waterproof-Fiberglass-SenseCAP-EasyLinkIn-SyncroB/dp/B09N2H166D/|this one]] or [[https://www.aliexpress.com/item/1005005132142342.html |one of these]]. If you already have Meshcore installed (but not the bootloader), download your current settings: * Go to https://config.meshcore.io/ * Connect your device to your computer with a USB cable. * Click on ''Connect'' * Click on ''Export'' * Click on ''Disconnect'' * Locate the ''.json'' file (probably in your Downloads folder). Download the bootloader: * Go to https://meshcore.io/flasher * Select your device * Select ''Repeater'' (or ''Room Server'') * Click on ''Download'' * Select the ''*bootloader-x.x.x-OTAFIXx.x.uf2'' file * Locate the ''.uf2'' file (probably in your Downloads folder). 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 ''.uf2'' file to the drive. * The drive may close on its own right away. This is normal. Flash the Meshcore Firmware: * Go to https://meshcore.io/flasher * Select your device * Select ''Repeater'' (or ''Room Server'') * Select ''Enter DFU Mode'' * Select ''Erase Flash'' * Select ''Flash'' Re-upload your settings: * Select ''Configure via USB'' from the previous page, or navigate to https://config.meshcore.io/ * Select ''Connect'' * Select ''Import'' * Select your ''.json'' file * Scroll down to the ''Access'' section and retype your ''New Admin password'' (it doesn't remember it) * Scroll down and select ''Save settings'' * Select ''Disconnect'' Setup the Over the Air (OTA) update app (first time only): * Download the "nRF Device Firmware Update" app by "Nordic Semiconductor ASA" ([[https://play.google.com/store/apps/details?id=no.nordicsemi.android.dfu |Android]], [[https://apps.apple.com/sa/app/nrf-device-firmware-update/id1624454660 |Apple]]) * Open the ''DFU'' app * In the settings, check ''Packet receipt notification'' Perform an OTA update: * Using your phone's browser, navigate to https://meshcore.io/flasher * Select your device * Select ''Repeater'' (or ''Room Server'') * Select ''Download'' * Select the firmware ''zip'' file (**not** the bootloader file) * Using the Meshcore app, login to your repeater (or room server) using the admin password. * For Room Servers: go to ''Remote Management'' * Go to the ''Command Line'' * Type ''start ota'', you should get a message that says: ''OK - mac: xx:xx:xx:xx:xx:xx'' * Open the ''DFU'' app * Under ''File'' click ''Select'' to chose the firmware ''.zip'' file * Under ''Device'' click ''Select'' and chose the device that has ''DFU'' in the name. * Under ''Progress'' click ''Start'' See [[https://scottbaker.ca/meshcore/repeater-setup |Scott Baker's article]] for more information. \\ ===== More Advanced: Sensors ===== * Install [[https://www.localmesh.nl/en/meshcore-telemetry-functions/|sensors]]. ===== Maps ===== * [[https://map.meshcore.dev/?zoom=10&lat=49.5127&lon=-123.5797| Official MeshCore Node map]] * [[https://swbc.meshmapper.net/ |Community generated map]] * [[https://ridgeline.ve7kod.ca/live |SWBC Map with links]] by VE7KOD {{ :links:meshcore:meshcore_repeaters.jpg?500 }} Here's how to use MeshCore's Antenna Coverage tool to model line of sight coverage: * Navigate to the [[https://app.meshcore.nz/ |web version of the MeshCore App]] * You don't need to connect to an actual Meshcore device. * Click on \$\quad \vdots \quad \$ on the top right corner and then select ''Tools'' * Enter the ''Antenna Coverage'' tool * Where it says ''0 Coverage Layers'' click on \$\quad \vdots \quad \$ and select ''Import JSON'' * Import {{ :links:meshcore:coverage_layers_2026-03-27-221828.json |this file}} \\ ===== Tools ===== * [[https://analyzer.letsmesh.net/map?lat=44.46703&long=-99.43156&zoom=2 |MeshCore Analyser]] * [[https://heywhatsthat.com/profiler.html |Path Profiler]] ===== Resources ===== * Official MeshCore [[https://meshcore.io |Website]] and [[https://github.com/meshcore-dev/MeshCore| Github]] * [[https://youtu.be/OwmkVkZQTf4 |Youtube Presentation by Liam Cottle]] * [[https://scottbaker.ca/meshcore |Scott Baker's Website]] * {{:links:meshcore:mc_viard_document.pdf |Vancouver Island Amateur Radio Discord Meshcore tips & Tricks}} NEW * [[https://salishmesh.net/ |Salish Mesh Website]] * [[https://forum.letsmesh.net/ |Forum]] * [[https://www.austinmesh.org/learn/meshcore-vs-meshtastic/ |MeshCore vs Meshtastic]] * [[https://idahomesh.org/meshcore-channels-rooms-and-dms/ |Channels vs Rooms vs DMs]] /* ===== List of Repeaters on the Coast ===== ==== VA7KRZ-Gibsons-RP1 ==== |<100% 8em>| ^Location: |Kitchen Window, Gibsons (49.414161, -123.515539) | ^Equipment: |Heltec V3 with a 5.8 dBi Antenna | ^Orientation: |Clear line-of-sight toward Richmond / Lower Mainland | ^Sponsor: |Adam, VA7KRZ | ^Public Key: |612826cd886fd45bc6ce607308d14a4cb77b49673042d9844bf54242df5e74d8| Under Construction: |<100% 8em>| ^Location: |Roof, Gibsons (49.414161, -123.515539) | ^Equipment: | RAK19004 (power module), RAK19007 (Baseboard), RAK4631 (LoRaWAN module)| ==== VA7FI - SenseCap ==== |<100% 8em>| ^ Location: | Atop a 20 m tree in Roberts Creek | ^ Equipment: | SenseCAP with stock antenna | ^ Sponsor: | Patrick, VA7FI | ^ Public Key: | 0c035f5ec37944b7f7df9599cf2b74fd8b75851481dda4aac0c813854fca1726 | ==== VA7XES - Roberts Creek ==== |<100% 8em>| ^Location: |Roberts Creek (49.449751, -123.653155) | ^Equipment: |:?: | ^Sponsor: |:?: | ^Public Key: | 857d939db34d0afdeb7cb6ee4cddfc59aab02dc6efd1e76d14fc318e4e54c1e2 | ==== Sechelt_PBay ==== |<100% 8em>| ^Location: |:?: | ^Equipment: |:?: | ^Sponsor: |Gary, VA7GYT | ^Public Key: |d7ed6f8f764ca63a4158108d3a24fde6e8df836b6f63aa09ef2a2060b0bd304f | ==== SSAC-1 ==== |<100% 8em>| ^Location: |On roof of Sechelt Senior Activity Centre (49.4757, -123.7580) | ^Equipment: |SenseCAP Solar Node P1-Pro with FIXME: Antenna | ^Sponsor: |Larry, VA7LSP | ^Public Key: |6dfc25cb2d0a6efe8520f469d9ac2e8c5dacde42c4d380cf553dd05bf768b1e2 | */