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.ioco.uk
Browser Requirements
The WebSerial API is only available in Chromium-based browsers: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.
ioco.uk 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,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
(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
presetradio parameters (frequency/frequency, spreadingfactorfactor,profile)bandwidth, coding rate).
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. (nRF52 devices also support an over-the-air update path via the start ota CLI command.)
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
namedwhosesomethingnamelikedependson the board's bootloader (for example, a RAK4631ormounts under its own board-specific label, while a nice!nano mounts asNICENANO.) - 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 1111+ andincludes latera includebuilt-in driversCP210x for(CP2102) CP2102driver. andCH340/CH341 CH340.support Oldervaries by macOS versionsversion may(it needis manualabsent driveror installation.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.