Projects

Sticker Vending Machine

This was the big end-of-term project for my Embedded Systems Design course.
Background: The EECS (Electrical Engineering and Computer Science) department at UofM hands out EECS stickers when you pass one of their classes. Students plaster these stickers everywhere. Here's my current collection:
Our group decided we wanted to "crack down" on the illicit trading and distribution of these stickers (it's a fact that some students possess stickers they didn't rightfully earn). Our solution? Build a super secure sticker vending machine from scratch, complete with ID-card verification, NFC token verification, security questions, and physical security via an electronically controlled vault door. We isolated the code responsible for releasing the stickers from the code that authenticates the user's identity by running the project across two separate STM32 boards and encrypting the communication between the two with AES to thwart man-in-the-middle attacks.
____________________________________________________________________

Apogee Detection Simulator

I spent a year on MASA, Michigan's rocketry team. MASA launches custom-built rockets in 2 to 3 year cycles and was building a new massive liquid-fueled rocket when I joined the team in 2024.
After joining, I became the "apogee-detection guy." In rocket-speak, "apogee" is the moment the rocket reaches peak altitude. The detection aspect requires depth in fundamental physics (think kinematic equations on steroids), algorithm design, and sensors. Unsurprisingly, the faster and higher your rocket goes, the harder it is to recover it (ours was slated for 50,000 ft and a top speed of Mach 1.7).
I built an apogee-detection testbed in C++ that simulated the entire flight from the perspective of the onboard barometers. The simulations painstakingly accounted for sensor noise and drift due to temperature and pressure changes. I used real telemetry data that the team collected from hot-firing the engine to hone the algorithm. The program produced barometer readings that matched what our C drivers on the flight computers expected to receive.
Later versions accounted for in-flight events like breaking the sound barrier, MECO (main engine cutoff), decelerating back through the sound barrier, and multiple parachute deployments during descent.
We were moving toward using the simulator with a sensor emulation board (SEB) during hardware-in-the-loop testing before I stepped away from the project to focus on other research.
____________________________________________________________________