Projects

ESP32-S3 Development Board PCB Hardware
2026PERSONAL
ESP32-S3 Development Board

A 4-layer development board built around the ESP32-S3-MINI module — a dual-core MCU with onboard WiFi and Bluetooth — designed end-to-end in Altium. Dual USB-C ports feed power and data through a jumper-selected source, while an FT231X USB-to-UART bridge with SS8050 transistor auto-reset enables one-click flashing without manual button presses. USB is routed as an impedance-controlled differential pair over a continuous ground plane, with onboard 5V-to-3.3V regulation, ESD/TVS protection on both ports, and GPIO breakout headers along the board edges for prototyping wireless projects.

  • Dual USB-C inputs with a power-selection jumper to choose the active source.
  • FT231X USB-to-UART bridge with SS8050 transistor auto-reset for one-click flashing.
  • 4-layer stackup with ground/power planes and USB routed as an impedance-controlled differential pair.
ALTIUM PCB ESP32-S3 USB-C 4-LAYER SIGNAL INTEGRITY
Current Sense PCB schematic Hardware
2026DESIGN TEAM
HV Battery Current Sense Board

A current-sensing board for the Midnight Sun solar car that monitors current flowing into and out of the high-voltage battery, enabling overcurrent fault detection and state-of-charge tracking. The board sits on the HV relays and uses a low-side shunt-based measurement, where current is derived from the voltage drop across a precision shunt resistor via Ohm's law. A 24-bit delta-sigma ADC on the HV domain digitizes the measurement and communicates over an isolated I2C link, keeping the high-voltage and low-voltage domains safely separated.

  • Low-side shunt measurement across a precision resistor sized for a 30A maximum continuous current.
  • ADS122C14 24-bit ADC with integrated PGA, sampling on the HV domain and reporting over I2C.
  • Galvanic isolation on both the I2C data lines and the power supply to bridge the HV and LV domains safely.
ALTIUM PCB CURRENT SENSING ADC ISOLATION I2C
HomePOD dashboard Hardware + Software
2026PERSONAL
HomePOD: Multi-Room Environmental Monitor

A multi-room IoT monitoring system that turns a Raspberry Pi into a touchscreen hub for the home. Wi-Fi-enabled ESP32 sensor nodes capture environmental data including temperature, humidity, light, and ambient audio, then stream it via HTTP/JSON to a central Flask server. The dashboard aggregates live readings across rooms alongside integrated productivity apps. Built end-to-end from sensor firmware through API to UI.

  • 3 sensor types per node (DHT22, BH1750, MAX4466) interfaced over I2C and GPIO.
  • 6 integrated apps including weather, timers, and system stats on the touchscreen UI.
  • JSON API endpoints aggregating real-time readings from every node into one dashboard.
ESP32 RASPBERRY PI FLASK PYTHON C++ ARDUINO I2C LINUX BASH
PulseTrader dashboard Software
2026PERSONAL
PulseTrader: Stock & Crypto Analysis Platform

An AI-powered stock and crypto analysis engine that pulls multi-source market data and produces a transparent Pulse Score for any ticker. A FastAPI backend orchestrates ingestion from yfinance, Binance, FRED, and news feeds behind per-source rate limiters and circuit breakers, while a Next.js trading terminal surfaces live prices, candlestick charts, and AI deep-dive analysis. Includes a no-lookahead backtester and an MCP server so Claude Desktop can query the engine from chat.

  • 7-component Pulse Score with configurable weights and a full reasoning trace.
  • 20+ technical indicators across 1h/1D/1W timeframes with agreement scoring.
  • No-lookahead backtester, validated by 296 tests at 80% coverage.
PYTHON FASTAPI NEXT.JS TYPESCRIPT REST API MCP PANDAS NUMPY PYTEST
LiveScore dashboard Software
2026PERSONAL
LiveScore: Live Sports Dashboard

A real-time multi-sport dashboard streaming live scores and play-by-play across MLB, NHL, NBA, and NFL. A league adapter pattern normalizes data from each sport's REST API into a common schema, while WebSocket push delivers updates to the browser the moment they hit the server. Built with sport-specific win probability models and an in-game alert engine that surfaces upsets, comebacks, and momentum shifts as they happen.

  • 4 win probability models tuned per sport: 9,072-state Markov lookup (MLB), Poisson-probit (NHL), Stern probit (NBA), 15-feature logistic regression (NFL).
  • 4 league adapters normalizing REST API feeds into a unified play-by-play stream.
  • Alert engine detecting upsets, comebacks, and momentum shifts during live games.
REACT NODE.JS EXPRESS WEBSOCKET REST API RECHARTS VITE TAILWIND
Synchronous Buck LED Driver PCB Hardware
2025DESIGN TEAM
Synchronous Buck LED Driver

A constant-current synchronous Buck LED driver designed to power high-intensity turn signals on Midnight Sun's solar race vehicle. Built around the automotive-grade MPM6010 power module with a low-side current-sensing feedback topology to hold luminosity steady across the vehicle's full battery range. The 2-layer Altium board prioritizes EMC and thermal performance, with PWM control routed through the Vehicle Control Unit so blinking patterns are software-driven instead of relying on mechanical relays.

  • 10V to 16V input range with constant-current feedback holding luminosity stable across battery sag.
  • 2-layer Altium PCB with input caps placed adjacent to the IC to shrink the high-frequency switching loop.
  • Wide copper pours and AEC-Q100 qualified components for sustained operation under high thermal and vibration stress.
ALTIUM PCB BUCK CONVERTER PWM POWER ELECTRONICS EMC
Delirium Risk Monitoring Wearable activity classification dashboard
Early Arduino prototype of the Delirium Risk Monitoring Wearable Early prototype on Arduino · later moved to STM32
Hardware + Software
2025UNIVERSITY
Delirium Risk Monitoring Wearable

A wrist-worn wearable for delirium prevention, built in partnership with the Waterloo Regional Health Network. An IMU streams motion data to an STM32 running a PyTorch convolutional neural network that classifies distinct patient activities, with a DMA-driven pipeline enabling on-device inference and training. The trained model is served through a Flask backend that streams live activity classifications to a care-team dashboard.

  • PyTorch convolutional neural network classifying IMU data into distinct patient activities.
  • Real-time STM32 data pipeline using DMA for on-device model inference and training.
  • Trained CNN served through a Flask backend, streaming live classifications to a dashboard.
C PYTORCH ARM CORTEX-M STM32 CNN DMA FLASK
Step-Down Voltage Regulator PCB Hardware
2025PERSONAL
Step-Down Voltage Regulator

A compact 10V to 15V to 3.3V step-down buck regulator on a 2-layer PCB, designed end-to-end in Altium Designer at 2A output. The power stage was sized directly from the IC datasheet, with duty cycle, inductor ripple, output capacitor selection, and feedback compensation all calculated to hit the 3.3V rail target. Layout work focused on a tight hot-loop, solid ground plane, and clean decoupling, with full DRC/ERC verification, BOM, and Gerbers ready for fabrication.

  • 10V to 15V input regulated down to a 3.3V, 2A output on a 2-layer compact PCB.
  • Power stage sized from the IC datasheet: duty cycle, inductor ripple, output caps, and feedback compensation.
  • Tight hot-loop layout with wide current paths, solid ground plane, and labeled test pads, verified DRC/ERC clean.
ALTIUM PCB BUCK CONVERTER POWER ELECTRONICS
Battery Tester PCB Hardware
2025PERSONAL
Battery Tester

A simple 2-layer Altium board that uses voltage dividers and comparators to flag over- and undervoltage across a 10–15V range, with resistor-selectable thresholds and LED status indication.

  • Comparator-based over/undervoltage detection across 10–15V with resistor-selectable thresholds.
  • Trip points verified by calculation and simulation, with defined LED status behaviour per threshold.
  • DRC/ERC-clean schematics, BOM, and Gerbers with input protection and short comparator routing.
ALTIUM PCB
VEX Competition Robot Hardware + Software
2022 — 2025DESIGN TEAM
VEX Competition Robot

A series of VRC competition robots built from scratch across three seasons of Spin Up, Over Under, and High Stakes. Each robot is a full-stack mechanical and software build: custom drivetrains and scoring mechanisms designed in CAD, paired with autonomous and driver-control code in C++ on the V5 platform. PID-tuned routines and match data feed back into mechanical revisions every cycle, with a complete engineering notebook capturing the design decisions and iterations behind each build.

  • World-class competition robots across 3 seasons: 1x Excellence Award, 3x Tournament Champions.
  • PID-tuned autonomous routines refined through practice-field testing and match data review.
  • Full engineering notebook documenting design decisions, iterations, and post-competition redesigns.
C++ CAD MECHANICAL DESIGN CONTROLS PID
Open to work

Want to see more under the hood?

Reach out for schematics, source, or just to chat about the work.