Usman Mehmood
Hello đź‘‹, my name is
I'm an embedded software engineer by profession, working in the Functional Safety domain. I love building embedded systems, IoT devices and other software solutions.
Based in Spaichingen, Germany
About Me
My name is Usman Mehmood and I'm an embedded software engineer at Safety System Products GmbH & Co. KG.
Considering myself a "full-stack" engineer, I take pride in my diverse skill set. From designing complex circuits and multi-layer PCBs to making production ready desktop and server application, and everything in between, I like being able to do it all!
Key Skills:
- IEC 61508 (SIL-3) and MISRA compliant firmware development in Baremetal C, Zephyr and FreeRTOS.
- Proficient with embedded interfaces: SPI, I2C, UART, CAN/J1939, Bluetooth, Bluetooth Mesh, RS485, and MQTT.
- Development of .NET (C#) desktop, server, and production tooling; experience with Beckhoff PLC and Structured Text.
- CI/CD pipelines, CMake-based builds, and automated testing for firmware and manufacturing workflows.
- Schematic and PCB design using KiCad; prototype bring-up, debugging, and SMT rework.
- B.E. Mechatronics with thesis on autonomous 3D mapping and SLAM.
Tech Stack:
C, CMake, IEC 61508, MISRA, Zephyr, FreeRTOS, Beckhoff, TwinCAT, .NET, C#, JS, Dart
Professional Experience
Embedded Software Engineer
Safety System Products GmbH & Co. KG - Jan 2023 - Present
- Developed and certified a SIL-3 compliant industrial gateway, connecting wireless PLC systems to PROFINET and FSoE.
- Achieved 100% statement and branch coverage for all in-scope safety firmware using HIL tests and fault insertion, excluding certified third-party components and toolchain libraries.
- Built and maintained CI pipelines for firmware build, static analysis, and automated test execution, improving release reproducibility and reducing regression risk.
- Developed production and service tooling for mass programming, configuration, update, and repair workflows to support manufacturing and field servicing.
- Delivered an end-of-line assembly line test system using Beckhoff PLCs, integrated with the company ERP system for automated test traceability and manufacturing feedback.
Technologies: STM32, C, MISRA, IEC-61508, Functional Safety, CI/CD, .NET
Embedded Software Engineer
MRS Technologies, a division of MRS Electronic GmbH - July 2021 - Dec 2022
- Engineered low-power BLE mesh nodes and increased battery life from ~9 months to 3+ years through firmware optimization and hardware/algorithm tradeoffs, without degrading user experience.
- Architected and implemented an “IoT Core” framework in C to enable code reuse across a 10+ device home automation and energy management ecosystem, accelerating delivery and reducing platform risk during chip shortages.
- Built .NET middleware SDKs for industrial communication (CAN bus, Modbus RTU, Modbus TCP).
- Reverse-engineered telemetry protocols from solar inverters and industrial devices to integrate data into monitoring and energy-management systems.
- Led field application engineering for automotive-grade PLC deployments for customers in Dubai (UAE), supporting bring-up, integration debugging, and customer-facing technical execution.
- Developed tooling for SAE J1939 symbol composition/export across multiple formats for our PLC programming desktop app.
Technologies: ESP32, nRF52, FreeRTOS, Zephyr, HomeAutomation, BLE, LowPower
System Design Engineer
RISETech - Oct 2020 - June 2021
- Owned end-to-end embedded product development across firmware delivery, electronics refinement, and mechanical/system integration, driving prototypes toward product-ready implementation.
- Developed a wearable epileptic seizure detection armband under tight space/power constraints, balancing hardware tradeoffs and firmware architecture decisions.
- Improved legacy circuits and PCB layouts by adding safety/performance enhancements and optimizing designs for manufacturability and reliability.
Technologies: ESP32, nRF52, LowPower, Wearables, BLE
Embedded Systems Intern
Air University Islamabad - June 2017 - Oct 2017
- Designed and built an intelligent energy monitoring system for homes and small buildings, delivering a functioning POC.
- Created schematics and PCB using KiCad, and handled enclosure assembly and wiring using SolidWorks mechanical integration.
Technologies: ESP32, KiCad, PCBs
Professional Work
Simplifier Gateway
Safety System Products
The Simplifier Gateway provides a bridge between SSP's own Wireless PLCs, the Safety Simplifiers, and the industry standard Profisafe bus. This product complies with SIL-3 functional safety standards. I am responsible for its software testing, validation and delivery automation.
Tech Stack: C, IEC-61508
View Project
Production Test Cabinet
Safety System Products
To take SSP's Simplifier Gateway from certification into stable serial production, I designed the end-of-electronics production test that screens every unit before final assembly. The test focuses on catching hardware and communication faults immediately after the six-PCB assembly is formed, before it is fitted into its mechanical enclosures. The test system loads the target firmware onto each device, and exercises core interfaces (digital I/O, UART, CAN, analog voltages, resistances, and Ethernet reachability), so units leave the station production-ready. It also writes pass/fail, as well as many other stats to our ERP system for good traceability. The solution is a Beckhoff TwinCAT 3 test cabinet built around a CX7080 with RS-232/RS-485, plus EtherCAT terminals selected to cover the device's I/O profile: EL2008 for digital outputs, EL3174 for voltage measurement, EL3692 for resistance measurement, EL6751 to transmit/receive CAN frames (multiplexed via relays across the gateway's two CAN ports), and EL6631 to exercise PROFINET/PROFIsafe paths; the rig also controls a digital power supply over RS232. A .NET (C#) application orchestrates the entire test sequence, talking to the PLC via Beckhoff ADS and to the DUT/ERP directly; the steps are defined in JSON so they can be reordered, skipped, or duplicated without code changes.
Tech Stack: Beckhoff, TwinCAT, .NET, VueJS
View Project
NonSafe Simplifier Gateway
Safety System Products
A more affordable version of the Simplifier Gateway, at the cost of not being functional safety compliant. I am responsible for complete development of this product, including its support software for remote updates, mass setup and programming.
Tech Stack: C#, .NET
View Project
Gateway Setup Tool
Safety System Products
An internal tool for mass programming and repairing the software of our NonSafe Simplifier Gateways. While I did create an underlying CLI for it to be integrated into CI/CD and hardware production pipelines, I also made an intuitive GUI for it to be used by individual users (production staff) when needed. I designed the UI to blend in with our other software in terms of its intuitive layout, company colors and fluid animations.
Tech Stack: C#, WPF, .NET
Gateway Config Tool
Safety System Products
An easy to use device configuration app that can read and create configuration files for our Gateways. This app is made available to the customers so that they can create working configuration files every time. The UI of this app was also made on the same design principles as the setup and repair tool.
Tech Stack: C#, WPF, .NET
Change in Build System
Safety System Products
Replaced an IDE-centric build system with a CMake based build system for our embedded software. The biggest motivation and benefit for this change was to automate our builds. Which of course is the basic requirement for automated testing, which in turn is a requirement for Continuous Integration. The exploration and learning of CMake later allowed me to develop my VS Code extension, "C Toolkit".
Tech Stack: C, CMake, Shell
CI Pipelines
Safety System Products
I created Continuous Integration pipelines for automated testing of our embedded software on various test harnesses. These include tests for basic peripherals, stress tests, hardware and software fault insertion tests, and general software quality checks.
Tech Stack: GitHub, CMake, Shell
Motion and Light Sensor
MRS Technologies
I developed an ultra low-power motion and light sensor as part of the MTronic building automation system. This sensor initially had the same Bluetooth SoC as other MTronic devices, allowing us to collectively develop a centralized software stack and use that to accelerate our development time massively. However the high power consumption of the SoC would not allow for a battery life beyond 9 months despite heavy hardware, software and algorithmic optimizations. I migrated the sensor to a much more power efficient, albeit more expensive nRF52 SoC. I independently implemented the necessary basic software components in just two months on Zephyr RTOS, something the team and I had no previous experience in. It took me another month to port the sensor algorithms and external libraries, and a few more days of debugging to get the sensor working perfectly. The sensor now boasts a battery life of 3+ years.
Tech Stack: C, Zephyr RTOS, Bluetooth Mesh
Bluetooth Firmware Upgrade
MRS Technologies
I created a key part of the firmware for all MTronic devices: their ability to upgrade the firmware remotely. The update architecture contained source verification, firmware integrity checks and rollback in case of faulty updates. This allowed us to push feature and security updates to devices that were already in use by the customers. Naturally, the update mechanism was developed, tested and verified in a much more thorough way, relative to other parts of the firmware, as it is arguably one of the most critical features of any IoT device.
Tech Stack: C, FreeRTOS, Bluetooth
Energy Logger
MRS Technologies
I developed an energy monitoring system for a Tier 1 automotive electronics manufacturer to track power usage across their facility. Using a .NET backend and a JavaScript/React frontend, I collected consumption data from energy meters using Modbus TCP, processed it, and stored it in an SQL database. The data was then displayed on a visually appealing dashboard. This system provided the client with valuable insights into their energy consumption, enhancing their operational efficiency and supporting regulatory compliance.
Tech Stack: C#, .NET, JavaScript, SQL
File Format Converter
MRS Technologies
This project was the start of my .NET and C# development, which has since been instrumental in my career. I developed a .NET tool for a Tier 1 automotive electronics manufacturer to convert SAE-J1939 CAN bus message information from Excel into .dbc, .sym, and .csv formats. The project involved creating an intuitive WPF GUI with the Prism framework and MVVM architecture. This tool enabled the client to integrate CAN message encoding and decoding into their applications, which are crucial for their operations. The raw data required extensive parsing and cleaning, due to frequent inconsistencies and irregularities in data.
Tech Stack: C#, .NET, WPF
Hobby Projects
C C++ Toolkit
2023
A VSCode extension to help create, build, run, debug and test C and C++ projects using CMake. With features like status bar buttons, project creation, library creation, snippets, and automatic installation of missing tools. The extension now has over 20,000 downloads!
Tech Stack: JavaScript, VsCode
View Project
View Project
EzLogger
2024
A lightweight and easy-to-use logging framework for .NET applications, designed for efficient logging with minimal overhead. It has multiple logging verbosities and offers configurable console and file logging. It is asynchronous by nature, and has automated log management to control file sizes. With a straightforward API, EzLogger prioritizes simplicity and efficiency over advanced flexibility.
Tech Stack: .NET
View Project
View Project
Genetic Algorithm
2023
Implementation of a genetic algorithm in C. Genetic Algorithms(GAs) are adaptive heuristic search algorithms that belong to the larger part of evolutionary algorithms.
Tech Stack: C, CMake
View Project
PID Controller
2023
An implementation of a PID (Proportional-Integral-Differential) controller in C. A PID controller is a closed loop control system that is widely used in engineering applications for controlling continuous-time dynamic systems.
Tech Stack: C, CMake
View Project
Numerical Calculus
2023
An implementation of numerical integrals and derivatives taken of a given dataset. It is used as an example and a testing place for a relatively more complicated application, the PID Controller.
Tech Stack: C, CMake
View Project
Random Particle Optimization
2021
An implementation of a the Random Particle Optimization (RPO) method, used for determining the optimal path from a specified initial pose of a mobile robot in a static or dynamic environment, models obstacles and target as repulsive and attractive Coulomb potentials respectively. It is a sensor-based method drawing its methodology from bacterial foraging just as Genetic Algorithms (GA) are based on Darwin's genetic evolution of species.
Tech Stack: C++, MATLAB
View Project
C Asserts
2023
A rudimentary assertion library written in C. The library is designed to facilitate simple unit testing by providing straightforward macros and utilities for testing conditions within C programs. If a test condition fails, the library will output the file, line number, and function where the failure occurred.
Tech Stack: C, CMake
View Project
C Queue
2023
An implementation of a queue in C, just for practicing C.
Tech Stack: C, CMake
View Project
C Ring Buffer
2023
An implementation of a ring buffer in C, just for practicing C.
Tech Stack: C, CMake
View Project
Manifest Checker
2024
A Rust-based command-line tool designed to ensure the integrity of files within a specified directory by comparing them against a manifest file. It can be useful in environments where ensuring the authenticity and integrity of firmware or software is critical.
Tech Stack: Rust
View Project
Power Estimator
2023
A power consumption and battery life estimation tool for IoT devices. With classes like 'Source', 'Load', and 'Device', user can easily express their electronics design and estimate the battery life.
Tech Stack: C#, .NET
View Project
Serial Logger
2021
Logs serial data from available COM ports for specified time, and writes them into a .csv file.
Tech Stack: C#, .NET, Prism
View Project
Contact
Email: usmanmehmood55@gmail.com
GitHub: https://github.com/usmanmehmood55/
LinkedIn: https://www.linkedin.com/in/usmanmehmood55/
Medium: https://medium.com/@usmanmehmood55
Stack Overflow: https://stackoverflow.com/users/14821590/usman-mehmood
To talk about any tech ideas, consultations, or feedback on my articles. email: usmanmehmood55@gmail.com
© 2026 Usman Mehmood. All rights reserved.