Skip to main content

Updating MeshCore Firmware

Update Frequency

MeshCore releases firmware periodically. Major releases introduce new features and architecture improvements; point releases fix bugs. Check the changelog at github.com/meshcore-dev/MeshCore/releases before updating to understand what has changed.

Checking Your Current Version

You can find your MeshCore firmware version in two ways:

  • MeshCore app (Bluetooth): Connect to the node via the companion app and check the node info panel.
  • Serial console: Connect via USB serial at 115200 baud. The device outputs its firmware version string on boot.

Update Methods

1. MeshCore Web Flasher (Easiest)

  1. Open flasher.meshcore.io in Chrome or Edge (WebSerial required).
  2. Connect your device via USB.
  3. Select your board and firmware variant (Companion, Repeater, Client,or etc.)Room Server).
  4. Click Flash. The flasher downloads the latest release automatically.

This is the recommended method for most users. Ensure you select the correct variant for your node's role.

2. Manual Binary Flash

Download the appropriate binary from the GitHub releases page. The process differs by chip:

nRF52840 devices (RAK4631, Heltec T114, etc.)

These devices expose a USB mass storage drive when in bootloader mode (double-tap the reset button on most boards). Simply drag and drop the .uf2 file onto the drive. The device reboots automatically after the copy completes. No additional software required.

ESP32 devices

Use esptool.py from the command line, or use the web flasher. The web flasher is simpler for most users.

3. OTA (Over-the-Air)

MeshCore supports over-the-air firmware updates, so most updates can now be done without a USB connection:

  • nRF52 boards (RAK, T114, Seeed XIAO): update over Bluetooth using the nRF DFU app.
  • ESP32 boards: run the start ota command to bring up a Wi-Fi hotspot named MeshCore OTA, then upload the firmware from a browser at http://192.168.4.1/update.

USB remains the fallback and is required for first-time flashing. See the MeshCore FAQ section 7 for the current step-by-step OTA procedures.

Configuration After Update

MeshCore stores configuration in flash. Most updates preserve existing settings, but you should:

  • Read the release notes for any breaking configuration changes before updating.
  • After updating, connect to the node and verify your preset, channel key, and role settings are intact.
  • If settings were reset, re-apply your configuration before returning the node to service.

Firmware Variants - Flash the Correct One

MeshCore ships multiple firmware variants for the same hardware, each tuned for a different node role:

  • Companion: For end-user devices paired with a phone or computer app (available as BLE Companion and USB Serial Companion builds).
Repeater: Optimized for infrastructure repeater nodes. Disables unnecessary client features to reduce overhead. Client:Room Server: For end-user devices withRuns a connectedshared appmessage orboard screen.(BBS-style) Otherthat variantsstores mayposts existand dependingforwards onthem theto release.clients when they connect.

Important: If you accidentally flash ClientCompanion firmware onto an infrastructure Repeater node, its behavior will change. Always double-check the variant selection before flashing a deployed node.