Description as a Tweet:

UDistance is an App helping you find safe campus spots to study by tracking the real-time population density in campus buildings by having a hardware system of sensors, and a database that puts the hardware and the App together.

Inspiration:

Due to the coronavirus pandemic, many students, like ourselves, are struggling due to living environments that are not conducive to learning. Finally, as we all slowly return to college campuses, it is important that we use college facilities as safe as possible. It is crucial that we stay safe, yet still attain the best college experience. To this end, we made UDistance.

What it does:

Smart sensors do real time tracking on the number of people entering or exiting a building. This data goes to a database which is displayed on UDistance App which shows in real time which campus buildings are safe to enter and study/interact. To minimise transmission of virus by spacing out crowd sparsely across the campus.

How we built it:

We developed a prototype for the hardware system, which would eventually be deployed into a network that monitors building entrances on campus, where we used smart sensors to identify a person entering or exiting. This system, built using Arduino, was connected to our backend database built using Google Cloud's Firebase platform.

Furthermore, we developed an iOS app using SwiftUI and Xcode which displayed a list of buildings and crowd calculations using data from the hardware (via the Firebase API). We also used Radar.io to develop geofencing for each college campus building, which is used to inform users when they enter a crowded (and thereby, dangerous) building.

Technologies we used:

  • Swift
  • Objective C
  • Python
  • Arduino
  • Microcontrollers
  • Robotics
  • Other Hardware

Challenges we ran into:

Lack of hardware was really challenging. Since this was online, we couldn't have access to other hardware that would really help us bring the best product. For example, a Raspberry Pi and another ultrasonic sensor would really help us. Other problems were: Learning how to work with Arduino in 1 day, setting up the circuit, integrating Arduino with firebase via python was challenging, learning how firebase and radar.io works in one day, and assembling all separate elements and make it work. We had to basically come up with all of this in a short amount of time and that also it is online. It was hard since only one person had the hardware part. But in the end, it all worked out.

Accomplishments we're proud of:

We are feeling proud that we didn’t give up in these difficult times when our team members are not only in a different country but also in a totally different timezone, so we have to work separately while doing the same project. We all are happy with the fact that despite us not knowing or having any experience in any of the software used, we all learned it within the hackathon duration and were successful in implementing it to produce a fully working product as we envisioned. We forced ourselves to get familiar with the documentation and software to integrate Arduino to firebase through python as we did not have a wifi module with Arduino. It was a challenging project, but it was worth it for the satisfaction at the end.

What we've learned:

We learned a lot of great skills. Starting from understanding how to implement the correct hardware, we learned that we don't need another ultrasonic sensor. We can create a good hardware system of sensors with two buttons since that is our protocol. We learned how to connect the Arduino code to python so we can send the code from python to our Firebase Database which is connected with our app. We learned how to connect the hardware, intermediaries, and the app altogether.

What's next:

We have a lot of future implementations we would like to use once we have more time and resources. We would like to create a network of sensors to distinguish between floors of a building. We would like to add a Google Map API of campus which shows crowd density, and the infected people on campus. We would like to use computer vision and image recognition to detect people instead of sensors alone, though this sensing idea will produce accurate results. Maybe instead of detecting using sensors, we would like to see if the using UCards would be easier or not.

Built with:

Hardware: Arduino, Circuit Components, sensors: push buttons
Software: Radar.io to detect the user's current location and to suggest the closest safe spot.
SwiftUI, Python, C/C++, Firebase for real-time database

Prizes we're going for:

  • Best Beginner Hardware Hack
  • Best Documentation
  • Best Venture Pitch
  • Best Web Hack
  • Best Domain Name
  • Best Mobile Hack
  • Best Healthcare Hack
  • Best Beginner Software Hack
  • Best Beginner Web Hack
  • Best Hardware Hack
  • Most Creative Radar.io Hack
  • Best Use of Google Cloud

Team Members

Ananya Rao
Heta Shah
Dhruv Vikram Krishna

Table Number

Table TBD