Computer Engineering · McMaster University
Zain Naqvi
Firmware & embedded systems engineer. I build the low-level code that brings hardware to life, and design the boards it runs on.
Selected Work
Six firmware and systems projects. Click any card for the full write-up.
01
Preemptive RTOS Kernel
A real-time kernel built from scratch on an MSP432. Assembly context switcher, priority-based preemptive scheduler, semaphores and mutexes with priority inheritance, and a first-fit heap, all measured on hardware down to the cycle.
02
CAN Bus Intrusion Detection
A bare-metal IDS on an MSP432E401Y that flags malicious CAN traffic in real time. Five detectors split across the ISR and main loop, with roughly 8 microsecond detection latency verified through DWT cycle counting.
03
Linux PCI Device Driver
A Linux kernel driver for the QEMU EDU PCI device covering probe and teardown, character-device I/O, MSI interrupts, and DMA, with clean goto-based error unwinding and proper per-device state.
04
STM32U5 Secure Bootloader
A bare-metal secure bootloader on an STM32U585 (Cortex-M33) building a chain of trust: register-level flash driver, A/B banking, and hardware SHA-256 over the image via DMA, with ECDSA signature verification in progress.
05
ToF 3D Spatial Mapping
A time-of-flight sensor system that reconstructs a 3D spatial map of its environment.
06
16-bit CPU in Verilog
Bottom-up CPU built in Verilog from primitive logic gates up through a 16-bit ALU, register file, program counter, and RAM, with a simulation testbench per module. Nand2Tetris architecture, implemented in Verilog rather than HDL.
About
I'm a Computer Engineering student at McMaster University working at the lowest layers of the stack, where firmware meets silicon. My focus is embedded firmware, RTOS and bare-metal systems, and silicon bring-up. I care most about the code that gets hardware running correctly and provably: schedulers, drivers, boot chains, and the timing and safety guarantees around them.
I've shipped real hardware across two robotics teams, McMaster RoboSub, where I lead electrical, and the Aerial Robotics and Drones Club, designing PCBs in Altium and working across CAN, SPI, I2C, and UART. My personal projects go deep on the same territory: a preemptive RTOS kernel, a CAN bus intrusion detection system, a Linux PCI driver, and a secure bootloader, all measured and verified on real hardware.
I'm looking for firmware, embedded systems, and silicon bring-up roles, the kind of work where getting the low level right is the whole job.
- Firmware: C / C++ / ARM Assembly / RTOS / Bare-metal
- Protocols: CAN / SPI / I2C / UART
- Hardware: PCB Design (Altium) / Oscilloscopes / MCUs
- Tooling: Keil / GDB / Git / Linux
- Bring-up & Debug: SWD/SWO / DWT cycle profiling / hardware verification
Let's build something.
Interested in firmware, robotics, embedded systems, or software engineering opportunities? I'd love to hear from you.
zainnaqvi.200621@gmail.com