I am completing a
Bachelor of Applied Science in Computer Engineering
(Co-op)
at the University of Ottawa. I build end-to-end systems, from
custom PCBs and firmware to backend services and dashboards. I am
currently an Undergraduate Research Assistant in the Computational
Analysis and Acceleration Research Group, where I am developing a
real-time 2-DOF (pan-tilt) UAV target tracking system
that combines AI vision with robotic control.
Education
University of Ottawa · Sep 2021 – Present
Bachelor of Applied Science in Computer Engineering (Co-op),
expected Apr 2026
Relevant coursework: Applied Machine Learning,
Real-Time Computer Systems Design, Computer Architecture I-III,
Operating Systems, Data Communications and Networking, Digital
Systems
Technical Skills
Embedded & Microcontrollers
STM32, ESP32, FreeRTOS, UART, SPI, I2C, GPIO, and real-time
firmware
PCB & Hardware Design
KiCad schematic capture and PCB layout, Altium Designer, custom
PCB manufacturing, and component selection
Digital Design & FPGA
VHDL, SystemVerilog, Xilinx Vivado, Quartus, Logisim, and logic
synthesis
Built and deployed a production-ready ESP32 + custom PCB system
for RFID attendance and real-time office monitoring. Delivered the
full-stack system from hardware and firmware to secure OTA update
flows,
Go APIs, Dockerized backend services, CI/CD release workflows,
and server deployment with monitoring dashboards, now supporting
30+ active users in the IEEE office.
I am currently developing Revision 2 using a
bare ESP32-C3FH4 and ST25R100 for RFID reading, with PCB antennas
on both subsystems designed from vendor application notes.
Revision 2 is in progress as a 4-layer PCB in
Altium Designer.
Building on the success of Rev 1, I am currently engineering a
second-generation system focused on miniaturization,
cost-optimization, and professional-grade signal integrity. This
version moves away from pre-made modules toward a fully discrete
4-layer PCB design.
Bare-Metal Integration: Migrated to the
ESP32-C3FH4 (RISC-V) SoC to reduce footprint
and power consumption, managing all necessary decoupling and
RF matching for the 2.4 GHz internal antenna.
Advanced NFC Subsystem: Implemented the
ST25R100 reader with a custom-designed
matching and tuning network. This includes an integrated PCB
loop antenna, an EMC low-pass filter, and a capacitive RFI
voltage divider for precise signal demodulation.
Hardware Hardening: Integrated
industrial-standard protection, including
USBLC6-2SC6 ESD protection on USB data lines
and a Pi-filter (C-L-C) on VBUS to ensure
clean power delivery in electrically noisy office
environments.
Professional Workflow: Transitioned to
Altium Designer for the 4-layer stackup,
allowing for dedicated ground and power planes to minimize EMI
and optimize impedance control for RF traces.
End-to-End Ownership: Built the system from
scratch across hardware, firmware, backend, infrastructure,
deployment, and operations.
Attendance Flow: Built the end-to-end check-in
path with ESP32 firmware, RFID scans, and
backend API integration.
RF Layout Fixes: Added a keepout zone under
the ESP32 Wi-Fi antenna and reoriented the RFID reader to
improve read range.
Power and Drive Circuitry: Designed the PCB
with decoupling capacitors, a continuous
ground plane, and a transistor-switched buzzer stage.
Office Monitoring Node: Deployed a second
ESP32 node for real-time temperature monitoring and reporting.
Secure OTA Maintenance: Added
ESP32 over-the-air (OTA) firmware updates
with password protection for controlled field
upgrades.
Backend Observability: Developed a Go REST API
with Prometheus metrics for uptime and free heap, then exposed
the data through Grafana dashboards.
Release Automation: Built a release-triggered
CI workflow that automatically builds and publishes Docker
images for the backend.
Server Deployment: Deployed and maintained the
backend on a production server, pulling the new release image
and rolling it out after each release.
PCB Bring-Up: Designed and manufactured the
custom PCB in KiCad, hand-soldered the board, and validated
hardware bring-up.
Deployment Status: Deployed in the IEEE office
and currently supporting 30+ users.
V1 SchematicPCB FrontPCB BackPCB 3D FrontPCB 3D Back
Revision 2
V2 Schematic
Intelligent Embedded Surveillance System (STM32 + ESP32 + Web
Dashboard)
Feb 2025 – Mar 2025 · STM32, ESP32, IoT, Real-Time Embedded
Control, Sensor Integration
Engineered a real-time embedded surveillance platform that links
STM32 sensing/control, ESP32 wireless telemetry, and a live web
radar interface. Optimized for precise ranging and low-latency
visualization with low-power wake behavior for practical
deployment.
Custom STM32 Drivers: Wrote drivers for the
stepper motor and ultrasonic sensor instead of relying on
default library behavior.
Ultrasonic Timing: Generated the trigger pulse
with a one-shot timer output to drive the pin
for an exact 10 microseconds.
Distance Measurement: Used
timer input capture to measure echo return
time precisely, then converted pulse duration to distance.
Sweep Control: Configured timer-driven
callbacks to step the motor at fixed intervals and control sweep
speed.
Low-Power Behavior: Used STM32
shutdown low-power mode during inactivity and
woke the system with a PIR interrupt.
Telemetry Bridge: Transmitted distance and
angle data from STM32 to ESP32 over UART, then relayed it via
Bluetooth to the web radar UI.
Latency Tuning: Maintained low-latency behavior
from detection through on-screen visualization.
Jan 2025 – Dec 2025 · Autonomous Robotics, ROS2, AI Pipeline,
Full-Stack, CI/CD
Built an end-to-end autonomous pothole-detection rover for
proactive road maintenance planning. Integrated Raspberry Pi +
ESP32 hardware, ROS2 autonomy, AI severity analysis, and a web
operations center for live control and monitoring.
ROS2 Architecture: Implemented rover-side
node orchestration for the command center, GPS,
LiDAR, camera streams, manual control, and autonomous
navigation.
AI Pipeline: Integrated pothole detection,
road segmentation filtering, area and depth scoring, and
severity categorization.
Web Operations Center: Built the SvelteKit and
TypeScript control flow for rover connection, path planning,
live metrics, manual override, and the pothole explorer.
Rover-to-Server Link: Implemented communication
with ROSBridge and WebRTC, including
heartbeat/status channels and live telemetry updates.
Deployment Workflow: Containerized services
with Docker Compose and set up GitHub Actions
for automated build, push, and test workflows.
Oct 2024 – Jan 2025 · Digital Logic Design, Logisim, Assembly,
Compiler Design
Designed a custom single-cycle 8-bit processor in Logisim with a
simplified ISA and memory-mapped I/O. Extended the platform with a
Python assembler and a minimal C-to-assembly compiler to run
structured programs on constrained hardware.
Processor Core: Implemented the ALU,
instruction decode, branching, and stack behavior in a
single-cycle architecture.
Memory-Mapped I/O: Added ports for terminal
output, 7-segment displays, and 128x128 video output.
Assembler Tooling: Built a
Python assembler with directives and macro
instructions that compiles assembly into hex images for Logisim
ROM.
C Compiler: Built a minimal
C-to-assembly compiler supporting if, while,
and for constructs plus mapped port writes.
Validation Suite: Created assembly and C
examples plus Python unit tests for assembler/compiler
validation within strict resource limits (1024 instructions,
call depth 32).
Scaled hands-on technical training as VP Academic, helping
students apply embedded and software skills directly in projects
and co-op. Drove 400+ student attendees across
workshops and exam prep sessions in one year.
Audience Reach: Across my events,
400+ students attended over the year.
Exam Reviews: Ran
28 final exam review sessions, personally
hosting the C and Python reviews.
Workshop Program: Hosted or co-hosted
8 workshops across Docker and CI/CD, STM32 and
FreeRTOS, IoT with ESP32 and MQTT, Intro to C, and KiCad + PCB
design.
STM32 Workshop: The STM32 and FreeRTOS session
had 40+ attendees and covered STM32CubeIDE
setup, bare-metal GPIO, interrupts, and FreeRTOS fundamentals.
Week of Workshops: Led
10 workshops with 125+ attendees, with direct
support for 4 sessions.
Teaching Hardware: Designed and handed out a
custom educational PCB for the KiCad workshop.
Branch Infrastructure: Maintained Docker
Compose infrastructure for docs hosting, monitoring, and
inventory tooling.
Mentorship & Knowledge Sharing Award · IEEE uOttawa
Issued by IEEE uOttawa Student Branch · Mar 2026
Recognized for high-impact technical mentorship and community
building through workshops, academic reviews, and large-scale
student initiatives.
Workshop Leadership: Led and delivered
workshops on IoT (ESP32), Docker, and STM32,
helping students build practical skills in embedded systems and
software development.
Event Organization: Co-organized large-scale
events including Cookies & Cram and
Workshop Week, a two-week series of daily technical sessions.
Award Highlights
Receiving AwardCookies & Cram session for CSTM32 Workshop