UWAFT (UWaterloo Alternative Fuels Team) Lane Controls Algorithm Paper
Developed the Lane Controls Algorithm for the University of Waterloo Alternative Fuels Team (UWAFT) for the Lyriq model delivered by GM. Contributed to UWAFT's participation in the EcoCAR EV Challenge, aiming to advance electric vehicle technology and sustainable transportation solutions. Explored vehicle and tire dynamics with a focus on Model Predictive Control (MPC) strategy.
LipRead.ai
Webapp which aids deaf and disabled people to read audio with the power of AI and ML. I used Automatic Speech Recognition using Connectionist Temporal Classification in Keras.
Brain Signal EEG Art Generator
Using the OpenBCI biosensing devices as the backbone, we used Brainflow libraries to parse EEG signals and predict emotions. Then the React and Flask frontend runs of LLM models to create AI-generated art.
Sign Language Translator
Using the Tensorflow Object Detection API, we employed transfer learning using SSD MobileNet. We trained our model with a Kaggle dataset for ASL. We implemented Mediapipe for real-time pose estimation on CPUs and GPUs paired with OpenCV.
Twitter Clone
I built a X (Twitter) mobile android app clone using Kotlin in Android Studio. With retweet functionalities, and Firebase protocols in backend. I used AndroidX Jetpack Compose dependencies for lambda functions in RecyclerView adapter callback.
FSAE
I am a part of the University of Waterloo's Formula SAE team. As the firmware engineer and I work on the car's embedded system. I also work on the data acquisition system and the telemetry system.
I developed a driver to monitor the temperature of the battery management system (BMS) of the car's Insulation Monitoring Device, OSI model CAN Bus physical layer, and the data link layer including DTC’s bit monitoring/stuffing, frame checking, ACK, CRC, and preventing high voltage failures by measuring the voltage between the chassis and the battery pack.
HIL (Hardware In the Loop) Tests
The HIL (Hardware in Loop) Testing task described involves setting up and validating firmware for a HIL board, specifically using an ESP32 chip for the DCU (Dashboard Control Unit) project.
Here I am initializing CAN (TWAI), configuring GPIO pins, and using FreeRTOS to define new CAN messages and signals. Using processCAN, I write C code to process incoming CAN messages.