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:

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, or 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:

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:

Firmware Variants - Flash the Correct One

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

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


Revision #6
Created 2026-05-03 04:15:58 UTC by Mesh America Admin
Updated 2026-06-08 19:44:46 UTC by Mesh America Admin