Skip to main content

Flashing MeshCore Firmware

Flashing MeshCore Firmware

MeshCore firmware can be installed on supported hardware using two primary methods: the MeshCore Web Flasher (browser-based, for both initial flashingbased) and OTA updates) and UF2 drag-and-drop (for nRF52840 boards only). This page covers both methods and includes platform-specific setup notes for Windows, Linux, and macOS.

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.ukio

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, SafariNOT supported. WebSerial is not implemented in these browsers.

Step-by-Step: Initial Flash

  1. Open flasher.meshcore.co.ukio in Chrome or Edge.
  2. Connect your board to your computer via USB.
  3. Select your board type from the dropdown (e.g., RAK4631, T-Beam v1.2, Heltec V3).
  4. Select the firmware variant you want to flashflash:
    • Companion — for personal use nodes (REPEATER,connects ROOM_CLIENT,to ROOM_SERVER,MeshCore orapp)
    SENSOR).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–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 RAK4631 or NICENANO. 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 that(CP2102, requireCH340, Windows drivers:

        CH340 / CH341 — used on many TTGO/LILYGO boards (T-Beam). Download the CH340 driver from the manufacturer (WCH) if Windows does not auto-install it. After installation, the device should appear in Device Manager as "USB-SERIAL CH340 (COMx)". CP2102 / CP2104 — used on some Heltec boards and others. Download from Silicon Labs. Device Manager will show "Silicon Labs CP210x USB to UART Bridge (COMx)". ESP32-S3 native USB — boards like T-Beam Supreme and Heltec V3 with native USB do not need a bridge driver. They appear as "USB Serial Device (COMx)" automatically. nRF52840 (RAK4631, T114, HT-n62) — when in bootloader mode for WebSerial flashing, appear as a USB serial device without a separate driver. When in UF2 mode, appear as a USB drive.

        After installing drivers, a reboot may be required. Verify the device is visible in Device Manager under "Ports (COM & LPT)" before proceeding with the flasher.

        Linux

        Linux does not require driver installation — the CH340 and CP210x drivers are built into the kernel. However, your user account must have permission to access the serial device:

          Verify the device is present: ls /dev/ttyUSB* /dev/ttyACM* Check your group membership: groups $USER If you are not in the dialout group (required for serial access): sudo usermod -aG dialout $USER Log out and back in (or run newgrp dialout in the current shell) for the group change to take effect. For nRF52840 boards in UF2 mode, the USB drive will mount automatically via udev. No additional rules are needed for mounting. Chrome on Linux may require an additional udev rule to allow WebSerial access without root. Create /etc/udev/rules.d/50-webserial.rules with appropriate rules for your USB device VID:PID, then run sudo udevadm control --reload-rules.

          macOS

          macOS includes built-in CH340 and CP210x support in recent versions (macOS 10.15+)FTDI). If the deviceboard doesis not appear:

            Install the appropriate driver from the manufacturer (WCH or Silicon Labs). After installing on macOS 12 or later,recognized, you may need to allowinstall the driver infor Systemyour Settingsspecific USB Privacychip. &Check Security.Device Manager for unknown devices. Common driver sources:
              CP2102/CP2104: Silicon Labs VCP driver
              TheCH340/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 devicetools, willadd appearyour asuser to the /dev/cu.usbserial-XXXXXXXXdialout orgroup: /dev/cu.usbmodem...sudo usermod -a -G dialout $USER.

              Chromeand log out/in.

              macOS

              macOS 11 and later include drivers for CP2102 and CH340. Older macOS supportsversions WebSerialmay withoutneed additionalmanual configurationdriver onceinstallation. If the device isdoesn't recognized.

              appear, check

              MethodSystem 2:Information UF2> Drag-and-Drop Flashing (nRF52840 Boards Only)

              nRF52840-based boards (RAK4631, T114, Heltec HT-n62) support the UF2 bootloader, which presents the board as a USB mass storage device (like a flash drive). Flashing is as simple as copying a file.USB.

              Entering Bootloader Mode

                RAK4631: Double-tap the reset button rapidly. The board's LED will pulse and a drive named RAK4631 will appear on your computer. T114: Double-tap the reset button. Drive labeled T114 or similar appears. Heltec HT-n62: Double-tap the reset button. Drive appears as NRF52BOOT or similar.

                Flashing Steps

                  Download the appropriate .uf2 firmware file from the MeshCore GitHub releases page or from flasher.meshcore.co.uk (use the "Download" option instead of "Flash"). Enter bootloader mode on your board (double-tap reset). Drag and drop the .uf2 file onto the USB drive that appears. The board will automatically eject the drive, write the firmware, and reboot into MeshCore.

                  Advantages of UF2: No browser required, no driver issues, works on any operating system with USB mass storage support, works even if the WebSerial approach is blocked by corporate IT policy.

                  After Flashing: First Boot Configuration

                    Open the MeshCore app on Android or iOS. Enable Bluetooth on your phone and open the app. The app will scan for nearby MeshCore devices. Your newly flashed node will appear (possibly listed as "MeshCore" with a default name). Tap to connect. The app will pair via BLE. Navigate to Settings and configure:
                      Node name — a unique name for your node (max ~16 characters) Preset — frequency and LoRa parameters. Select the preset matching your region and the network you are joining (e.g., US_915_LF for 915 MHz long range, EU_868_LF for 868 MHz) TX power — set to the maximum legal power for your region unless you have a specific reason to limit it Save settings. Your node is now ready to join the mesh.