Yocto Warrior/Kirkstone LTS: Automotive HMI with 4 Concurrent Analog Cameras
Tasks:
- Developed Yocto Kirkstone distribution for NXP iMX6Q processor.
- Integrated 4-channel analog-to-MIPI CSI camera pipeline using GPU, VPU.
- Implemented a custom secure update and recovery system.
- Architeched Single OS concept for multiple variants, with less maintenance.
- Developed full production system around the HMI products, from CI/CD automated build, deployment and EOL testing.
- Optimized Weston compositor for Qt application.
- Developed a QT/QML-based HMI application for IBN testing, specifically optimized to validate system behavior under ECE R10 (E1) EMC certification protocols.
- Evaluation/Integration of TFT displays and multi-finger touch panels.
- Implemented a wide-spread spectrum algorithm to suppress electromagnetic emissions.
Embedded Linux OS + QT/QML HMI Application for Medical Device
Tasks:
- Architected Linux OS based on Yocto scarthgap for NVIDIA Xavier board.
- Implemented UEFI bootloader, kernel, and rootfs optimization.
- Customized implementation of RAUC for OS and application update.
- Linux kernel drivers for CANBUS, HDMI, Barcode Scanner, touch screen, and Basler cameras.
- Architected a QT/C++ application for the LAB task, keeping it modular, scalable, and in compliance with IEC62304.
BuildRoot Linux: Telematics Control Unit
Tasks:
- Developed custom Linux distribution for iMX6UL-based telematics units.
- Implemented secure boot and PKI-based secure OTA updates using signed images, device-side public key validation, rollback handling, and recovery workflows.
- Integrated Linux kernel drivers for GPS, WIFI, BLE, IMU, HSDIOs, Buzzer, RTC, Ethernet, GSM Modem.
- Architected modular telematics application using modern C++ to fetch data from connected sensors and send to the cloud over MQTT for live dashboards.
- Developed Firmware in C for on-board co-processor based on NXP HCS08 microcontroller for CAN bus communication, UART with main CPU, and ADC for analog current sensing.
Triple-display Automotive Cockpit
Tasks:
- Delivered a full HMI system for 3 synchronized display clusters, infotainment, and passenger displays.
- Unified Yocto OS for 3 displays, with bootloader adaptation and secure OS upgrade.
- Integrated LVDS displays and touch interfaces.
- Implemented CAN communication with the vehicle ECU.
- Developed Qt/QML UI with C++17 backend logic.
QT6/QML: End-of-Line (EOL) Production Tester
Tasks:
- Qt6/QML test host with Microsoft SQL Server for production test data management.
- Implemented systemd-managed DHCP client/server networking to enable automated Ethernet configuration between production systems and Devices Under Test (DUTs), to access the production database.
- Built a Qt/C++ test client for automated validation of hardware interfaces, including digital I/O, CAN bus, buzzer, and touch panel functionality.
- Designed a GStreamer-based video pipeline on the target to capture analog camera input and transmit a UDP stream to the host for real-time validation of camera functionality.
- Integrated automated test reporting and logging directly into the production database for traceability and quality assurance.
HMI solutions for transport buses
Tasks:
- Developed a complete information cluster application architecture.
- Implemented CAN Gateway on HMI device between J1939 and CANopen.
- Ported Figma designs to fully function QT/QML code.
- Implemented authenticated setting menus and diagnostic views in QML, QT/C++17.
- Implemented power save modes during different operational modes of the vehicle.
QT6/QML application development for Firetruck
Tasks:
- Software architecture for a firetruck control system, from initial rough concepts to final deployment.
- Implemented custom CAN bus?based protocol for controlling and monitoring firetruck functions.
- Built complete Qt/QML-based applications, translating Figma designs into functional systems.
- Motor control routines and CAN-to-J1939 protocol translation for vehicle communication.
- Unit tests for critical components to ensure reliability and safety.
- Secure diagnostic and configuration menus with restricted access for authorized personnel.
- Support to engineering teams, including deployment and testing on real vehicles.
QT5/QML: Medical System Optimization
Tasks:
- Implemented secure boot for the medical device based on i. MX.
- Reduced system boot time and improved reliability of the surgical platform.
- Optimized systemd services and kernel configuration.
- Implemented application crash recovery with state persistence.
- Developed Qt/C++17 modules for navigation system to track Active/Passive instruments.
- Worked under IEC62304 and ISO14971 compliance.
SELECTED PROJECT EXPERIENCEEmbedded Linux + Qt6/QML HMI for Medical DeviceCustomer: Medical
Tasks:- Built and configured a Yocto-based Linux platform for an NVIDIA Xavier medical system, optimizing bootloader and root file system, implemented secure boot and RAUC OTA Update.
- Developed/Optimized a modular application using Qt/QML with C++20 for laboratory workflows, aligned with IEC 62304. Reduces application boot time from ~1 min to ~10 secs using multithread programming.
- Developed C++ modules for CAN, HDMI, barcode scanner, touch, and Basler camera interfaces.
- Implemented automated unit and integration testing, software traceability, and risk-control.
-------------------------------------------------------------------------------------------------
Qt6/QML End-of-Line (EOL) Production Tester (Host and Client App)Customer: Automotive
Tasks:- Developed a modular Qt6/QML Host Application with reusable UI components and C++20 backend abstraction layers, integrating with the production database to retrieve test configurations, configure DUTs, execute automated test sequences, and store test results.
- Developed a Qt/C++ test client for automated validation of hardware interfaces, executing functional tests for digital I/O, CAN bus, touch panel, and audio subsystems based on commands received from the host.
- Designed and implemented a GStreamer-based video pipeline on the target device to capture analog camera inputs and stream video over UDP for real-time production validation and diagnostics.
-------------------------------------------------------------------------------------------------
QT6/QML application development for FiretruckCustomer: Automotive
Tasks:- Software architecture for a firetruck control system, from initial rough concepts to final deployment.
- Implemented custom CAN bus?based protocol for controlling and monitoring firetruck functions.
- Built complete Qt/QML-based applications, translating Figma designs into functional systems.
- Motor control routines and CAN-to-J1939 protocol translation for vehicle communication.
- Unit tests for critical components to ensure reliability and safety. Secure diagnostic and configuration menus with restricted access for authorized personnel.
- Support to engineering teams, including deployment and testing on real vehicles
-------------------------------------------------------------------------------------------------
Qt5/QML Medical System Optimization (Spine Guidance)Customer: Medical
Tasks:- Developed C++ software modules for a spinal surgical navigation system, supporting real-time instrument tracking, surgical workflows, and system reliability in compliance with IEC 62304 and ISO 14971.
- Developed modules with a focus on testability, performance, and long-term maintainability.
- Developed a Qt/C++ simulation tool for surgical instrument workflows, enabling software development and validation without requiring target hardware.
- Implemented crash recovery, state persistence, and fault-handling to ensure robust and fail-safe operation.
- Contributed to software verification, risk-control implementation, and code review activities within a regulated medical device development environment.
-------------------------------------------------------------------------------------------------
QT5/QML Triple-display Automotive CockpitCustomer: Automotive
Tasks:- Delivered a complete Qt/QML-based HMI solution for a triple-display automotive cockpit, including instrument cluster, infotainment, and passenger displays.
- Developed a SocketCAN-based communication abstraction layer with message filtering and signal processing, reducing CPU utilization and simplifying CAN integration.
- Implemented a software CAN gateway to translate and route J1939 messages between vehicle ECUs and distributed CAN nodes.
- Translated customer-provided UI designs into production-ready Qt/QML applications for all three displays.
- Developed unit tests and a Python-based vehicle simulator to emulate ECU communication and support automated validation of HMI functionality.
-------------------------------------------------------------------------------------------------
QT5/QML HMI application for boatsCustomer: Marine
Tasks:
- Architected a modular Qt5/QML HMI application supporting multiple boat variants.
- Developed a Qt Widgets configuration tool for boat functions, tank capacity, lighting, and fuel levels.
- Built a PyQt-based HIL simulator to validate system functions before deployment.
- Implemented custom QML layouts and smooth page transitions to improve usability and user experience.
-------------------------------------------------------------------------------------------------
Yocto Scarthgap LTS Rugged HMI (i.MX93/i.MX95)Customer: Industrial
Tasks:- Engineered a scalable system codebase in C++ for an industrial HMI supporting multiple screen sizes.
- Integrated MIPI-DSI display and touch drivers, alongside SPI communication between i.MX93 and S32K co-processor.
- Built a unified Yocto distribution supporting multiple hardware variants, achieving boot times under 5 seconds.