Flashing MeshCore Firmware
Flashing MeshCore Firmware
MeshCore firmware can be installed on supported hardware using two primary methods: the MeshCore Web Flasher (browser-based) and UF2 drag-and-drop (for nRF52840 boards only).
Method 1: MeshCore Web Flasher
The MeshCore Web Flasher is the recommended method for most users. It runs entirely in a browser and uses the WebSerial API to communicate with the board over USB.
URL: https://flasher.meshcore.io
Browser Requirements
The WebSerial API is only available in Chromium-based browsers:
- Google Chrome (version 89 or later) — recommended
- Microsoft Edge (version 89 or later) — supported
- Firefox, Safari — NOT supported. WebSerial is not implemented in these browsers.
Step-by-Step: Initial Flash
- Open flasher.meshcore.io in Chrome or Edge.
- Connect your board to your computer via USB.
- Select your board type from the dropdown (e.g., RAK4631, T-Beam v1.2, Heltec V3).
- Select the firmware variant you want to flash:
- Companion — for personal use nodes (connects to MeshCore app)
- Repeater — for dedicated packet relay infrastructure nodes
- Room Server — for store-and-forward message hub nodes
- Sensor — for telemetry/environmental monitoring nodes (nRF52840 boards only)
- Select the firmware version (latest stable is selected by default).
- Click Connect. A browser dialog will appear listing available serial ports — select your device.
- Click Flash. The flasher will download the firmware and write it to the device. This typically takes 30-90 seconds.
- The board will reboot automatically after flashing.
- First-boot setup: connect via BLE using the MeshCore app to configure the node name and preset (frequency/spreading factor profile).
Step-by-Step: OTA Update
For updating an existing MeshCore node, the process is the same as initial flash. The flasher will overwrite the existing firmware. Your saved configuration is generally preserved across firmware updates, but it is good practice to note your settings before updating.
Method 2: UF2 Drag-and-Drop (nRF52840 boards only)
Boards based on the nRF52840 MCU (RAK4631, T114, Heltec HT-n62) support UF2 flashing without needing a browser or WebSerial.
- Download the correct .uf2 file for your board and firmware variant from the MeshCore firmware releases page on GitHub.
- Put the board into bootloader mode: double-tap the reset button rapidly. The board will appear as a USB mass storage drive named something like
RAK4631orNICENANO. - Copy the .uf2 file onto the USB drive. The board will automatically flash and reboot.
Platform-Specific Setup Notes
Windows
Many LoRa development boards use USB-to-serial bridge chips (CP2102, CH340, FTDI). If the board is not recognized, you may need to install the driver for your specific USB chip. Check Device Manager for unknown devices. Common driver sources:
- CP2102/CP2104: Silicon Labs VCP driver
- CH340/CH341: WCH driver
- FTDI: FTDI Virtual COM Port driver
Linux
Most USB-serial chips work out of the box on modern Linux. If you get permission errors with WebSerial or serial tools, add your user to the dialout group: sudo usermod -a -G dialout $USER and log out/in.
macOS
macOS 11 and later include drivers for CP2102 and CH340. Older macOS versions may need manual driver installation. If the device doesn't appear, check System Information > USB.