Projects


Selected Projects

Tracking trashcan

This was a group project for an embedded systems course (MIE438). The premise of the project was to have a trashcan follow you around using computer vision. We used an STM32 NUCLEO WB55RG board as our microcontroller, and used a phone to capture video that was then processed with OpenCV and sent to the microcontroller through BLE.

Code available here. Presentation video here.

The completed trashcan prototype Top view of the electronics
Our completed prototype (with very messy electronics).

Automated home cooling system

This project was developed to address energy use in Ghana as part of an engineering design course (ESC204). It is essentially a smart thermostat that controls windows to take advantage of convective cooling. We used sensors feeding into a PID control loop that selectively opens windows.

A lot of the work in this project was focused on the engineering design process itself, which can be seen in our design portfolio. We also did smoke testing. Control and sensor code is available here.

Praxis house side view
Our semi-functional prototype on demo day.

Paddling data analysis

This project was part of a second year stats course (MIE286). We used R to do a few statistical tests on paddling data, specifically the effect of visual feedback on paddling performance. Code available here

Automated fiber coupling system

This project was for a system to automate fiber coupling for a relatively simple laser setup. It was part of a differential equations course, but the main idea ended up being to use a variant of the Nelder-Mead simplex method to find peaks for maximum power transfer.

Code available here.

The fiber coupling system
The fiber coupling system on the optical table.

Vortex droplet generator

Currently in progress. I am working on creating a vortexer to generate droplets for an AST microscope. This involves 3D modelling, embedded code for the actual vortexer, and some chemistry for the droplet generation.

CFD analysis for the droplet generator test tube
A quick CFD analysis to determine the velocity at different points in our homemade test tube.
Rough sketch of the final design
A rough sketch of what the final design may look like.

Crop residue detection

I was part of an aerospace design team that was trying to launch a satellite to measure crop residue. We did a few different statistical analysis methods and also some machine learning. We presented our results at the 46th Canadian Remote Sensing Symposium in Lethbridge.

As per licensing agreements, I am unable to share most of the code as of right now, but feel free to reach out if you have any questions about it.

Standing beside the project poster
Me doing the usual "awkward stand beside poster" picture.
Project poster
Our poster.

Lego sorter (Praxis II)

Our first-year design course had us making an automated Lego sorting device. Here is some Python and HTML that I used to prototype the front end of our design.

Here are some of the 3D models I made, mostly in solidworks, for the project.

Poster presented at the end-of-semester presentation day
Our poster from the end-of-semester presentation day.

Other first-year projects

The most fun project of first year was by far our bridge design competition. Code and images are available here. Our actual bridge design failed miserably in testing (luckily there were no casualties), but it was a lot of fun to build.

Bridge testing day with Prof. Bentz
Bridge testing day with Prof. Bentz.

Another interesting project from first year was the pendulum project, where I used Python data analysis tools to model a flashlight as a pendulum.

The makeshift pendulum
The makeshift pendulum.

Personal coding projects

To be completed! I am currently working on an OCR pipeline to digitize my flying logbooks, as well as a few embedded system designs.