Author: Processware
Version: 3.0.0
Description: Flask-powered ESPConnect v1.09 with integrated ESP32 diagnostic tools
Major Update: Merged with upstream ESPConnect v1.09!
β
Fixed flash size determination - More reliable flash operations
β
CH340 baud auto-lower - Automatically uses 460,800 for CH340 chips
β
Pause/Resume Serial Monitor - Freeze output temporarily
β
More chip support - ESP32-C2, C5, C6, C61, H2, P4, P4R3
β
Espressif documentation links - Direct links to datasheets and TRM
β
Better USB bridge detection - Improved hardware compatibility
β
Higher baud rates - Faster flashing options
β
LittleFS folder navigation - Browse folders in LittleFS
β
WebSerial_ESPTool updates - Latest flashing improvements
β
Flask Backend - Serves ESPConnect on port 8080
β
Diagnostic Tab - Hardware analysis with auto-flash
β
Auto-Capture - Automatic diagnostic data collection
β
Pre-compiled Firmware - Ready-to-flash diagnostic bins
β
I2C Scanner - Detect and identify I2C devices
β
REST API - Programmatic access to diagnostics
Complete rewrite with powerful diagnostic capabilities:
β
Flask Backend - Serves ESPConnect Vue.js frontend on port 8080
β
Diagnostic API - REST endpoints for ESP32 hardware analysis
β
Pre-compiled Firmware - Ready-to-flash .bin files (ESP32, S2, S3, C3)
β
I2C Scanner - Detect and identify connected I2C devices
β
Web Integration - Beautiful diagnostic display in browser
β
JSON Output - Structured data for easy parsing
# Install dependencies
pip install -r requirements.txt
# Run server
python app.py
# Open browser β http://localhost:8080
# Flash firmware β bin/diagnostic-esp32.bin
# View diagnostics β Serial Monitor (115200 baud)espconnect-flask/
βββ app.py # Flask server with diagnostic API
βββ static/ # ESPConnect Vue.js frontend (9.2 MB)
βββ bin/ # Pre-compiled diagnostic firmware (1.1 MB)
β βββ diagnostic-esp32.bin # ESP32 (291 KB)
β βββ diagnostic-esp32-s2.bin # ESP32-S2 (250 KB)
β βββ diagnostic-esp32-s3.bin # ESP32-S3 (278 KB)
β βββ diagnostic-esp32-c3.bin # ESP32-C3 (271 KB)
βββ firmware/ # Diagnostic tool source code
β βββ esp32-diagnostic-tool/
β βββ src/main.cpp # Complete firmware (500+ lines)
β βββ platformio.ini
βββ docs/ # Documentation
β βββ INTEGRATION_GUIDE.md
β βββ DiagnosticTab.vue
βββ Dockerfile
βββ docker-compose.yml
βββ DEPLOYMENT.md
- Flash ESP32 firmware via browser
- Read/write flash memory
- Partition management
- Serial monitor
- File system management
- No drivers needed
- β Chip info (model, cores, frequency, MAC)
- β Memory analysis (Heap, PSRAM, Flash)
- β GPIO pinout with warnings
- β I2C scanner with device identification
- β System info (SDK, uptime)
- β JSON output for web integration
- β REST API for diagnostic data
- β CORS support
- β Health check endpoint
- β I2C device database
- β Docker ready
Parse serial output and extract JSON
List all stored diagnostics
Get specific diagnostic data
Upload diagnostic JSON
Delete diagnostic data
Get I2C device database
Full API docs: docs/INTEGRATION_GUIDE.md
| Board | Firmware File |
|---|---|
| ESP32 DevKit, WROOM | bin/diagnostic-esp32.bin |
| ESP32-S2 | bin/diagnostic-esp32-s2.bin |
| ESP32-S3 | bin/diagnostic-esp32-s3.bin |
| ESP32-C3 | bin/diagnostic-esp32-c3.bin |
- Open http://localhost:8080
- Connect β Select ESP32
- Flash Firmware tab
- Choose
.binfile - Offset: 0x10000
- Click Program
- Serial Monitor tab
- Baud: 115200
- Press Reset
- Copy JSON output
{
"diagnostic_tool": {
"chip": {
"model": "ESP32",
"cores": 2,
"frequency_mhz": 240,
"mac_address": "24:6F:28:XX:XX:XX"
},
"memory": {
"heap": { "total_kb": 327, "free_kb": 298 },
"flash": { "size_mb": 4, "speed_mhz": 40 }
},
"i2c_scan": {
"devices": [
{ "address": "0x3c", "likely": "OLED Display (SSD1306)" },
{ "address": "0x68", "likely": "MPU6050 IMU" }
]
}
}
}docker-compose up -dAccess at http://localhost:8080
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:8080 wsgi:appserver {
listen 80;
location / {
proxy_pass http://localhost:8080;
}
}Full guide: DEPLOYMENT.md
| Board | Status |
|---|---|
| ESP32 (WROOM, DevKit) | β Tested |
| ESP32-S2 | β Tested |
| ESP32-S3 | β Tested |
| ESP32-C3 | β Tested |
| ESP32-C6 |
Chromium-based only:
- β Chrome, Edge, Brave, Opera
- β Firefox, Safari (no Web Serial API)
cd firmware/esp32-diagnostic-tool
# Edit src/main.cpp
pio run -e esp32dev
# Binary: .pio/build/esp32dev/firmware.binCan't connect: Use Chromium browser, check USB cable
Flash fails: Hold BOOT button, check offset is 0x10000
I2C empty: Check wiring, add 4.7kΞ© pull-ups
API errors: Check Flask server logs
docs/INTEGRATION_GUIDE.md- Web integration tutorialDEPLOYMENT.md- Production deploymentfirmware/esp32-diagnostic-tool/FLASH_NOW.md- Firmware guidebin/README.md- Pre-compiled firmware docs
- Flask backend with diagnostic API
- Pre-compiled firmware for all ESP32 variants
- I2C scanner with device identification
- Web integration components
- Docker support
- Vue.js frontend
- Web Serial API
- Flash programming
MIT License
- Author: Processware
- Original ESPConnect: thelastoutpostworkshop
- Framework: Flask + Vue.js + PlatformIO
git clone https://github.com/me-processware/ESPConnect.git
cd ESPConnect
pip install -r requirements.txt
python app.py
# Open http://localhost:8080Built with β€οΈ by Processware