the bike light assembled
Biking in Boston is intense! Boston drivers are mean people and they don't like bikes!
With biking being so dangerous in the area, the goal was to improve safety and visibility of bikers. Many drivers are unfamiliar with hand signals that bikers use to slow down or turn. On top of that, most bikers don't even use the signals!
The goal was to be able to adapt visibility biking lights to light up for braking and to signal for turns. With better lighting, bikers do not have to worry about the distraction of making a hand signal. Drivers will also easily understand the biker's intent.
What it does
The intended idea was to add an IMU (Inertial Measurement Unit) to integrate accelerometer, gyroscope, and magnetometer data that is filtered for accurate, clean measurements. Using the data, we planned to determine when the bike was slowing down to activate a brake light. We also were going to add sensors to the handlebars to start turn signals. After the bike finished turning, they would automatically turn off.
In reality, we ran into issues with moving the data from the sensor to a computer that we could actually process it with. We were not able to get the sensors successfully working We ended up spending most of the time reverse-engineering the bike light and figuring out exactly how it functions so that we could interface with it. We wrote out a document describing our procedure and the results we found.
How we built it
We 3d printed a case to hold a Raspberry Pi and a battery that could connect to the bike frame. This was for the brains of the project.
The bike light was opened using a splitter tool and we used an oscilloscope and function generator to figure out how the circuit works and determine signal timing necessary to interface with the device.
We also built an op-amp comparator circuit (there were no transistors left!) to be able to signal the bike light to turn on, turn off, and switch between the four modes. A python script was written to be able to interface with the light
Below is a link to the documentation of how the device operates https://docs.google.com/document/d/1RgW_YeAuNCNQEm03j-cdHYmJ41WvquLUqxvsqUrFhA8/edit?usp=sharing
Challenges we ran into
We had many issues getting the data sent to somewhere where it could be processed. We tried using ROS, SPI, and sending the data over serial, but ran into intermittent issues in each case, where not all of the data would be sent.
Accomplishments that we're proud of
Reverse engineering the bike light!
What we learned
24 hours is not a lot of time to finish a hardware project.
What's next for Smarter Bike Light
Get it fully attached to a bike!