Hello, my name is
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.
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.
$ whoami
Bo Ti (倜博)
$ cat education.txt
UBC Electrical Engineering
Year 2
$ cat focus.txt
Embedded Software
Firmware & Drivers
Real-time Systems
$ _
A reflow soldering controller written entirely in 8052 Assembly on the DE10-Lite FPGA platform. I designed the pub-sub architecture using bit-addressable memory as a signal bus, wrote all core FSMs (button debouncing, UI updates, timing, and the 7-stage reflow control workflow), and configured timers and interrupts. Mid-project, I reviewed and rewrote 2,500+ lines of code to enforce the pub-sub pattern as new features were merged. The system drives an SSR via soft-PWM with proportional control, supports dual interaction through a 4x4 keypad/LCD hardware interface and a UART-based PC GUI (57600 baud), and includes thermocouple fault detection with emergency shutdown.
Qt Quick ground control software for UBC Rocket's Ulysses vehicle. Built the C++ backend including the serial interface with the radio modem, alarm receive/processing/display pipeline, and parameter setting logic. Designed and implemented the settings page UI for customizing data display layouts at runtime. The station features a real-time telemetry dashboard with Kalman-filtered orientation, barometric and environmental data, engine control monitoring, a configurable PID controller interface for multiple flight modes, and a radio modem console with single/dual-port modes.
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