# Firmware and Software FAQ

# How do I update my Meshtastic firmware?

## The Easy Way: Web Flasher

The Meshtastic web flasher at [flasher.meshtastic.org](https://flasher.meshtastic.org) handles everything automatically. It works in Chrome and Edge (Firefox does not support WebSerial).

1. Connect your device to your computer via USB
2. Open flasher.meshtastic.org in Chrome or Edge
3. Click "Connect" and select your device's serial port
4. The flasher auto-detects your board type and shows the latest stable release
5. Click "Flash" and wait 2-3 minutes for the process to complete
6. The device reboots automatically when done

**Your configuration is preserved during a normal update.** Settings stored in flash persist through firmware updates in most cases. However, feature releases (e.g., 2.2.x to 2.3.x) can occasionally reset settings - always export your config before any update.

## Exporting Config Before Updating

```
meshtastic --export-config > my-node-config.json
```

This saves all your settings to a JSON file. If the update resets your config, restore with:

```
meshtastic --import-config my-node-config.json
```

## Over-the-Air (OTA) Updates

ESP32-based boards (such as Heltec and most T-Beam variants) are updated over USB with the Web Flasher (or the CLI/esptool) - they are not flashed over Bluetooth. nRF52840 boards such as the RAK4631 and T-Echo do support Bluetooth OTA via the Nordic nRF DFU process (in addition to USB UF2 drag-and-drop flashing) - note that DFU OTA carries some risk of a failed update, so keep USB recovery available. A few nRF52840 boards (for example the Seeed XIAO nRF52840) are UF2/USB-only and cannot be updated over Bluetooth. When an in-app "Firmware Update" option is available for your board in the Android app, it is convenient for nodes that are accessible but not near a computer.

## How Often Should I Update?

For personal devices: update when you want new features or bug fixes. There's no urgency unless a security issue is announced. For community infrastructure nodes: test new firmware on a non-critical node first, then coordinate with the community before updating. Avoid updating repeaters mid-event or during high-use periods.

## When NOT to Update

- During an active emergency operation - never update infrastructure during an event
- If your network is working well and other nodes are on older firmware - major version jumps can cause compatibility issues until all nodes update
- Right before a planned use - allow 24 hours to discover and fix any update-related issues

# What Meshtastic firmware version should I run?

## Always Run Stable Releases on Infrastructure

Meshtastic releases three types of firmware builds:

*Version numbers below are illustrative examples only. Firmware versions change frequently - always check the [official Meshtastic releases page](https://github.com/meshtastic/firmware/releases) for the current stable and beta versions (examples shown reflect the 2.x release line as of 2026).*

<table id="bkmrk-build-typestabilityu"><thead><tr><th>Build Type</th><th>Stability</th><th>Use for</th></tr></thead><tbody><tr><td>**Stable** (e.g., 2.7.x as of 2026 - check for the current release)</td><td>High</td><td>All production nodes and community repeaters</td></tr><tr><td>**Beta** (current release line, beta channel - check for the current label)</td><td>Medium</td><td>Personal testing nodes only</td></tr><tr><td>**Alpha / Nightly**</td><td>Low</td><td>Developers only; may have breaking bugs</td></tr></tbody></table>

## Version Compatibility

Meshtastic maintains backward compatibility within a major version (2.x). All 2.x nodes can communicate with each other, though newer firmware may use packet formats that older firmware ignores. Avoid running 1.x firmware anywhere on an active 2.x network - the 1.x and 2.x lines use different protocol and encryption defaults and are effectively incompatible on the same mesh.

Public Key Cryptography (PKC/PKI) Direct Messaging was introduced in firmware **2.5.0** and requires both nodes to run 2.5.0 or newer for public-key-encrypted DMs. Channel messages still work across 2.x versions regardless; only direct messages between nodes that are both on 2.5.0+ (and have exchanged keys) receive PKI encryption. DMs to or from devices on 2.4.3 or older firmware are not protected by PKI.

## Checking Your Current Version

In the [Meshtastic app](https://wiki.meshamerica.com/books/hardware-guide/page/meshtastic-app): Settings → About, or check the device info screen. Via CLI:

```
meshtastic --info | grep Firmware
```

## Upgrading a Community Network

For coordinated community upgrades across multiple repeaters:

1. Announce the planned update in your community communication channel
2. Update one non-critical repeater first and test for 48-72 hours
3. If no issues, update remaining repeaters in off-peak hours (late night)
4. Document firmware versions for each node in your network inventory

# How do I factory reset my node?

## When to Factory Reset

Factory reset clears all configuration and returns the node to out-of-box defaults. Do this when:

- You've changed so many settings that the node misbehaves and you can't identify the cause
- You're repurposing a node from one network to another and want a clean start
- Selling or giving away a node (removes your channel keys and personal info). A factory reset clears your channel keys and configuration, but verify there is no message history or personal data on an inserted SD card, and note that other nodes on the mesh may retain a record of your node ID until it ages out. Remove any SD card before transferring a device.
- As a last resort after troubleshooting fails

## Via the App

In the Meshtastic Android/iOS app with the node connected: Settings → Device → Reset Node DB (resets node database only) or Factory Reset (clears all configuration). This is the recommended method for non-technical users.

## Via CLI (advanced/optional)

The command below is advanced/optional - it requires the separate Meshtastic command-line tool installed on a computer and a USB connection to the node. If you are not comfortable with the command line, use the in-app Factory Reset described above instead.

```
meshtastic --factory-reset
```

This clears all radio configuration, channels, and user settings. The node reboots and appears with default settings. Note: this does NOT clear the firmware - you will still be on the same firmware version after a factory reset.

## Via Hardware (Button)

Most boards support a hardware factory reset by holding the user button during power-on, or pressing it a specific number of times. Check the Meshtastic documentation for your specific board model. The hardware method is useful when you can't connect to the device via Bluetooth or USB.

## What Factory Reset Does NOT Do

- Does not change the firmware version
- Does not change the hardware node ID (derived from the hardware MAC address, not erasable). Note, however, that a factory reset does regenerate the node's encryption keys, which can break direct messaging with nodes that cached your old key until they re-exchange keys with you.
- Does not affect other nodes on the network - their node databases will still have a record of your node until it ages out

## After a Factory Reset

You'll need to reconfigure everything: region, channel, role, position (if fixed), and any module settings. If you exported your config before resetting, restore it with:

```
meshtastic --import-config my-node-config.json
```

If you're joining a community network, obtain the channel QR code or URL from the network coordinator and scan/tap it to configure your channels automatically.