Dipl.-Ing. (TU)
Daniel Petrovic
I build reliable software for embedded systems, networked applications, industrial automation, and process engineering, with deep experience in modern C++, Linux, Qt, and systems integration.
What I do
I help technical product teams build reliable software across embedded systems, networked applications, industrial automation, and process-engineering environments.
Most of my work involves embedded Linux, modern C++, Qt6/QML applications, industrial connectivity (OPC UA, CAN, RFID, and PLCs), network protocols, simulation tooling, production test automation, and performance debugging. I work with Yocto-based systems when they fit the project.
Current work: writing a book about building a compiler in modern C++ and building an OPC UA framework from scratch in modern C++.
Specialties
- Embedded Linux platform bring-up
- Modern C++ (C++17/20/23/26)
- Qt6 & QML
- Network applications and protocol integration
- OPC UA, CAN/CANopen, RFID, PLC integration
- Industrial automation and process-engineering software
- Debugging, performance work, and CI/CD implementation
How I help technical product teams
Embedded Linux System Bring-Up
Board support, kernel configuration, device integration, Yocto layer work when needed, and production-ready embedded Linux images.
Qt6/QML Development
Maintainable Qt6/QML application frameworks, embedded UI performance work, and deployment on constrained Linux targets.
Industrial Automation Integration
OPC UA, CAN/CANopen, RFID, PLC communication, production test automation, and device-to-cloud connectivity.
Network Applications & Protocols
Protocol integration, client/server applications, diagnostics, and reliable communication between devices, services, and production systems.
Process Engineering Software
Simulation tools, calculation workflows, industrial data handling, and software that supports engineering decisions in production environments.
C++ Modernization & Debugging
C++20/23/26 modernization, memory/thread debugging, performance work, build speedups, and CI/CD pipeline setup or cleanup.
Selected writing
Bringing Zephyr RTOS to an ESP32 board
A compact embedded bring-up walkthrough covering Zephyr tooling, device tree overlays, GPIO, flashing, and board-level debugging.
Debugging multithreaded programs with GDB
Practical debugging notes for thread inspection, scheduler locking, deadlocks, and timing-sensitive C++ problems.
Discuss a project
For project or general inquiries, please get in touch.