Engineering Solutions Across Embedded, AI, and Industrial Systems

A curated portfolio of real-world projects spanning embedded firmware, AI-driven vision, industrial automation, IoT platforms, and precision hardware design.

Technologies: ESP32, C/C++ (FreeRTOS), Bluetooth LE, Wi-Fi, OTA updates, Android app (Java)): I developed a smart home retrofit switchboard that turns ordinary electrical switch panels into IoT-enabled devices without rewiring. The solution was built around an ESP32 microcontroller, and I wrote the firmware using a modular FreeRTOS-based approach. Key features include Bluetooth LE provisioning (using a custom GATT profile to securely send Wi-Fi credentials), Wi-Fi connectivity for remote control, real-time power monitoring, and secure Over-The-Air (OTA) firmware updates. I also developed a companion Android application with a Material Design UI that allows users to discover the device on the network, group switches by room, control lights/appliances, and schedule scenes. The embedded firmware handles communication between the phone and the switchboard, maintains device state synchronization, and implements fail-safes for reliability (such as retry mechanisms and safe rollback on failed OTA). This end-to-end project showcases my ability to combine embedded hardware, networking protocols, and mobile app development into a cohesive IoT product. Role: End-to-end developer (hardware/firmware and mobile app).

Technologies: Analog circuit design, KiCad PCB design, Instrumentation amplifiers, EMI/EMC compliance): I designed and prototyped a Signal Conditioning Module (SCM) intended for high-precision industrial sensors (strain gauges, RTDs, accelerometers, etc.). This module conditions small analog signals for input to a microcontroller or PLC. I designed a low-noise instrumentation amplifier stage with configurable gain to accurately amplify tiny differential signals from sensors. The design included differential amplifiers, filtering circuits, and ADC driver stages to ensure integrity of the signal. I also implemented robust power regulation (using LDOs and DC-DC converters) to provide stable reference voltages (e.g., 9V, 5V, 2.5V rails) for both analog and digital sections. Throughout the PCB layout, I applied best practices to separate analog and digital grounds, added EMI filters, and followed EMC guidelines to minimize interference. I performed in-house pre-compliance testing for EMI/EMC to validate that the module would pass formal certification. The result was a reliable interface board that can be deployed in industrial environments requiring accurate sensor readings. Role: Hardware design engineer (analog circuit design and PCB layout).

Technologies: Renu PLC, Ladder Logic, Sensor integration, PID control): I was part of a team developing a medical ventilator system capable of multiple respiratory support modes (such as High-Flow Nasal Cannula, CPAP, BiPAP). My role focused on the control logic and sensor integration. Using a PLC and ladder diagram programming, I implemented control algorithms (including cascaded PID controllers) to regulate airflow and pressure based on feedback from airflow and pressure sensors. The ventilator had to seamlessly switch between modes like constant pressure (CPAP) and bi-level pressure (BiPAP), and allow both machine-initiated and patient-triggered breathing cycles. I helped integrate safety features (like pressure relief valves and alarms) and ensured the system met the required response times and reliability standards for medical use. This project demanded a high level of precision and fail-safe programming due to the critical nature of life-support equipment. Role: Control systems engineer (PLC programming and algorithm implementation).

Technologies: NXP LPC1768 microcontroller, C (Keil IDE), Kinco HMI, Modbus RTU over RS-485, AC servo drives, stepper motor): I developed the control system for an industrial web roll Unwinder/Rewinder machine. The machine automates the unwinding or rewinding of rolls of material (with labels) and ensures proper tension and alignment. I programmed the LPC1768 microcontroller to control two AC servo drives via Modbus RTU (over RS485) for maintaining linear speed and torque, which kept the web tension steady. I also controlled a stepper motor for fine alignment of the roll. The system included an operator interface on a Kinco touchscreen HMI – I configured the HMI to display status information (speed, tension, job counters) and to accept user commands (start, stop, jog, etc.). One challenge was detecting and counting missing labels on the roll; I integrated sensor feedback and logic to halt the machine if a missing label was detected. This project demonstrated my skill in industrial automation, integrating motors, sensors, and HMI using embedded firmware and standard industrial protocols. Role: Embedded systems engineer (firmware and control logic).

Technologies: STM8S microcontroller, C (STM8 Standard Peripherals), reverse engineering, motor control circuits): I worked on customizing the firmware of a BMSBattery S06S Kuteng brushless DC motor controller used in an electric bicycle. The project involved reverse engineering the existing controller’s behavior and then implementing new firmware features to improve performance. I programmed the 8-bit STM8S105 MCU on the controller to regulate motor speed smoothly, manage battery power delivery, and incorporate safety features (like over-current protection). I also tweaked the hardware by adjusting sensing circuits (current and voltage sensing using components like the ACS711 sensor and LM317 regulator in the design) to get more accurate readings. After firmware modifications, I tested the e-bike under various loads to ensure the motor ran efficiently and responded well to user inputs. The result was an e-bike with improved acceleration and more reliable motor control, enhancing the overall user experience. Role: Firmware engineer (motor control and system optimization).

Technologies: Python, PySide6 (Qt GUI), Raspberry Pi Compute Module 4, FPGA (PCIe interface), Renesas PMICs, I²C): I am developing a power management and calibration system for a complex Voltage Regulator Module (VRM) test platform. The project centers on controlling multiple Renesas power management ICs (PMICs) and an FPGA-based board over a PCIe interface. I created a Python application with a Qt (PySide6) GUI that communicates with the hardware to perform automated calibration of voltage rails. The system can program the FPGA bitstream, adjust PMIC settings via I²C (using a custom driver for the Renesas PMBus protocol), sequence power rails on and off, and apply various loads to test stability. I implemented routines to measure output voltages/currents and calibrate the DAC settings of the PMICs for precise output levels. The software logs data and can generate reports (Excel/PDF) for each calibration run. This platform significantly speeds up what used to be a manual, time-consuming process of tuning power regulators. Role: Software/hardware integration engineer (developing PC software and coordinating embedded hardware control).

Technologies: STM32F103 in C, custom bit-level protocol): I designed and implemented a custom communication protocol for a client needing robust data transfer between an STM32 microcontroller and an external device. The protocol involved packet-based data exchange with variable payload sizes (4–32 bits per packet) and incorporated low-level error detection and handshake mechanisms. I wrote an interrupt-driven firmware that sends and receives pulses representing bit values, using precise timing to encode each bit (with a dummy bit insertion to account for hardware interrupt latency). To ensure reliability, I added parity bits for error checking and a retry logic for lost or corrupted packets. I also provided hooks for integrating with UART, which allowed debugging and monitoring of the communication via a serial console. The end result was a flexible, noise-tolerant protocol tailored to the client’s hardware, which could transmit data accurately even in electrically noisy industrial environments. Role: Embedded systems engineer (protocol design and firmware implementation).

Technologies: Renu PLC FP2070TN-E, Ladder Logic, Honeywell airflow/pressure/oxygen sensors): I contributed to the development of a gas flow analyzer device used to calibrate and test medical ventilators. The analyzer measures critical parameters like airflow rate, oxygen concentration, pressure, and temperature of gases to ensure ventilators are delivering correct values. I programmed a PLC (Programmable Logic Controller) using ladder logic to interface with multiple sensors (Honeywell airflow sensors, pressure transducers, oxygen sensors) and to compute real-time readings. The system needed to be highly accurate and reliable, as it would be used by healthcare equipment technicians to validate ventilator performance. My work ensured that the analyzer could capture precise measurements and provide calibration data to verify that ventilator units operate within safe and prescribed limits. Role: Embedded/PLC engineer (sensor integration and control logic).

Technologies: Android (Java), IoT sensors (soil moisture, temperature, humidity), TensorFlow Lite, AWS DynamoDB & API Gateway): I developed a smart agriculture system that monitors environmental conditions and provides irrigation recommendations. The system includes field-deployed sensors for soil moisture, temperature, and humidity, which feed data into an edge device. I implemented an AI-driven analysis module (using TensorFlow Lite) that runs on the edge or mobile device to analyze sensor readings along with weather forecasts (via OpenWeatherMap API). The insights (e.g., when and how much to water) are presented to farmers through a user-friendly Android app. I also integrated the solution with AWS cloud services – sensor data is periodically uploaded to AWS DynamoDB, and an AWS API Gateway with Lambda is used to fetch long-term analytics or remote updates. This hybrid edge-cloud approach ensures real-time responsiveness on the field, while leveraging cloud for data storage and additional processing. Role: Full-stack IoT developer (sensor integration, AI model development, cloud backend, mobile app).

Technologies: Android (Java), TensorFlow Lite, Python backend): This project combines mobile AI and agriculture. I developed an Android application that farmers can use to photograph crop pests (insects) in the field. On-device, a TensorFlow Lite model (MobileNetV2-based) classifies the pest and even determines its growth stage. Based on the classification, the app then suggests appropriate pesticide treatments from a curated database. I trained and optimized the deep learning model to run efficiently on smartphones for real-time inference. By deploying the model on the edge (within the app), the solution works offline in fields and provides instant guidance, helping farmers make informed decisions on pest control. Role: AI developer and app developer (model training, optimization for TFLite, Android UI and integration).

Technologies: STM32F401 MCU in C, STM32CubeIDE, TCD1304 linear CCD sensor, USB interface): I worked on interfacing a linear CCD sensor (TCD1304) using an STM32F401 microcontroller. The goal was to capture analog waveform data from the CCD and transmit it to a PC for image reconstruction. I developed firmware to drive the CCD’s electronic shutter with precise timing and to read out the pixel data. The microcontroller adjusts the CCD integration time (shutter speed) to accommodate various lighting conditions, ensuring clear imaging. I also implemented a USB data transfer so that raw CCD data could be streamed to a computer for further processing. This project required careful timing control and signal integrity to satisfy the CCD’s strict timing requirements. Role: Firmware developer (sensor interfacing and data acquisition).

Technologies: Arduino Uno (ATmega328p), C/C++ (Arduino IDE), DS3231 RTC, 16x2 LCD, Optocoupler interface): I built a custom intervalometer for a Canon EOS DSLR camera, which automates the process of taking photos at set intervals. Using an Arduino Uno, I interfaced a real-time clock (DS3231) to schedule start/stop times and an LCD + button interface for user input of interval settings. The device triggers the camera’s shutter via an optocoupler to ensure electrical isolation and safety. The user can program the shooting interval, start time, end time, and specific weekdays for operation through a simple menu on the LCD. This project showcased my ability to integrate embedded timing functions and external hardware (camera trigger) to create a useful photography gadget. Role: Designer & developer (firmware and circuit design).

Technologies: Python, OpenCV 4, PyQt5/PySide6, Machine Vision, TensorFlow Lite, ESP32/STM32 integration, Android (Java)): I developed an end-to-end machine vision solution for the diamond industry. This system analyzes high-resolution images of diamonds to assist in defect detection and grading. On the backend, I implemented image processing algorithms (noise reduction, adaptive thresholding, contour detection) I created a PyQt desktop application for real-time visualization and tools for manual or automated marking of inclusions (flaws). Additionally, I built an Android companion app that allows users to capture or upload diamond images, view processed results, and generate inspection reports (stored in a local SQLite database). The entire solution was designed for consistency and accuracy under varying lighting conditions, with provisions for future enhancements like cloud-based model training and support for industrial camera hardware. Role: Full-stack developer (vision algorithm development, GUI and app development, hardware interfacing).

A real-time embedded computing platform developed for global elevator control systems. The GCS-CP SDK runs on custom ColdFire-based hardware with ThreadX RTOS and provides core services, device drivers, bootloaders, and modular application support for elevator applications. The platform enables secure boot, firmware upgrades, error logging, factory testing, and multi-process application execution. It also supports integration with PC tools and cloud-based monitoring systems. This long-term platform formed the foundation for multiple generations of elevator control and monitoring solutions worldwide.

Elevator monitor system resides Elevator Group Interface Service (EGIS), EMS bridge application which runs on CPIB HW and a Cloud based web application EMS V3. EGIS service collects data (SID00049/13) from elevator controller via CAN/RING bus, serialize data in protobuf and forward to EMS bridge application using S2S service based on ZMQ. EMS bridge app de-serializes data and sends to EMS web app over TCPIP. Using EMS web application user can monitor elevator activities like Number of elevator, fault alarms, CAR status like door open/close, floor, direction and CAR/HALL calls.

Technologies: C, Silabs (mix-signal) c8051F020 @ 22.1184 MHz, KEIL uVision3.

During the starting of a three-phase motor is usually not very favorable. Therefore, electronic starters like EMS, are used to reduce the excessively high starting currents. By limiting the accelerating torque, mechanical stress on the material to be conveyed is reduced. By starting motor at low voltage and avoiding large current peaks during starting with current limit feature, the cost of electricity gets reduced.