Skip to content

Updating Meshtastic devices

Updating Meshtastic devices
May 18, 2026

Introduction

This guide presents update methods for Meshtastic-compatible devices, focusing mainly on ESP32 boards such as LILYGO, Heltec, and Seeed Studio.

Whenever possible, it’s worth prioritizing updates via USB cable. Wired connections tend to offer more stability during the firmware flashing process.

Before you start

Before updating, it’s important to identify:

  • the exact board model
  • the architecture used
  • a compatible build
  • a USB cable with data transmission
  • the state of the power supply
  • the available flashing method

Most update problems happen due to incorrect firmware selection or USB communication failures.

During the process, it’s also worth avoiding:

  • unpowered USB hubs
  • unstable cables
  • accidental disconnections
  • power fluctuations

Interruptions during flashing can corrupt the device’s flash memory.

Update via browser (Web Flasher)

Currently, the simplest update method is the Web Flasher.

Meshtastic Web Flasher Meshtastic (official documentation)

This system uses WebUSB to allow the browser to flash the firmware directly onto the device, reducing the need for command-line tools.

The flow usually consists of:

  1. connecting the board via USB
  2. accessing the web flashing environment
  3. selecting the correct model
  4. choosing the firmware version
  5. starting the update

Chromium-based browsers tend to offer better compatibility, especially:

  • Google Chrome
  • Microsoft Edge
  • Opera

Stable, Beta, and Alpha

Meshtastic firmware is normally distributed across different channels.

Stable

The most stable versions for everyday use and continuous networks.

Beta

Versions with recent features still being validated.

Alpha

Experimental versions used mainly for testing and development.

In networks with multiple nodes, keeping compatible versions helps avoid inconsistent behavior.

Full erase

Some updates allow previous settings to be preserved. In other cases, it may be necessary to perform a “Full Erase,” completely wiping the flash memory.

This procedure is usually recommended when:

  • there is incompatibility between versions
  • the device enters a boot loop
  • settings have been corrupted
  • a previous update failed

After a full erase, the device will need to be configured again.

Particularities in Linux environments

esptool.py (official ESP32 tool) ModemManager

On Linux systems, it’s relatively common to find limitations related to USB permissions and access to serial ports.

Among the most frequent cases:

  • the browser can’t access the board
  • the serial port remains blocked
  • conflicts with ModemManager
  • sandbox restrictions in Snap or Flatpak browsers

Depending on the distribution used, it may be necessary to add permissions related to the groups:

  • dialout
  • uucp

It’s also common to find devices using USB chips such as:

CP210x drivers (Silicon Labs) CH340 drivers (WCH)

Low-level tools

Besides the Web Flasher, there are also update methods using low-level tools.

Among the most common:

  • esptool.py for ESP32
  • UF2 drag-and-drop mode on some nRF52 boards

These methods offer greater control over:

  • partitioning
  • manual flash wiping
  • device recovery
  • individual binary flashing

They are also commonly used when the browser doesn’t correctly recognize the board.

Compatibility between hardware and firmware

Not all devices support every available firmware version.

The most common limitations are related to:

  • available memory
  • power management
  • processing capacity
  • radio support
  • internal storage space

Before updating multiple devices on the same network, it’s worth checking the compatibility of the chosen version with the different hardware present in the mesh.

Further reading

To better understand how hardware, LoRa, and firmware work together within the Meshtastic ecosystem:

Last updated on