Working on a new tool and want your advice on it.
I'm a CS student getting into embedded systems and I ran into a problem that kept facing:
ESP32 takes a time to compile, and if you're using something like Arduino IDE and just trying to flash the same file again it recompiles everything from scratch — even if nothing changed. That's a of wasted time when you're iterating fast on firmware.
So instead, what my project does is that it detects when a board is plugged in, checks if the source file has actually changed using a hash comparison, compiles only when necessary, flashes the firmware automatically, runs a test suite over serial to validate responses, and logs everything to a SQLite database for full traceability.
The USB detection and flashing are done. Rest of the pipeline in progress.
Known issues I'm aware of:
- Board-specific drivers still need manual setup per machine
- Currently only reliable on Linux/Mac — Windows COM port detection is inconsistent
- STM32 support via st-flash is still rough
- Not containerizable cleanly due to USB passthrough limitations in Docker
Looking for:
- Feedback on whether this is actually useful to other embedded developers
- Whether anyone has hit similar walls building something like this
- Any suggestions on the architecture or approach
Has anyone built something similar or know of existing tools that solve this better?
and is this project worth building on? and is there any use of open sourcing it?
Want me to adjust the tone or add anything specific?