Bike Eye


  • Detect cars behind cyclist and alert them audibly and visually
  • Provide a cheaper alternative to cycling radars like Garmin Varia™


  • Tested an ultrasonic rangefinder, but its range was too limited
  • Decided to use an ESP32 camera board with a machine learning model to detect cars
    • Programmed in C++ using ESP-IDF
    • Code based off of TensorflowLite image classification and Espressif SD Card examples
    • Initial version of firmware only collects photographs and saves to SD card
    • Collected about 1100 images to train ML model
  • Case designed in Onshape, 3D printed in PLA
    • Velcro used to attach electronics
    • Powered by Li-ion battery

Future work

To complete this project, I will need to:

  • Add TensorflowLite model to firmware
  • Create alert system
    • Buzzer, if loud enough, or display mounted to handlebars
  • Expand case
    • I think a larger battery will be necessary
  • Road-test completed device and collect more photos for continued training
Bike Eye on my bike
Example image taken by Bike Eye
Bike Eye attached to my bike
Initial ultrasonic rangefinder prototype
ESP32 camera board, with Li-ion battery
Internal electronics attached to case front piece
Front and back pieces of enclosure
Completed Bike Eye case