ECUProg
Senior ECU Programmer & Security Expert at Negar-Khodro| Developer of ECUProg v2 – Advanced Automotive Programming Tool
ECUProg v2
Advanced Automotive ECU Programming Suite
Designed & Secured by Emad Mahmodi – Senior ECU Programmer at Negar-Khodro
About ECUProg
ECUProg v2 is the next-generation automotive programming platform I designed and developed at Negar-Khodro, powering the ECUPROG 2 hardware device — a professional tool used in over 5,000 workshops across Iran and exported to 10+ countries.
Rewritten from legacy Delphi to modern C/C++17 + Qt 6, ECUProg delivers real-time performance, zero-downtime updates, and unmatched protocol support.
My Role: Senior ECU Programmer
Position: Senior ECU Programmer & Software Architect
Company: Negar-Khodro (Since 2020)
Stack: C/C++17, Qt 6, QML/Widget, CMake/Gmake, Python
- Led full rewrite of ECUProg v2 in C/C++, Qt/QML/Widget
- Designed multi-protocol engine (12+ automotive standards)
- Reduced ECU reflash time by 68% using parallel BDM/JTAG
- Built OTA update system with encryption & rollback
- Integrated TachoSoft Pro + Auto Dump Decoder
- Mentored 3 developers on embedded systems & GUI
Key Features of ECUProg Software
- Support for automotive programming protocols: OBD, TRICORE, JTAG, KTAG, MBUS, ISP, USART, MPC, DENSO, BDM, and more
- Support for future-generation protocols
- Powerful and advanced for programming various ECUs and vehicle control units from domestic and international manufacturers
- Advanced and specialized download, conversion, tuning, and remapping via OBD without needing a dump — intelligently with automatic identification
- Specialized and advanced software for modifying ECU tables to perform various professional and advanced tuning manually
- Odometer correction for ECU and instrument cluster via JTAG, OBDII, KTAG, MBUS, DENSO, and other methods
- Advanced Tachosoft software included
- Reading switch codes from ECUs via JTAG, ISP EEPROM, OBD, and other methods
- Programming and clearing of domestic and international airbag modules
- Powerful module for decoding various dumps (with automatic checksum calculation)
- Hardware testing capability to ensure device functionality without needing to send it to the manufacturer
- Fast and online software updates
Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
First page of ECUprog .
Technical Highlights (C/C++ & Qt/QML/Widget)
// Real-time JTAG handler (thread-safe) class JtagEngine : public QThread { Q_OBJECT signals: void progress(int); void status(const QString&); protected: void run() override { enterJtagMode(); for (auto& ir : irChain) { shiftIR(ir); emit progress(currentProgress++); } exitJtagMode(); } };
- • Performance: < 50µs response in BDM/JTAG
- • UI: Qt Widgets + QML (touch-optimized)
- • Plugins: DLL-based protocol extensions
- • Security: AES-256 license + online validation