Hi everyone,
I wanted to share a custom toolchain I've been developing for the ATorch DL24E electronic load. While the stock software and standard workarounds work to a degree, I needed something more robust, scriptable, and capable of deep telemetry logging and side-by-side test comparisons for R&D battery and power supply testing at Mono R&D.
To speed up development, this entire suite was crafted through intensive, iterative AI-assisted debugging sessions (using local and frontier models running heavy test-driven refinements to handle raw serial buffer parsing, multi-threading safety, and PyQt6 real-time plotting bottlenecks).
What’s Included:
Live Control & Telemetry Interface (DL24E-MONO_R&D.py):
Real-time packet parser handling ATorch data packets (0x65 Voltage, 0x66 Current, 0x69 mAh, 0x6A Wh, 0x76 Temperature).
Dual-axis live plotting via pyqtgraph with independent metric selection (Voltage, Current, Power, Temperature).
Direct load mode configuration (CC, CR, CP, CV) and counter reset sequences over a CH340 serial interface.
Automated CSV logging with precise time synchronization.
Multi-language support (English, Turkish, German) built directly into the UI.
Color-coded curves and statistical comparisons (Duration, Average Voltage, Current, and Power) to easily benchmark hardware performance changes or component tweaks.
Tech Stack:
Python 3 + PyQt6 (UI & Multi-threading)
PyQtGraph (High-performance real-time rendering)
PySerial (Robust hardware communication layer)
I’m attaching the full source code below. Feel free to use it, modify it for your own bench setups, or adapt the serial parser logic for other ATorch/Atorch-compatible loads. Feedback or suggestions from the community are always welcome!
Guide:
Install Required Dependencies
Open your terminal (Command Prompt, PowerShell, or Linux/macOS terminal), navigate to the directory where you saved the files, and install the required Python packages using pip:
pip install PyQt6 pyqtgraph pyserial
PyQt6: Powers the graphical user interface and multi-language support.
PyQtGraph: Provides high-performance real-time plotting for telemetry and log comparisons.
PySerial: Handles robust serial communication over the CH340 interface with the ATorch load.
4. Running the Applications
To run the Live Control & Telemetry Interface:
python DL24E-MONO_R&D.py