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.co.uk
Browser Requirements
The WebSerial API is only available in Chromium-based browsers (the WebSerial API shipped in Chrome/Edge 89 - see MDN/Can I Use):
- 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, T114, 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
- 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 radio parameters (frequency, spreading factor, bandwidth, coding rate).
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 whose name depends on the board's bootloader (for example, a RAK4631 mounts under its own board-specific label, while a nice!nano mounts as
NICENANO) - the exact label varies by board, so look for any newly-appeared USB drive. - 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+ includes a built-in CP210x (CP2102) driver. CH340/CH341 support varies by macOS version (it is absent or unreliable on several releases); if a CH340-based device is not recognized, install the WCH CH34x macOS driver. If the device doesn't appear, check System Information > USB.