I specialize in embedded systems and firmware development, with a focus on AI and machine learning integration on edge and resource-constrained devices.
My work spans bare-metal and embedded Linux systems, low-level firmware, and end-to-end embedded AI pipelines—from real-time sensor acquisition to optimized ML inference running close to the hardware.
I am particularly interested in building predictable, efficient systems that combine traditional embedded control logic with ML-driven perception and decision-making for IoT, robotics, and intelligent devices.
- ARM Cortex-M/A/R Architectures
- Bare-metal and RTOS-based development
- GPIO, SPI, I²C, UART, timers, interrupts
- Memory-mapped I/O and register-level programming
- Boot processes and system initialization
- Multithreading, concurrency, synchronization
- Embedded Linux internals
- Hardware–software integration
- OpenCV-based real-time vision pipelines
- Lightweight ML models for embedded deployment
- Model optimization techniques (quantization, reduced precision)
- Edge inference on Raspberry Pi–class hardware
- Integration of ML inference with firmware control and system logic
- Core ML algorithms such as linear regression and gradient descent
- Designed a Raspberry Pi–based embedded system for real-time sign language translation
- Integrated sensors and peripherals via SPI under embedded Linux
- Implemented low-latency gesture recognition using OpenCV and ML models
- Built a minimal OS kernel in C++ and Assembly
- Implemented bootstrapping, memory management, interrupts, and basic I/O
- Validated system behavior in a virtualized environment
- Developed a concurrent server emphasizing correctness and thread safety
- Applied low-level synchronization primitives for performance and reliability
(More details available in pinned repositories)
BASc in Computer Engineering (Co-op)
University of Ottawa — cum laude
Relevant coursework:
- Embedded Systems & Microcontrollers
- Computer Architecture
- Operating Systems
- Digital Systems
- Computer Network Design
- Real-Time Systems Design
- Writing efficient, predictable, and maintainable firmware
- Understanding systems from silicon to software
- Debugging complex hardware–software interactions
- Building technology that interacts with the physical world
⚡ Always learning. Always building. Especially close to the hardware.


