< link href="assets/vendor/owl.carousel/assets/owl.carousel.min.css" rel="stylesheet">


Hello and welcome to my personal website! My name is Diego and I am in my third year of Environmental Engineering at the University of British Columbia. I am a hardworking and dedicated individual with a passion for sustainability and leveraging technology to find innovative solutions for a greener future.

Currently, I am an embedded software member and driver of UBC's Solar racing team, a private-tutor teaching kids and teenagers a wide range of academic subjects, and a full time student in environmental engineering at the University of British Columbia.

When it comes to my professional journey, I believe that my soft skills have played a vital role in shaping who I am today. Having grown up actively participating in my community and engaging in various extracurricular activities, I've developed a strong set of social, teamwork, and leadership skills. Whether it was captaining my high school flag football team, playing sports throughout my childhood, or volunteering in dance performances, retirement homes, or Chemical Engineering labs, I've always sought opportunities to connect with others and make a positive impact.

Outside of school and work, I enjoy creating IoT projects, boxing, playing video games, running, music production, reading, skiing, skateboarding, chess, hiking, scuba diving, and most of all, spending time with family and friends.

Some fun facts about myself: I have been to 70 different countries, I was once ranked 19th in the world in Overwatch, I am very double jointed, I've ran the BMO Vancouver Marathon, I am a second degree black belt in Shotokan karate, I speak English, French, and Spanish, and I am half Panamanian, half Scottish.

  • Phone: 778-251-2046
  • Email: diegoarmstrong84@gmail.com


Software Development

Embedded Systems

Web Development

IoT Engineering

Firmware development

Backend Development


Clean Energy



BASC, Environmental Engineering

September 2021 - Present
  • Environmental Engineering Science and Technology
  • Environmental Engineering Professionalism
  • Solution-Finding Techniques Suitable for Addressing Complex Environmental Problems
  • Environmental Engineering Design

Online Certifications


Computational Thinking for Problem Solving

Python Programming: A concise introduction

Hydrogen Fuel Cell Engineering


Open Water Diver



August 2023 - January 2024

Contract - Embedded Software Engineer Intern

  • Collaborated with a team of electrical and firmware engineers to enhance the company’s environmental data loggers. Leveraged an STM32 microcontroller’s ADC capabilities and SPI peripherals to interface with a specialized sensor.
  • Applying Fast Fourier Transforms to develop an interface to convert and parse raw sensor data outputs into meaningful human-readable insights.

RCMP: Security Engineering

May 2023 - September 2023

Embedded Software Engineer Intern

  • Reverse-engineered 2 WiFi routers utilizing an array of technical tools, including JTAG interfaces, soldering equipment, a logic analyzer, a voltmeter, and the PuTTY emulator within the Linux platform. Uncovered potential vulnerabilities within the router’s systems and presented these findings to RCMP officers.
  • Utilized an ESP32 and a dedicated stepper motor driver to interface with a stepper motor. Developed a user-friendly Python Tkinter GUI to enable precise angle control of the stepper motor to adjust the orientation of an RF antenna system.

UBC Solar

Sep 2022 - Present

Embedded Software Engineer / Driver

  • Developed a GPS system for our solar-powered race car, utilizing an STM32 ARM microcontroller and the STM32 CubeIDE. Established communication with a GPS module via the I2C protocol to receive NMEA messages.
  • Created a parser in C to interpret 5 critical NMEA messages including positional data and time. Wrote custom code within the FreeRTOS environment to create functions for receiving, queuing, and transmitting these NMEA messages.
  • Mentored 9 new recruits of both the embedded firmware and battery management systems subteams through fundamental embedded concepts such as the CAN protocol, the use of the STM32 CubeIDE, and interrupts.
  • Authored a specialized Python testing suite using Pytest and Cantools for analyzing and validating 12 high-priority CAN messages in a solar-powered race car, improving data verification efficiency by 75%. Leveraged Docker to containerize the telemetry testing environment.
  • Implemented a logging mechanism using the logging module from the Python Standard Library. The system was designed to capture, sort, and record information for 21 distinct CAN messages define in the solar-car’s network, as identified in the DBC file. Implemented version control with Git to synchronize with teammates.

Diego's Private Tutoring

Mar 2020 - Present

Online Private Tutor

  • Conduct private tutoring sessions for a diverse student demographic, from preschool to grade 12, across subjects including math, physics, computer programming, English, French, and Spanish.
  • Customize teaching methods to cater to individual student needs, promoting clear comprehension and in-depth subject understanding.

Balsar Laboratories

May 2020 - Sep 2020

Chemical Engineering Intern

  • Spearheaded R&D engineering projects at Balsar, focusing on bioplastic bowl and utensil creation for major events like Diwali, targeting substantial plastic usage reduction.
  • Managed individual projects, conducting experiments and data analysis to devise innovative solutions in bioplastic product development.
  • Delivered weekly presentations to the engineering team, sharing insights, receiving feedback, and collaborating on design and production process enhancements.

Kumon Education

Sep 2019 - Mar 2020

Marker / Tutor

  • Served as a marker and tutor at Kumon, evaluating and offering constructive feedback on English and math assignments and tests.
  • Actively supported students through their educational journey, aiding in comprehending and mastering complex concepts.


The Flywheel

The Scissor Lift

Plants v Zombies

CAN Message Testing for Solar Race Car

Solar Car CAN Data Logging System

ESP32-CAM Live Web Server

Stepper Motor Control via User Interface

ESP-NOW Communication Protocol

OpenHaystack Guide and Contributions

Hardware Hacking

Breadboard Computer Clock

GPS for Solar Car