Projects — Omid Bazangani
A selection of embedded systems work spanning firmware development, connectivity, industrial automation, fleet management, and security research. Some project details are generalized to respect confidentiality.
Naya Create — Connected Product Firmware
Overview
Firmware development for Naya Create and its modular accessories — a connected embedded product environment built on Zephyr RTOS with BLE connectivity.
Problem / Constraints
The product required robust firmware supporting modular hardware accessories, reliable BLE communication, and seamless hardware/software integration across STM32 and Nordic-based platforms. Firmware had to be maintainable, testable, and production-ready.
My Role
Senior Embedded Software Engineer at NayaTech. Responsible for firmware development in C, C++, and Python using Zephyr RTOS. Work on BLE connectivity, low-level debugging with GDB and J-Trace, firmware architecture, and hardware/software integration during bring-up and feature development.
Stack
C, C++, Python, Zephyr RTOS, STM32, Nordic nRF, BLE, GDB, J-Trace, Git
Key Technical Decisions
- Used Zephyr RTOS for its modular driver model and native BLE stack support
- Designed modular firmware architecture to support interchangeable accessories
- Employed J-Trace and GDB for deep hardware-level debugging during bring-up
Outcome
Delivered production firmware for a connected embedded product with reliable BLE connectivity and modular accessory support.
SEPAHTAN — National Fleet Management System
Overview
Embedded software development and technical management for SEPAHTAN, a national fleet management system based on ARM Cortex-M4.
Problem / Constraints
The system had to support real-time vehicle tracking and fleet-wide communication over CAN, TCP/IP, and FTP, with firmware-over-the-air (FOTA) update capability. Compliance with MISRA C and rigorous static and dynamic testing were required.
My Role
Senior Embedded Software Engineer and Technical Manager at SRC. Led the embedded software development team. Designed and implemented embedded software in C, C++, and Python. Contributed to hardware design and verification workflows.
Stack
ARM Cortex-M4, C, C++, Python, CAN, TCP/IP, FTP, FOTA, CMSIS, MISRA C, IAR EWARM
Key Technical Decisions
- Designed the communication stack to support CAN, TCP, and FTP for diverse fleet data exchange
- Implemented FOTA for field-upgradable firmware across a deployed fleet
- Enforced MISRA C compliance with static and dynamic testing throughout development
Outcome
Delivered a national-scale fleet management system with reliable real-time tracking, multi-protocol communication, and field-updatable firmware.
ABBY — Automated Side-Channel Leakage Profiler
Overview
An open-source framework that automatically characterizes the microarchitectural leakage behavior of ARM Cortex-M devices, enabling data-driven side-channel simulator design.
Problem / Constraints
Traditional side-channel analysis requires significant manual effort for setup, trace recording, and leakage model creation. Existing profiling approaches are device-specific and hard to extend. There was no systematic, automated way to capture instruction-level leakage interactions at the microarchitectural layer.
My Role
Main researcher and developer during PhD at Radboud University. Designed the data collection methodology, built the profiling framework, created datasets, and evaluated leakage models against real-world cryptographic implementations.
Stack
Python, ARM Cortex-M0/M3, ARM Assembly, ChipWhisperer, QEMU, embedded C, machine learning (scikit-learn)
Key Technical Decisions
- Targeted the microarchitectural layer rather than gate-level or software-only modeling
- Designed the data collection to be device-agnostic and extendable to other ARM cores
- Used systematic instruction interaction profiling to capture transition-based leakage
Outcome
Created two novel datasets capturing detailed instruction interaction leakage for ARM Cortex-M0/M3. The resulting leakage models match state-of-the-art simulator performance. Published at a peer-reviewed venue. Framework is open-source.
Industrial QC & Test Systems
Overview
Multiple embedded test and quality control systems built for industrial and university customers, including a windshield wiper motor QC test system, Barkhausen noise test setup, and a QC laboratory water-meter test system using laser-beam modulation.
Problem / Constraints
Industrial production and laboratory environments needed repeatable, automated test setups to validate embedded hardware and products. Each system had unique requirements — from motor characterization to water-flow testing across multiple conditions and meter types.
My Role
Embedded Systems Engineer (freelance / independent). Designed and implemented firmware, control systems, and host-side automation. Later served as Technical Advisor for the water-meter QC system at Talayeh Industrial Complex.
Stack
ARM Cortex-M3, embedded C, Qt, LabVIEW, Modbus, UART, SPI, I2C, Python, custom test fixtures
Key Technical Decisions
- Used Qt and LabVIEW for host-side interfaces depending on customer environment preferences
- Designed modular firmware test routines adaptable to different product types
- Built the water-meter system around laser-beam modulation with adaptation for different meter types and three water-flow conditions
Outcome
Delivered multiple production-grade test systems adopted into industrial workflows. The water-meter QC system supported testing across different meter types and flow conditions.
Electrical-Machines Condition Monitoring System
Overview
An embedded monitoring and control system for industrial electrical machines, including monitoring and control solutions for plastic injection machinery and hydraulic press systems.
Problem / Constraints
Industrial machines needed real-time condition monitoring to detect faults early and optimize operations. The system had to interface with diverse sensors and communication buses while operating reliably in harsh factory environments.
My Role
Electronic and Automation Engineer at Talayeh Industrial Complex and later as independent engineer. Developed firmware, analog circuit interfaces, and communication stacks for embedded monitoring platforms.
Stack
AVR, ARM7, ARM Cortex-M, embedded C/C++, GPIO, UART, SPI, I2C, USB, CAN, Ethernet, LabVIEW, analog circuits
Key Technical Decisions
- Built firmware around multiple communication interfaces (UART, SPI, I2C, CAN, Ethernet) for flexible sensor integration
- Used LabVIEW for real-time supervisory dashboards and data logging
- Integrated analog circuit design for sensor conditioning and signal processing
Outcome
Deployed monitoring systems for plastic injection machinery and hydraulic press operations, enabling real-time fault detection and operational optimization.
AMR Water Meter Prototype
Overview
Prototype development of an Automatic Meter Reading (AMR) water meter system with embedded wireless communication.
Problem / Constraints
Traditional water meters required manual reading, leading to inefficiencies and errors. The prototype needed low-power embedded design with reliable wireless data transmission and robust enclosure for deployment in water infrastructure.
My Role
Electronic and Automation Engineer at Talayeh Industrial Complex. Developed firmware and hardware for the AMR prototype using AVR and ARM platforms.
Stack
AVR, ARM7, embedded C, GPS, GSM (Cellular), UART, low-power design
Key Technical Decisions
- Chose a low-power ARM-based platform for battery longevity in the field
- Used GSM/cellular for data backhaul to enable wide-area deployment
- Integrated GPS for meter location tracking in infrastructure mapping
Outcome
Delivered a working AMR prototype demonstrating automated remote meter reading with cellular connectivity.
5-DOF Robotic Arm
Overview
Design and firmware development for a 5-degree-of-freedom robotic arm with embedded control, built for a university customer.
Problem / Constraints
The robotic arm needed precise multi-axis control with smooth coordinated motion. The system required real-time servo control running on an embedded platform with a host-side control interface.
My Role
Independent Embedded Systems Engineer. Designed the embedded control firmware and host-side interface for real-time arm manipulation.
Stack
ARM Cortex-M3, FreeRTOS, embedded C, Qt, UART, PWM servo control
Key Technical Decisions
- Used FreeRTOS for deterministic real-time control of multiple servo axes
- Built a Qt-based desktop application for real-time arm control and trajectory input
- Implemented smooth interpolation between waypoints for coordinated multi-axis motion
Outcome
Delivered a working 5-DOF robotic arm with real-time embedded control and a desktop control application.