The rising prevalence of micromobility options including e-scooters also increases the responsibility of users to drive safely. Our idea was inspired by the role of e-scooters, bicycles and similar modes of transportation within UCLA.

What it does

Our system utilizes a NEO-6M GPS module to track a user's geolocation, writing that data to files to be parsed and compared to an "optimal" route, generated based on which paths are safest for bikers. Our system can graph the user's route against the optimal path and generate a score based on how similar these routes are, as this tells us how closely the user followed the "safe" path. The safety score is published in an HTML website, where users can compete against each other to achieve the highest safety score. Incentives such as reduced prices to rent e-scooters, can then be built-in.

How we built it

We began by connecting an ESP-32 module with the NEO-6M to track the user's location. We wrote python scripts making use of graphing libraries as well as map APIs to generate plots based on the coordinates of the user's path and the optimal path. Connecting the two main hardware components, we configured the ESP-32 to transmit data from the GPS wirelessly, and placed the system inside a container to complete our project.

Challenges we ran into

Decoding the coordinates from their locations on maps was particularly difficult, because they were encoded in the form of "Node" objects, which we needed to translate carefully. Another key challenge involved reading and writing from the Firebase database, as this involved a long progression from creating the functional Arduino program to upload to the ESP-32 to configuring the two modules to be battery-powered, absent the connection to a laptop.

Accomplishments that we're proud of

We are particularly pleased with the functionality of the Python scripts we used to request and send data to and from the maps website as well as the Firebase, because this allowed us to piece together a network of text files and self-contained programs that worked together to translate and ultimately graph and compare different routes.

What we learned

We learned how to make use of Python, Arduino libraries, debug both hardware and software components, and find alternative solutions to the original plans we had in mind, modifying our project and its structure accordingly.

What's next for Safe Scoot

Next steps for Safe Scoot might involve implementing the GPS tracking system with modules that update location data more frequently, we could consolidate our Python scripts more efficiently, and we could standardize the translation of coordinates as they are written to and read from different text files. Finally, we could try implementing our system within one IDE and coding each feature in the same language. Towards the non-technical side of Safe Scoot, we might plan to expand the scope of the project to include regions outside of LA, and we could develop additional incentives, beyond the leaderboard, to encourage people to begin switching to greener forms of transportation.

Built With

Share this project: