Bo Ti

scroll
01

About Me

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.

// profile.jpg
Bo Ti — profile photo
ID Bo Ti LOC Vancouver, BC ACTIVE
02

Projects

La Voiture — robot car with handheld controller
Featured Project

La Voiture — Field Tracking & Remote Controlled Robot

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.

Embedded C STM32 HAL Custom IR Protocol PyQt5 3D Visualization CMake/Ninja BLE IMU FSM Design I2C
8052 Oven Reflow Controller — breadboard prototype with microcontroller
Featured Project

8052 Oven Reflow Controller

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.

8052 Assembly Cooperative Multitasking Pub-Sub Architecture FSM Design SSR PWM Control UART DE10-Lite FPGA
UBC Engineering Design Teams — recruitment tracker
Utility

UBC Design Teams — Recruitment Tracker

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.

Python Selenium BeautifulSoup Anthropic API Claude Haiku 4.5 GitHub Actions Static JSON
Ulysses Ground Control Station — Qt 6 telemetry dashboard
Featured Project

Ulysses Ground Control Station

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.

C++ QML Qt 6 Serial Communication RFD900x Radio Protobuf/nanopb COBS Framing Quaternion Math
Light Cycle game on RISC-V — title screen
Project

Line's War — Light Cycle Game on RISC-V

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.

RISC-V (RV32I) Nios V Bare-metal C DE1-SoC FPGA VGA Frame Buffer
SolidWorks mouse model — advanced surfacing
Project

SolidWorks CAD Modeling

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.

SolidWorks Sheet Metal Advanced Surfacing 3D Sketch
03

Skills

My Skills

04

Experience

2025 - Present

Ground Control Software Engineer — Embedded Interface

UBC Rocket

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.

05

Get In Touch

I'm always open to new opportunities and interesting projects. Feel free to reach out!

bti@student.ubc.ca