Embedded Systems Projects - Spring 2025

index-hero-img

As part of my PhD coursework, I had the opportunity to take the Embedded Hardware/Software Design (CSCE 5612) course with Dr. Mahdi Pedram during the Spring 2025 semester. The course offered hands-on practice with microcontrollers and a semester-long project where students design and develop an embedded system integrating sensors and machine learning models. I was fortunate to work with Linto Thomas as a lab partner for these projects throughout the semester. I also opted to continue working on my final project after completing the course, which will likely become my doctoral thesis project. I will share more details as soon as I am permitted to do so.

Our weekly assignments for the course were submitted as posts on individual project websites we each created. The links below route to pages on my project website (a subdomain of this website) that include more details for a few of my favorite projects from this course.

Activity recognition

During week 7, we collected data for five activities and trained a machine learning (ML) model for on-device activity recognition. The activities were ascending stairs, descending stairs, walking, standing, and sitting.

Accellerometer and gyroscope datasets after processing
Accellerometer and gyroscope datasets after processing

Model training performance
Model training performance

Predicted activities in real time
Predicted activities in real time

Link to project page

Finite State Machine and Object Detection

In this lab, we used the OV2640 camera module on a XIAO ESP32S3 Sense to perform object recognition and control a finite state machine. Our dataset included ~20 images for each of 5 different toy cars (~100 images total). The images feature a variety of angles, background elements, and degrees of motion blur to provide the model a diversity of data for training. After collecting a sufficient number of images, we used Edge Impulse to train a FOMO (Faster Objects, More Objects) model for object detection. Finally, we created a finite state machine (FSM) that is represented as a traffic light, which detects the presence of toy cars and responds accordingly.

Car images used for model training
Car images used for model training

Labeling images for model training using Edge Impulse
Labeling images for model training using Edge Impulse

Testing the button on the FSM
Testing the button on the FSM

Link to project page

DAC Synthesizer

In this lab, we used the XIAO ESP32-S3 to create a musical keyboard by generating a sine wave and modulating its characteristics using button presses. The key design detail of the circuit is the use of the binary weighted method to create a digital-to-analog converter (DAC), which essentially uses a series of resistors to change the voltage of each output pin. I was able to connect the device to my guitar rig and experiment with different effects.

Sine wave on the oscilloscope
Sine wave on the oscilloscope

Circuit featuring a custom 1/4 jack
Breadboard circuit featuring a custom 1/4 jack

Experimenting with effects
Experimenting with effects

Link to project page


index-hero-img

Sonification for Explainability in Large Language Models

index-hero-img

Predictive Factors of Satellite Conjunctions