ESP32 firmware flashing tool for GitHub repositories
- Manual Flash: Upload custom
.binfiles with offset addresses - Auto Flash: Automatically detect and flash firmware from repository
- One-Click Deployment: Flash pre-built firmware with single click
- Web Serial API integration (Chrome/Edge 89+)
- Multiple baud rates (115200 to 2,000,000)
- Full flash erase option
- Real-time progress tracking
- Serial monitor with command input
- Device info detection (Chip type, MAC address)
- Hardware reset control
git clone https://github.com/sadabx/esp32-tools.git
cd esp32-toolsfirmware/
├── projects.json # Configuration file
├── project-name/
│ ├── bootloader.bin
│ ├── partitions.bin
│ └── your-firmware.bin
esp32-tools/
├── index.html # Main application
├── style.css # GitHub-themed styles
├── script.js # Core functionality
├── README.md # This file
└── firmware/ # Pre-built firmware
├── projects.json # Project configuration
├── project-name/ # Example project
│ ├── bootloader.bin
│ ├── partitions.bin
│ └── firmware.bin
└── your-project/ # Your firmware here
{
"projects": {
"project-name": {
"name": "Project Display Name",
"version": "1.0.0",
"description": "Project description",
"path": "folder-name",
"files": [
{
"name": "bootloader.bin",
"address": 4096,
"size": 28672
},
{
"name": "partitions.bin",
"address": 32768,
"size": 4096
},
{
"name": "firmware.bin",
"address": 65536,
"size": 1048576
}
]
}
}
}- Connect Device: Click "Connect Device" and select your ESP32
- Add Files: Add binary files with correct offsets
- Configure: Select baud rate and erase option
- Flash: Click "Start Flashing"
- Connect Device: Ensure ESP32 is connected
- Select Project: Choose from repository projects
- Review: Check files and addresses
- Flash: Click "Flash Automatically"
- Connect: Device must be connected
- Monitor: View real-time serial output
- Send: Type commands to send to device
| Browser | Version | Support |
|---|---|---|
| Chrome | 89+ | ✅ Full Support |
| Edge | 89+ | ✅ Full Support |
| Firefox | ❌ | Not Supported |
| Safari | ❌ | Not Supported |
Note: Requires Web Serial API support. Chrome/Edge recommended.
- Chromium based browser
- ESP32 development board
- USB cable
Distributed under the MIT License. See LICENSE for more information.
Contributions are what make the open-source community incredible, and every contribution is truly appreciated. Share your ESP32 open-source projects and distribute firmware directly through the repository.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Note: This tool requires physical access to the ESP32 device via USB and a compatible browser. Always verify firmware integrity before flashing.