Flashing Devices
TOMMY Flasher
TOMMY includes a built-in web-based flasher that allows you to flash ESP32 devices from your browser.
Requirements
- Chrome or Edge (WebSerial API support required)
- Device connected via USB or UART
- TOMMY dashboard running (Home Assistant add-on or Docker)
Flashing Process
1. Access the Flasher
- Open the TOMMY dashboard in your browser
- Click the 'Flash' button in the 'Available Devices' section
- Select 'TOMMY Flasher' as flash method
- Select your device from the available options
2. Connect Your Device
- Connect your device to your computer via USB or UART
- Click "Connect device" in the flasher interface
- Select the appropriate serial port from the browser dialog
- The flasher will automatically detect your device and display:
- Variant: Device model
- Board ID: Unique chip identifier
- MAC Address: Device network identifier
3. Flash the Firmware
- Once connected, click "Flash Device"
- The flashing process will begin automatically
- Monitor the progress bar as the firmware is written
- Wait for the "Device flashed successfully" confirmation
After Flashing
Once flashing is complete, your device will:
- Restart with TOMMY firmware
- Some devices don't restart automatically and require a manual reset by pressing the reset button or unplugging and reconnecting the USB cable
- Create a Wi-Fi hotspot named
TOMMY_[MAC_SUFFIX] - Wait for Wi-Fi configuration at
http://192.168.4.1
Wi-Fi Provisioning
- Connect to the device hotspot:
TOMMY_[MAC_SUFFIX] - Open
http://192.168.4.1in your browser - Enter your Wi-Fi credentials:
- Wi-Fi Network (SSID) (required): Your Wi-Fi network name
- Wi-Fi Password (required): Your Wi-Fi password
- Instance IP (optional): The IP address of your TOMMY instance
- File Server HTTP Port (optional): Defaults to
8090 - File Server HTTPS Port (optional): Defaults to
8091
Note: Make sure to use the correct Wi-Fi band (2.4GHz or 5GHz) that your device supports. Instance IP and ports are optional but recommended as a fallback for when auto-discovery using mDNS isn't possible.
Troubleshooting Connection Issues
If you can't connect to your device:
- Ensure USB cable supports data transfer (not power-only)
- Try different USB ports
- Install USB-to-serial drivers if required
- Unplug and reconnect the USB cable
- Ensure you're using a supported browser (Chrome or Edge)
Security Notes
- All flashing happens locally in your browser
- Firmware files are served from your local TOMMY instance
- Your browser communicates with the device