Inspiration

We’ve all had that one drive when we could barely keep our eyes open, or moments when frustration hit behind the wheel. A second of fatigue or emotion can change everything. We want to create something that can watch out for you when you’re not at your best and help prevent the fatal things from happening.

What it does

DriveAware uses a simple camera to track your eyes, face, and hand movements in real-time. It detects signs of drowsiness, negative emotions such as anger or sadness, and even distracting hand gestures. DriveAware checks if something seems off, like if you’re closing your eyes too long, you look upset, or you make a risky gesture. If this occurs, then it immediately alerts you with sound and on-screen warnings.

How we built it

We used an ESP32-CAM for live video streaming, MediaPipe and cvzone for facial and hand tracking, and DeepFace for emotion detection. The data all runs through Python, where we analyze patterns such as eye aspect ratio and emotional trends. We also added sound alerts using PyGame and built-in recording options for testing and review.

Challenges we ran into

Getting everything to run smoothly on real-time video was tough. Mediapipe and DeepFace don’t always play nicely together, and getting them to work for low-power hardware like the ESP32-CAM took a lot of debugging. We also spent time fixing Python version issues and dependency mismatches (those were painful).

Accomplishments that we're proud of

We have facial tracking, drowsiness detection, and emotional analysis all running together reliably in real-time. We also like that it doesn’t need expensive gear. This system works with an affordable camera and open-source tools, making it something any car can access, not just new or luxury ones.

What we learned

We learned how small compatibility issues can break large code bases and how to troubleshoot them correctly.

What's next for DriveAware

In the future, we want DriveAware to connect directly to the car’s system, slow the vehicle down, or send alerts to emergency contacts if something goes wrong. We could also add deep learning so it can build personalized driver profiles and adapt to each person’s habits over time.

Built With

Share this project:

Updates