Portfolio Projects
Here are a few of my portfolio projects that I've kept over the years. Though there's a clear focus on embedded systems (and by extension, C & C++), I dabbled a little bit with PCBA design, full-stack software applications, and other cool stuff. Check it out below!

Hornet Brushed Motor Controller
Personal Project | Nov 2021 - Apr 2022
-
Designed 24V 60A brushed actuator controller; designed PCBA and wrote C controller firmware
-
Enabled parallel development of PCBA and firmware by using TDD to validate runtime code execution, significantly reducing bring-up time while instilling confidence in firmware
-
-
Developed driver HAL abstraction for peripherals, enabling TDD and rapid MCU changes due to chip shortage

Project VANGUARD
WARG | Sept 2021 -May 2022
Led an amazing team of undergraduate students to build a drone capable of object retrieval and autonomous human intruder detection.
We competed in Southport, MB, at the annual AEAC student competition - though we didn't take home any awards or records, we learned a lot about what we didn't know.

3 Phase BLDC Motor Controller
Personal Project | Aug 2021 - Oct 2021
-
Created sensorless brushless DC motor controller for use in drone and robotic applications
-
Programmed trapezoidal commutation control scheme; opted to use off-board STM32 as a result of chip shortage
-
Simplified zero-crossing detection in hardware as the firmware implementation of sensored BLDC only required a phase shift timer to be removed with no additional wiring changes to the logic controller
-
Implemented hobby PWM RC interface using timer input capture to make controller compatible with RC systems

WARG Zeropilot Software
WARG | Sept 2020 - Present
-
Designed and brought up the safety controller (STM32F030)
-
Architected system to use 2 separate chips: one to perform high-level path planning and management and another to interface with the actuators capable of switching between manual control and autopilot commands
-
Opted to use bare-metal application to reduce code complexity and overhead on the safety chip
-
Implemented custom watchdog timer to default to manual control in the event that autopilot SPI transactions are not received within the specified time period

Mars Rover Chassis Control System
UW Robotics Team | Sept 2021 - Oct 2021
-
Designed a robotic control system to allow for teleoperated and autonomous control of a chassis
-
The objective was to design a robust system that could be used for ROS2 experimentation, as well as mechanical validation of a new prototype drivetrain through teleoperated control
-
Opted to use WiFi as the physical communication layer to allow non-tethered operation at ranges of up to 250m
-
Created command and control API through UDP multicasting in Python; implemented automatic software emergency-stop through a lost-link watchdog
-
Programmed differential drive using inverse kinematics to facilitate arcade-style teleoperation, allowing for precise control of the robot by human operators
-
Implemented current and voltage monitoring telemetry at a rate of 1 kHz, allowing for accurate torque and power delivery estimation and prototyping

Wireless Soil Moisture Sensor
Personal Project | Sept 2021 - Oct 2021
-
Designed wireless soil moisture sensor to evaluate runway surface conditions on an active aerodrome
-
For context, it rains a lot at my gliding club... I didn't want to keep on driving out only to find out it was super wet
-
-
Created custom 2-layer PCB in KiCAD featuring ESP32, USB, and UART; wrote firmware in C using ESP-IDF
-
Developed data transfer system via UDP multicasting using LwIP and FreeRTOS, enabling wireless communication

University Identity Authentication Discord Bot
Personal Project | Oct 2020 - Present
-
Developed a discord bot to handle identity verification, announcements, and other functions as required. The bot boasts 4k+ active users across 2 universities and 15+ servers
-
Acted as the project manager and architect during initial development and V2 releases
-
Implemented listener events with Discord REST API within a TypeScript command framework, allowing for additional event-driven functionality to be added to the bot
-
Reviewed and authored 50+ PR’s in Python 3 and TypeScript, enforcing proper conventions and scalability
-
Added CI/CD functionality to development pipeline, significantly reducing bug report rate by 200%

FIRST Competition Robots
4733 Scarlett Robotics | Sept 2017 - May 2020
-
Led a team of 12 high school students to build two 120 lb robots in 6 weeks
-
Wrote control algorithms and drivers to manipulate actuators over PWM and CAN interfaces with Java
-
Enabled autonomous completion of tasks through PID control, encoders, and vision-sensing peripherals
-
Mentored software team members in introductory CS concepts and robotic control system design