Smart Bicycle Brake System 🚲

Senior Design Project

August 2023 - December 2023

Project Overview
For my Senior Design project, I partnered with 2 ECE students to build a smart bicycle brake system that aims to address the critical issue of bike accidents and injuries that result from improper/premature braking in high-stress situations. Our smart bicycle brake system can be integrated into a pre-existing bicycle brake system and maintain the bicycle's original braking system. I was mainly responsible for programming our system's MCU and handling all financial purchasing for parts and orders.


System Components & Features
Our system consists of a TF-luna LiDAR range sensor and caution LED for object proximity detection within 0-5 meters, two 25kg high torque servo motors for front and rear braking, a variable brake lever to control servo motors, a gyroscopic incline sensor to control front or rear braking during incline or decline travel, and an ESP32 MCU to program the system together using Embedded C and an arduino IDE and I2C, UART, ADC, PWM communication. The entire system is powered by a 20V ion lithium battery, with LM2596 DC-DC buck converters supplying 5V to the LiDAR sensor and gyroscopic sensor, and 6.8V to the brake lever and servo motors; an AMS1117-3.3 voltage regulator powers 3.3V to the ESP32 MCU. The system can be powered off using the on-off switch connected to the battery. Our team was able to integrate our system sensors, MCU, and power together on a singular PCB.

How to use the Smart Bicycle Brake System
While the user is riding the smart bicycle, braking of the servo motors can be controlled using the variable brake lever. If the LiDAR sensor detects an object within 3-6 meters, the caution LED will light on to warn the user of a close object. If the LiDAR sensor detects an object within 3 meters, the servo motors will activate braking and pulsate 5 times to help prevent an oncoming collision. The servo motors will remain in braking position while within 3 meters of an object and will only release once out of range. If the LiDAR sensor detects an object within 3 meters and the user is traveling on a decline path of 0 degrees or less, the gyroscopic sensor will activate braking for only the rear servo motor. For an incline path of 30 degrees or more, the gyroscopic sensor will activate braking for only the front servo motor. This incline/decline braking feature helps prevent the user from losing control of the smart bike while braking during incline/decline travel.

Current Project Status
Our team presented the Smart Bicycle Brake System during final project demonstrations. We also showcased our project in the Purdue Spark Challenge, a corporate-sponsored design competition hosted by the Elmore Family School of Electrical and Computer Engineering in partnership with the ECE Student Society.


Click here to view our project final presentation.

Website

Purdue SoCET (System-On-a-Chip Extensions Technology) 🔌

Undergraduate Researcher

January 2021 - December 2023

Team Goal
"The goal of Purdue SoCET is to provide students hands-on experience with a fully developed industry quality SoC design flow. Members of the group engage with RTL design, physical design, PCB design, chip bringup, verification methods, an array of EDA tools and software development. Through SoCET, a student can engage with the entire life cycle if a chip design."

Software Design Team
During the Spring 2021 semester, I joined the Software Design team for Purdue SoCET. Together, we researched rust and embedded rust programming fundamentals to understand how to add rust support for the AFTx06 SoC.


Our team was able to set up and analyze chip simulations of AFTx06 SoC through a Cadence Simulator. Then we ran and compiled a simple rust program on the design. For a fun demo project, we wrote a gaming program (similar to snake) using rust and a HiFive1 Rev B board. We hope that our findings from this semester will help future teams that develop software (similar to Rust) for future chip designs.

PCB Design Team
For the Spring 2022 semester, I worked closely with the PCB design team to test and debug a PCB for the AFTx04 SoC. This PCB enables fast verification of self-test procedure/simple tests ran on the AFTx04 and allows for easy interfacing with other circuits. I'm learned KiCad and soldering techniques to better understand the design of our PCB, and add more components. Our team utilized electronic lab equipment to conduct incremental testing for various electronic components on the PCB board.

Test Engineering Team
For the Fall 2023 semester, I worked closely with the Test Engineering team, a team new to SoCET this semester. The goal of the test engineering team was to apply Design for Test (DFT) into the design process for different logic circuits. VLSI has a very huge need for increased reliability and testability. With our semester-long project, we demonstrated the application of DFT to digital logic circuits and how it can be used to improve the reliability and testability of digital circuits. Our project involved following the DFT process, which included:

  1. Inserting scan inserted muxed-D flip-flops to replace the original flip flops.
  2. Performing Automated Test Pattern Generation (ATPG) on scan inserted netlist to create reports indicating test quality and test application time.
Our team used the Genus tool from Cadence and the TestMax tool from Synopsys to implement scan insertion. ATPG on a scan inserted netlist was done using the Modus tool or TestMax tool. For our future work, we will be implementing DFT for the AFTx08 (the next System-on-Chip tapeout by Purdue SoCET) and enhancing the overall efficiency, reliability and testability of the tapeout process.


Click here to view our Team Website and here for our Rust Research Presentation!

SoCET-Logo

Space Invaders 👾

Microprocessor Systems and Interfacing Mini-Project

May 2022

I collaborated with 3 ECE students to develop a Space Invaders game on a TFT LCD display using a STM32F091 Arm Cortex-M0 MCU. We used the SPI communication protocol and internal peripherals (GPIOs, Timers, ADC, DAC) in our design along with the MIDI communication protocol to output the game audio. We programmed the game logic (aliens, spaceship, lasers, score) using Embedded C and connected push buttons to LCD display for gameplay. We designed a circuit to connect the TFT LCD display, STM32F091 Arm Cortex-M0 MCU and push buttons together on a breadboard.


Website

Personal Website 📁

Personal Project

August 2020

I decided to put the web development skills I learned this summer to the test and created my own personal website from scratch! I used HTML for the website’s pictures and information, CSS for the color and design, and JavaScript for the background pictures. I also used Bootstrap and jQuery frameworks to help with styling, layout and website responsiveness. My goal for this project was to showcase my education, skills, projects and experiences in a creative manner, and go more in depth with my projects and experiences. Now that I have my own personal website, I’ll continue to add more experiences as I progress through my college career!


Website

College Degree Tracker 🎓

Personal Project

August 2020

For one of my personal projects this summer, I created a program using C/C++ that tracks a Purdue undergraduate student’s progress in a particular major by allowing the user to store their progress each semester into a binary file to view, modify or delete. My goal for this project was to make an alternative and easier method for students to track their progress towards a college degree, rather than requesting transcripts every semester or using the Purdue GPA calculator to predict their grades.

The program will ask the user for: name, PUID (college ID), classification, college (within Purdue), major, semester number, basic information for each class (name, number of credit hours, letter grade), total number of credit hours from past semesters, and total number of quality points from past semesters.

The program includes a GPA calculator that will calculate the user’s semester GPA and cumulative GPA based on their input for letter grades, credit hours and quality points. In order for the user to access, modify or delete their college record, they’ll have to enter in their unique PUID number in order to access their file.


CollegeDegreeTracker

COVID-19 "Info To Know" Website 🦠

Personal Project

July 2020

This summer I decided to learn web development in order to create and design websites from scratch. Because of the ongoing information about COVID-19 and the amount of misinformation there is online and on social media about the virus, I decided to build a website using HTML, CSS and JavaScript in order to provide reliable information about COVID-19 that I believe everyone should know. I also used Bootstrap and jQuery frameworks to improve the overall design and interactivity of the website as well.

The website I made is easy to navigate, answers common questions surrounding COVID-19, and contains links to important resources for viewers. I even provided my own personal advice and links to the credible sources I used for the information presented on the website. My goal for this project was to provide people with accurate information about COVID-19 to help stop the spread of misinformation and potentially save someone’s life.


Covid19Website

Soteria 🏠

SigmaHacks 2.0

July 2020

This summer, I participated in a 24-hour hackathon called SigmaHacks 2.0. I was able to team up with 3 other hackers to create a full stack web application that enables front-line workers to search for and purchase nearby housing rentals amidst the COVID-19 pandemic. Our platform also allows for landlords to post housing rentals for front-line workers to occupy.

To build this project, we used Python for the backend, Django for the web framework, HTML and CSS for the frontend and SQLite for the database. I focused mainly on the frontend development and created an interactive chatbot feature to help users check for COVID-19 related symptoms and determine if they need to seek medical care immediately.

The goal for our project was to help front-line workers find a place to temporarily stay in order to keep their families and community safe from being exposed to COVID-19. We also wanted to create incentives for landlords to have consistent renters due to the growing marketplace and the steady demand for temporary housing despite the global pandemic. A fun fact about our project is that our project name, “Soteria”, is the name of the goddess of safety in Greek mythology!



Soteria

Technology Assisting Veterans 🦾

Purdue EPICS Program

August 2019 - May 2020

Team Overview
Throughout my freshman year here at Purdue University, I was part of the Purdue EPICS (Engineering Projects in Service) program. I teamed up with VETS (Technology Assisting Veterans), a team that focuses on developing mobile impairment technologies for veterans in the surrounding community. Within VETS I was a part of two sub-teams, Operation Row and Operation Swim.

Operation Row
For Operation Row, we designed a prosthetic arm device for a veteran named Jared Bullock. Jared was wounded during a mission and lost his right limb, which affected his gym training. Our prosthetic arm device would connect Jared to a seated row machine and allow him to perform a rowing exercise safely and properly.


Operation Swim
For Operation Swim, we designed a floatation and entry & egress device for a 12 year-old boy named Charlie. Charlie has a condition known as cerebral palsy which makes it hard for him to have fun in the pool. So our team partnered with the Grant House Foundation in West Lafayette, Indiana to help create a floatation device (similar to a life jacket) that would provide Charlie the support he needs to enjoy his time safely in the pool.

Project Contributions
For Operation Row, I helped with the outer design of the arm socket device by smoothing out the edges with sanding tools and cutting out the socket holes using the dremel tool. I also assisted with the evaluation and research of our design methods and helped eliminate the design flaws of the vest that would attach to Jared and connect with the socket device. For Operation Swim, I contributed to the preliminary design of the ADA regulated entry & egress device and focused on the failure analysis of the design and effects of device failure by using severity guidelines and ratings to evaluate the efficiency of the device.

Webmaster/Communication Officer Role
In addition my to personal contributions, I also served as the Webmaster / Communication Officer for the VETS team. I reconstructed and managed our team’s website, shared team and project updates with the EPICS community via Twitter, and was in charge of the team-recruiting efforts by creating physical and virtual recruitment team flyers for prospective EPICS students.

Takeaways from EPICS
I took away so much from being a part of VETS in my freshman year. I learned how to properly collaborate and communicate within a team and understood how engineers work towards designing solutions to specific problems that involve connecting an individual to a specific product. Thanks my experience with VETS, I am more confident when it comes working within an engineering team and following a design process towards an efficient solution.


Click here to view our team website and here for our team Twitter page!

EPICSPurdue

ENGR 133 Grade Calculator 🖩

Course Project

November 2019 - December 2019

In the fall semester of my freshman year, I took my intro to engineering course. ENGR 133 (Transforming Ideas To Innovation) focused on introducing students to Python and MATLAB programming. For the final course project of the year, I built a calculator using Python to calculate the course grade, letter grade and pass/fail grade of any student in ENGR 133.

This was my first time building a project using Python. I was able to incorporate what I learned throughout the semester into making my project. I used loops, if-else statements, and a user input function within my program to carry out the calculations and display the student’s data. My goal for this project was to make it easier for students to calculate or predict their final grade in ENGR 133 since we were nearing the end of the semester.


PythonProject