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:
- Connect device via USB
- Open flasher.meshcore.io in Chrome/Edge
- Click Connect and select your device's serial port
- Choose your device model
- Click Flash - do not disconnect during flashing
- 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)¶
For hard to reach devices it can be very convenient to update firmware over-the-air (OTA) via Bluetooth without use of a USB cable. Most devices can support this, but may need to be flashed with an OTA capable bootloader before installing meshcore itself.
This page provides links to the latest bootloader and instructions on how to install.
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.