Getting Started — Step 2 of 5
Flash the Firmware
variants that can be installed. One device may support multiple MeshCore interfaces.
Most devices ship with Meshtastic firmware. Switching to MeshCore takes about 2 minutes in any modern browser — no drivers, no command line, and it's completely reversible.
Before you start
- A data-capable USB cable — many cheap cables are power-only. If nothing shows up in the browser dialog, try a different cable first.
- Google Chrome or Microsoft Edge — the Web Serial API used by the flasher is not supported in Firefox or Safari.
- Your device — make sure it's charged or plugged in so it doesn't die mid-flash.
Choose your firmware
The flasher at
flasher.meshcore.dev offers several firmware personalities.
Pick one matching your
hardware and planned usage.
Try each of them (over time) to see which
you prefer!
| Firmware | Best for | UI |
|---|---|---|
| Community | Companion radios — phone or web app controls the radio, providing the screen/keyboard via Bluetooth, USB or WiFi. ⭐ Most popular! | Phone/browser app |
| MeshOS | All-in-one devices with built-in screen & keyboard. Lilygo's proprietary software. | On-device screen |
| Ripple | All-in-one devices, alternative to MeshOS. Also closed source. | On-device screen |
| Repeater | Don't select this for your 1st radio! Repeaters can ONLY be accessed & managed from one of the 3 options above, or the web flasher web page via USB. Repeaters extend network coverage by relaying messages. | None (headless) |
| Room Server | Don't select this for your 1st radio! Room servers can ONLY be accessed & managed from one of the top 3 options above, or the web flasher web page via USB. Room servers are a simple bulletin board service (BBS) server for shared posts. | None (headless) |
Not sure? Pick Community — it's the most flexible and works with the MeshCore phone and web apps.
Flashing step by step
- On most ESP32 devices: hold the BOOT button while pressing RST, then release both.
- On the T-Deck: hold the trackball button at power-on.
- Search "[your device name] MCU mode" if unsure.
Screenshot coming soon
Screenshot coming soon
Tip — identifying your device in the list: plug/unplug the USB cable while the dialog is open — a new COM port appears when you plug it back in. Select that port, then click Connect.
Screenshot coming soon
🎉 Done! Your device is now running MeshCore. The screen may show a startup logo or a QR code. Continue to Step 3: First-Time Setup →
Screenshot coming soon
🔧 Troubleshooting
Nothing appears in the serial port dialog
- Try a different USB cable (most common cause — many cables are charge-only)
- Try a different USB port on your computer
- Make sure the device is actually in MCU/bootloader mode
- On Windows: check Device Manager → Ports (COM & LPT) — you should see a new COM port appear when the device is plugged in
Flash fails partway through
- Try again — the flasher is reliable but occasionally needs a second attempt
- Erase first if you haven't already
- Close and reopen the browser tab and start fresh
Device won't enter MCU mode
- Check the community docs for your specific device model
- The PugetMesh Discord is a great place to ask — someone has almost certainly flashed the same device
↩ Switching back to Meshtastic
It's just as easy — open flasher.meshtastic.org and follow the same steps. Nothing is permanently changed.
✅ Device flashed? Next up:
Head to Step 3: First-Time Setup — connect the app, set your region, and give your node a name.