Some of my non-work related projects include:
Hard Hat (Sept 2024)

One of the time honoured Frosh Week traditions is Hard Hat decoration, which usually consists of painting it, putting stickers on it, etc. My Hard Hat decoration, in collaboration with Nanik was to add a giant screen on the front, onto which people can leave messages. Users do this by scanning the QR code taped on the sides, which leads them to a Google Form where they can type in whatever they want. The input to the form then gets sent to be displayed on a website, which is being displayed by the Hard Hat's screen.
Nanik did all the hardware (setting up the screen, hiding the Raspberry Pi inside a cleverly 3D printed box) and I did the software, which consisted of setting up a Google Script to update a Github Pages site's text every time someone filled out the form.


And then I got the hardhat to run Doom and took it around SUDS and let people play it.

Skills learned: Google scripts, Github websites, why maybe it's not a good idea to let strangers decide what to write on your forehead (which you can't see by the way, so a lot of stuff goes unnoticed until people start pointing and laughing at you)



Electric Accordion (Apr 2023)

My lab partner for an embedded software course I was taking (Nanik) had an extra toy accordion just lying around (who doesn't), so we decided that for the final project of the course, we'd rip out the reeds and "electrify" it (again, who wouldn't.) We added copper tape on the backside of each button on the accordion, and added metal contacts on the side where the holes were, creating a circuit when one of the buttons was pressed. Then, each of these switches was mapped to an input on an STM32 Nucleo dev board, which we programmed to send a note with a desired frequency that depended on which button was pressed to an amp jack. We were then able to plug a guitar amplifier into the accordian, and play it like a normal accordion.

Nanik handled the hardware (figuring out the physical design of the accordion, soldering most of the keys, adding the light-sensitive resistor inside the accordion s/t/ it would only play when expanded and contracted). My job was to take the physical accordion, and figure out how to make it such that the STM32 was able to play the right notes when the right key was pressed.


Skills learned: soldering, embedded software design (e.g., fundementals of how DAC/ADCs work, interrupts), how to play the accordion

Emergency Shelter Map (Mar 2022)

The goal of ECE297 (Software Design) is to create a program to visualize geographical data from OpenStreetMap using C++ and the GTK library (so a map.) In addition to following best graphic design practices and optimizing the map for fast rendering speed, I also took data from the City of Toronto's emergency shelter list, and displayed all the locations of emergency shelters in Toronto with their current occupancy.

The project is typically done in groups of three, but due to unfortunate circumstances, the other two members of my group were unable to complete the project, so the majority of the map was developed by me.

Skills learned: data structures, software design, how to speed up programs, the sad state of Toronto's emergency shelter system