Installation & Firmware¶
This page covers firmware flashing in more detail for users who want to go beyond the basic web flasher, or who are working with less common hardware.
Web Flasher (Recommended)¶
The MeshCore web flasher at flasher.meshcore.io handles most ESP32-based devices automatically.
Requirements: - Google Chrome or Microsoft Edge (WebSerial API required) - USB data cable (not a charge-only cable) - Device drivers installed (see below)
Steps: 1. Connect device via USB 2. Open flasher.meshcore.io in Chrome/Edge 3. Click Connect and select your device's serial port 4. Choose your device model 5. Click Flash — do not disconnect during flashing 6. Device reboots automatically when complete
USB Drivers¶
Some devices use USB-to-serial chips that require drivers on Windows and macOS.
| Chip | Used By | Driver |
|---|---|---|
| CP2102 | Heltec V3, some T-Beams | Silicon Labs CP210x |
| CH340 | Many budget ESP32 boards | WCH CH340 Driver |
| FTDI | Some older boards | FTDI VCP Drivers |
Linux typically detects these automatically. macOS may require manual installation for CH340.
Putting Devices into Flash Mode¶
If the web flasher can't communicate with your device, it may need to be put into flash/bootloader mode manually:
Hold PRG button → plug in USB → release after 2 seconds
Hold IO0/BOOT button → plug in USB → release after 2 seconds
Double-tap the RESET button quickly — the device mounts as a USB drive. Drag the .uf2 firmware file onto the drive.
Updating Firmware (OTA)¶
Once MeshCore is installed, you can update over-the-air (OTA) via the app without a USB cable:
- Open the MeshCore app and connect to your device
- Go to Device Settings → Firmware
- If an update is available, tap Update
- Wait for the device to download, flash, and reboot (~3–5 minutes)
Keep the app open during OTA updates
Closing the app or losing Bluetooth connection mid-update can corrupt firmware. Stay close to the device.
Manual Flash with esptool (Advanced)¶
For ESP32 devices, you can flash manually using esptool.py:
# Install esptool
pip install esptool
# Download firmware .bin from https://meshcore.io/downloads
# Flash (replace /dev/ttyUSB0 with your port, COM3 etc. on Windows)
esptool.py --chip esp32s3 --port /dev/ttyUSB0 \
--baud 921600 write_flash -z 0x0 meshcore-heltec-v3-latest.bin
Check the MeshCore documentation for the correct flash address and chip type for your specific device.
Verifying Installation¶
After flashing:
- The device display (if equipped) should show the MeshCore logo or startup screen
- Open the MeshCore app → Add Device → your device should appear in the Bluetooth scan
- After pairing, navigate to Device Info — confirm firmware version shows
MeshCore vX.X.X
If the device doesn't appear in Bluetooth scans, try powering it off and back on after flashing.