2nd year Electrical Engineering student at UBC pursuing embedded software development — drivers, firmware, and real-time systems. Experienced in low-level programming with Assembly and C/C++, with scripting proficiency in Python for automation and tooling.
I focus on embedded software development — writing drivers, firmware, and real-time control systems. My Python experience is in scripting and automation tooling, complementing my core work in low-level systems.
Three-mode robot car (line-following, joystick teleoperation, autonomous waypoint navigation) with STM32L051 car, EFM8LB12 handheld controller, and PyQt5 PC dashboard. Designed a custom bidirectional IR protocol through 5 iterations, achieving 27 fps throughput. Led team of 6.
A reflow soldering controller written entirely in 8052 Assembly on the DE10-Lite FPGA platform. I designed the pub-sub architecture with bit-addressable memory as a signal bus, and wrote all core FSMs including the 7-stage reflow control workflow.
Weekly-scheduled Python ETL that scrapes 33 UBC engineering design team recruitment pages with Selenium, summarizes each via the Claude API, and commits a static JSON that the site renders. Runs on GitHub Actions between Aug 15 – Sep 15 only.
Wrote the full C++ backend for UBC Rocket's Ulysses sounding rocket ground control station (Qt 6 / QML). Engineered SerialBridge for dual-port RFD900x radio communication with COBS framing and protobuf telemetry decoding at 10Hz.
A Tron-style two-player Light Cycle game written in bare-metal C, running on a Nios V (RISC-V) soft-core processor on the Intel DE1-SoC FPGA. Drives VGA frame buffer, keys, and HEX displays directly through memory-mapped I/O.
Two self-directed modeling projects — a PC tower case (sheet metal) and a wireless mouse (advanced surfacing) — to build proficiency in SolidWorks across different CAD disciplines.
Building the ground control station for Ulysses using Qt Quick (C++/QML). Responsible for the C++ backend, radio modem interface, alarm processing, parameter settings, and settings page UI.
I'm always open to new opportunities and interesting projects. Feel free to reach out!
bti@student.ubc.ca