A High-Performance, Protocol-Agnostic Debugging Suite for Embedded Systems
Debug anything, anywhere, on any hardware. The ultimate Swiss Army Knife for embedded engineers.
Features • Installation • Architecture • Usage • Contributing
Debugging embedded systems is often fragmented between specialized tools (STM32CubeIDE, Arduino Serial Monitor, Logic Analyzers). universal-debugger bridges this gap by providing a single, high-performance interface that talks to any hardware over any protocol.
Whether you're debugging a custom STM32 control loop, a Raspberry Pi GPIO state, or an Arduino sensor array, this suite provides:
- 🏎️ Extreme Performance: Low-latency data streaming and real-time visualization.
- 🧩 Modular Architecture: Easy to add support for new protocols (UART, SPI, I2C, CAN).
- 📈 Real-time Plotting: Built-in waveform visualizer for PID tuning and sensor fusion analysis.
- 📦 Standalone Binary: Zero-dependency executable for field debugging.
| Feature | Description |
|---|---|
| 📡 Multi-Protocol | Support for UART, SPI, I2C, and CAN (via SocketCAN). |
| 📊 Logic Analyzer | Interactive timeline view of digital signal states. |
| 🎛️ PID Tuner | Dedicated mode for real-time constant adjustment and response plotting. |
| 📝 Smart Logging | Auto-timestamping, CSV export, and regex-based filtering. |
| 🛠️ Memory Inspector | View and modify MCU memory registers on the fly (requires J-Link/ST-Link). |
# Clone the repository
git clone https://github.com/EngineerAbdullahBinZafar/universal-debugger.git
cd universal-debugger
# Install dependencies
pip install -r requirements.txt
# Run the suite
python3 -m universal_debuggergraph TD
A[💻 Universal Debugger UI] --> B{🛠️ Protocol Engine}
B -->|UART| C[USB-to-Serial]
B -->|SPI/I2C| D[FT232H / MCP2221]
B -->|JTAG/SWD| E[ST-Link / J-Link]
C --- F[MCU Target]
D --- F
E --- F
F -->|Telemetry| A
A -->|Live Graphing| G[📊 Waveform Viewer]
A -->|Register View| H[📑 Memory Map]
python3 -m universal_debugger --port /dev/ttyUSB0 --baud 115200 --plot "sensor_val"python3 -m universal_debugger --protocol spi --mode monitor --frequency 10MHzWe welcome contributions from the embedded community!
- Read CONTRIBUTING.md.
- Join our [Discord/Slack] (Placeholder).
- Report bugs via [GitHub Issues].
Developed by Engineer Abdullah Bin Zafar. If this tool saved your hardware from the magic smoke, consider dropping a ⭐!