About the Project:
Inspiration:
If you drive in Virginia, you’ve probably done the same thing we have: hit an unavoidable pothole, and then worry about your tires, alignment, or even safety. The frustrating part is that potholes are everywhere, but reporting them is still a manual process, typically you have to call VDOT or go to their website and fill out a form. That creates a gap because road damage is common, but the “signal” to maintenance teams depends on people taking extra time to report it (and most drivers don’t). Pothole Patrol bridges this gap by turning the vehicles already on the road into automated data collectors.
What it does:
Pothole Patrol turns ultrasonic distance sensing into an automated pothole reporting system. As a vehicle drives, an ultrasonic sensor continuously measures the distance to the road surface. When the system detects a sudden, confirmed increase in distance, it flags an event, and estimates severity based on the size of the drop. Those events can then be transmitted reports to VDOT, reducing the need for drivers to call a hotline or manually fill out an online form.
How we built it:
We built Pothole Patrol as a hardware/embedded systems project centered around real-time sensing. We started with an Arduino Uno as our microcontroller and mounted an ultrasonic sensor facing downward to continuously measure the distance between the vehicle and the road surface. Instead of reacting to raw sensor data, we implemented a smoothing algorithm using a moving average window to stabilize readings while the vehicle is in motion. To avoid false detections caused by vibration, we added a junk-value rejection, a rolling average to reduce noise, and a confirmation system that requires multiple consecutive upward changes before flagging a pothole. This ensured that the system detects real drops in road surface elevation, not just bumps or shaking. We then integrated a GT-U7 GPS module using SoftwareSerial and TinyGPS++ to extract live latitude and longitude coordinates. When a pothole is confirmed, the system associates that event with GPS data so it can be mapped and reported. All detection logic was tuned to account for vehicle speed. By adjusting sampling rate, smoothing window size, and confirmation thresholds, we ensured that potholes are detected quickly enough at low speeds without over-detecting minor surface changes.
Challenges we ran into
GPS Acquisition: Establishing a "Cold Start" satellite fix with the GT-U7 was difficult, as the module lacks an onboard status LED. We had to implement a serial debugging routine to monitor the sync process.
Dynamic Normalization: We spent significant time tuning the sampling rate and smoothing window to ensure the system didn't "miss" a hole at higher speeds or "over-detect" minor surface roughness and car shaking.
Hardware Conflicts: Managing timing between the ultrasonic trigger/echo and the SoftwareSerial buffer for GPS data required precise delay() management to prevent data lag.
Accomplishments that we're proud of
We successfully built a real-time embedded system that converts noisy, raw physical data into actionable intelligence. We are particularly proud of our custom filtering logic, which allows a low-cost sensor to perform reliably in a high-vibration environment. We didn't just collect data; we built the decision logic necessary to validate it.
What we learned
Through this project, we learned how real-world sensor data differs from ideal textbook data. We learned about the tradeoff between smoothing and reaction speed. In addition to that, we discovered how sampling frequency interacts with physical motion. Lastly we understood debugging hardware serial communication conflicts, and how critical system tuning is with small adjustments in delay or window size which dramatically changes detection performance.
What's next for Pothole Patrol
Our primary goal is to scale this logic for real-world fleet implementation. We envision mounting this system on police cars and government vehicles. Since these cars already travel the roads daily, they can provide continuous, passive road-quality updates. Detected data (location, depth, and severity) would be automatically uploaded to a DOT database. This makes maintenance more efficient, saves tax money by reducing the need for manual road checks, and ensures potholes are fixed before they are even reported by the public. Lastly, we plan to integrate downward-facing cameras. Many modern EVs are already equipped with these sensors; by applying our logic to their existing hardware, we can turn consumer fleets into a massive, high-accuracy road monitoring network.
Built With
- arduino
- arduino-uno
- c-programming
- gtu7-gps
- motor-driver
- robotic-smart-car
- ultrasonic-sensor
Log in or sign up for Devpost to join the conversation.