# Flashing Meshtastic Firmware

## Flashing Meshtastic Firmware

Meshtastic firmware is flashed via the web flasher at **flasher.meshtastic.org** or via the Meshtastic Python CLI. The process is similar to MeshCore but has some differences in device selection and channels.

### Web Flasher

1. Open **flasher.meshtastic.org** in Chrome or Edge. Firefox will not work (no WebSerial support).
2. Connect the device via a USB data cable. Enter bootloader mode: 
    - ESP32: hold BOOT button while plugging in
    - nRF52: double-tap reset button
    - T-Deck: depress trackball while connecting
3. Select your device from the dropdown. If your device is not listed, check the Meshtastic hardware support page.
4. Choose firmware channel: 
    - **Stable** - recommended for most users; well-tested
    - **Alpha** - latest features, may have bugs
5. Click Flash. The process takes 1 - 3 minutes depending on device.

### Driver Requirements

Some devices require USB-serial drivers before the OS will recognise them:

<table id="bkmrk-chipdrivercommon-dev"><thead><tr><th>Chip</th><th>Driver</th><th>Common Devices</th></tr></thead><tbody><tr><td>CH340/CH341</td><td>CH340 driver (Windows/macOS)</td><td>Heltec V3, V4, some LilyGo</td></tr><tr><td>CP2102</td><td>Silicon Labs CP210x driver</td><td>Some T-Beam variants</td></tr><tr><td>USB native</td><td>No driver needed</td><td>T-Echo, RAK WisBlock, most nRF52</td></tr></tbody></table>

### First-Time Configuration

After flashing Meshtastic, use the [Meshtastic app](https://wiki.meshamerica.com/books/hardware-guide/page/meshtastic-app) (Android/iOS) or web client to configure:

- **Region:** Set to US (915 MHz) for North America. Wrong region = cannot communicate with local nodes.
- **Role:** CLIENT for personal devices; ROUTER or REPEATER for infrastructure/repeater nodes (ROUTER\_CLIENT is deprecated in recent firmware).
- **Long name / short name:** How you appear to other users on the mesh.
- **Channel:** Must match other nodes you want to communicate with. Default channel works for public networks.

### Re-Flashing Between Firmware Versions

You can move between Meshtastic stable and alpha, or between Meshtastic and MeshCore, at any time. Re-flashing is non-destructive to the hardware. Configuration is reset when flashing a new firmware type, so note your settings before switching.