-
-
Web dashboard for the prototype demo.
-
Low risk state on the M5.
-
Medium risk state on the M5.
-
High risk state on the M5.
-
Calibration graph obtained from running the calibration program. As you can see it's quite accurate from 1-3 m, and useable up to 5 m.
-
Labeled concept render of the ProxiRide hardware.
-
A mockup of the companion app.
Inspiration
Modern cars increasingly use sophisticated safety systems to detect nearby vehicles, pedestrians, and potential collisions. However, e-bikes and scooters often don't have access to the same kind of technology, despite sharing many of the same roads and hazards.
That gap inspired ProxiRide: a computer-vision collision awareness system designed to bring some of the safety technology found in modern vehicles to smaller and more vulnerable road users.
The concept could eventually be useful not only for individual riders, but also for shared e-bike and micromobility fleets, where a safety system could be integrated directly into rental vehicles.
What it does
ProxiRide uses a camera to detect objects in front of a rider and determine whether they are relevant to the rider's path. It estimates distance, analyzes closing speed and time-to-collision (TTC), and classifies the situation as SAFE, CAUTION, or HIGH RISK.
The system communicates this information through both software and hardware. A computer-vision dashboard provides detailed information, while a physical device displays the current status and provides immediate alerts through LEDs and a buzzer.
For this prototype, the physical device is an https://docs.m5stack.com/en/core/core2_for_aws, which receives data from the computer over Wi-Fi.
Closing speed is calculated from the change in estimated distance over time:
$$ v_c = \frac{d_{t-\Delta t}-d_t}{\Delta t} $$
When an object is approaching, the system estimates time-to-collision using:
$$ TTC = \frac{d}{v_c} $$
This allows ProxiRide to distinguish between an object that is simply nearby and one that may actually present a collision risk.
How we built it
ProxiRide combines several technologies into one system:
- YOLO-based object detection for identifying objects
- OpenCV for computer-vision processing
- Python for the detection and risk-assessment system
- Streamlit for the monitoring dashboard
- M5Stack Core2 for physical alerts
- Wi-Fi for communication between the computer and device
- C++ for the M5Stack program
One of the biggest technical limitations was distance estimation. A standard webcam can detect an object, but it cannot directly measure its depth.
To solve this, we performed real-world calibration using objects at known distances and collected multiple measurements at each distance. This allowed us to develop a usable distance-estimation system with an approximate range of 1–5 metres using a standard laptop webcam.
Challenges we ran into
Distance estimation
The biggest challenge was making distance estimation reliable. Object detection could identify a person accurately, but converting the size of a bounding box into a meaningful distance measurement required extensive real-world calibration and testing.
Determining actual collision risk
Detecting an object isn't enough to determine whether a collision is likely. ProxiRide needed to consider several factors together, including:
- Distance
- Path relevance
- Closing speed
- Time-to-collision
Combining these signals allowed the system to distinguish between an object that was simply present and one that represented an actual potential hazard.
Hardware and networking
Connecting the computer-vision system to the M5Stack introduced additional networking and synchronization challenges. The system had to continuously transfer detection information while keeping the physical device's alerts synchronized with the computer's calculations.
Accomplishments we're proud of
What we're most proud of is that ProxiRide became a working integrated prototype, rather than simply a demonstration of an object-detection model.
The current system can:
- Detect potential obstacles
- Estimate their distance
- Determine whether they are relevant to the rider's path
- Calculate closing speed and TTC
- Classify collision risk
- Display the information through software
- Communicate warnings through physical hardware
We also tested the system with a pedestrian in different scenarios, including approaching and moving-away situations, different distances, and full synchronization with the M5Stack.
What we learned
We learned that building an effective AI system involves much more than getting a model to recognize objects.
A large portion of the work involved calibration, testing, hardware integration, networking, and designing meaningful user feedback.
We also learned that combining multiple signals can provide significantly more useful information than object detection alone. Seeing a person in the path isn't enough, the system needs to understand their distance, movement, and relationship to the rider's path.
Most importantly, we learned how to take a relatively simple idea and develop it into a tested, integrated prototype through multiple iterations.
What's next for ProxiRide
The next step would be turning ProxiRide from a prototype into a compact, purpose-built device that could attach directly to an e-bike or scooter, such as on the handlebars or front of the vehicle.
Instead of relying on a laptop and webcam, a future version could contain its own camera, processing hardware such as a Raspberry Pi 5, Jetson Orin Nano, or similar platform, and a rider-facing display. LEDs and audio could provide immediate warnings without requiring the rider to look at a phone.
Future versions could also incorporate:
- Dedicated depth sensors
- Side and rear detection
- Blind-spot monitoring
- Improved distance estimation
- Better motion prediction
- Improved performance in different lighting and weather
- GPS tracking
- Dashcam recording
- Automatic near-miss recording
Shared micromobility
Another potential application is shared e-bike and micromobility fleets.
Instead of requiring individual riders to purchase a safety device, ProxiRide could eventually be built directly into rental vehicles. Fleet operators could use the system to provide collision awareness across large numbers of vehicles while also collecting anonymized safety data to identify recurring high-risk locations or situations.
This could make ProxiRide particularly interesting for cities where shared e-bikes and scooters are widely used.
Companion app
A future ProxiRide mobile app could provide a complete companion experience, allowing riders to:
- View their ride dashboard
- Review near misses and high-risk events
- Store and review recordings
- See incidents on a GPS map
- Monitor device status
- Review riding and safety statistics
Different versions could also be developed for different users, such as an affordable ProxiRide Lite model for basic collision awareness and a more advanced version with additional sensors and processing capabilities.
The long-term vision
Ultimately, we'd like ProxiRide to become a practical, easy-to-install safety-assistance system for e-bikes and other forms of micromobility.
Cars are increasingly equipped with technology that helps drivers understand what's happening around them. ProxiRide explores how some of that same concept could be brought to riders who are much more exposed to their surroundings.
Detect. Predict. Warn.
Built With
- ai
- arduino
- c++
- m5stack
- machine-learning
- opencv
- python
- streamlit
- yolo

Log in or sign up for Devpost to join the conversation.