Linux Edge ML Energy Analytics
Checkout - Video, News, PPT, Github
Context: Developed for Swadeshi Microprocessor Challenge during the employement at Avrio Energy.
Technology: Embedded Linux, Python, Xilinx FPGA, Vega SoC 32-bit, Secure-Boot, SPI/I2C drivers, Edge ML integration, Network Config, ADE register calibration, MQTT/mosquitto, Multithreading, Thread-safe Producer-consumer message queues, SSL certificates, TinyDB, InfluxDB, Grafana, Shell Scripting.
Objectives: To build a smart energy meter that can tell which home appliance turned on or off, and how much power it uses, just by watching the total electricity usage — no separate sensor needed per device.
Results: Achieved real-time appliance detection from just one sensor with edge ML switch on/off event detection feature inference with 90% accuracy on memory/cpu constrained FPGA, remote no-reprogramming training, live cloud data streaming, and a one-command factory reset.
RTOS Performance Analysis
Checkout - Video, Report, PPT, Poster, Github
Context: Summer 2025 internship project for Hypertherm in New Hampshire, USA.
Technology: Embedded C, PLC, RTOS 32-bit, EtherCAT, SPI, UART, unit/integration/system testing, automated regression testing
Objective: To design and demonstrate the diagnostic procedures for communication testing between company’s product Plasma System and CNC machines. A Structured text PLC scripting method created for internal standard controller testing.
Result: Developed procedures and conducted diagnostics test processes to measure performance metrics between 32-bit MCU Plasma Cutter (using Embedded C) and CNC controls (using TwinCat PLC) to detect issues & compare latency for critical parameters. Performed EtherCAT protocol certification testing using official CTT tool and KPA studio statistics and suggested improvement methods by recreating the various industry scenarios.
RTOS Motion Processing for Pattern Recognition
Context: Masters degree Embedded Systems (Fall 2024) course project.
Technology: Embedded C++, STM32, SPI, IMU Sensors, Interrupts, State Machines, FIR Filtering, DTW, Teleplot
Objective: To capture gyroscope event data, process it, save it and then compare another event with the saved sequence to complete the unlock task. For verification, system should be locked when any other sequence is done.
Results: Gyro sensor data x,y,z axis recording collected using queue and SPI communication interrupt events with Moving Average FIR (Finite Impulse Response) window filtering and saved in flash. Added Deleting gestures functions and Live Teleplot visualization. Uses in-built LCD driver for three types of visual feedback: success, failure and loading. Uses Dynamic time warping (DTW) algorithm to detect the matching rate of the gestures.
Linux Kernel Thread-Safe Message Queue
Checkout - Github
Technology: Python/C++ user tests, circular buffer design, mutex/semaphore synchronization, Makefile build flow, insmod/rmmod, dmesg, and multithreaded producer-consumer validation on Fedora.
Objectives: Build a Linux kernel character-device IPC queue allowing multiple user-space producers and consumers to exchange messages safely through enqueue and dequeue operations without race conditions, unbounded memory growth, or busy-waiting.
Results: Delivered a bounded thread-safe queue with blocking read/write semantics, deterministic memory usage, concurrent producer-consumer support, and verified message transfer across multiple user threads without data corruption or race conditions.
Checkout - Project, Report, PPT, Github
Context: Gaia Smart Cities company internship project.
Technologies: Embedded C++, RTOS, STM32, Python, GSM, Qt, AT Commands
Objectives: Goal was to develop an a system which was able to commission device at large scale automatically. Involved writing firmware on STM32 and QT script in Python for graphical interface to manage the configuration, monitoring and testing with AT commmands.
Results: Built cross-platform signal verification and log parser for IoT provision flows, installed in 300+ Airports. Reduced end-to-end testing duration 5× via batch execution and signal health checks.
Checkout - Report, Github, Video, PCB Design
Context: Bachelors degree course project.
Technologies: Embedded C, I2C, UART, serial communication, Bluetooth communication, USB debugging.
Objectives: The objective was to develop something that would be compact and light weight for a mute person to communicate their request urgently in public specially in case of emergency.
Results: Designed PCB to connect differential resistance gesture data inputs with controller using Proteus. Triggered real-time emergency alert generation for specially abled with 90% response rate.
Checkout - Github
Context: Developed during employement at Faucet Labs (Cypherock).
Technology: Embedded Linux, Python, Encrytion Schemes (AES Symmetric, ECC Assymetric key exchange), BIP Curve Derivation, Client-Server, Security System Design
Objectives: Prototype an authenticated ECDH protocol where server/client derive identity keys from a shared BIP39 mnemonic via BIP32 paths, authenticate ephemeral session keys with ECDSA, then derive an AES session key for encrypted messaging.
Results: Full architecture flow verified with working signatures validate on both sides, derived AES keys/session IDs match, and the client's encrypted message decrypts correctly on the server, point compression round-trips correctly too.