Inspiration
Collecting data about our cities currently relies on the population or government employees surveying the land. This has many obvious flaws – reporting is affected by human bias instead of being quantitative, and by the time people report an urgent problem it might be too late. It also wastes government time and money. We wanted to make an IoT solution that made collecting environmental data easier and more efficient.
What it does
EarthSense uses 4 sensors connected to a microcontroller capable of sending data to a real-time database through WiFi. This information is then parsed by an IoT protocol and sent to a Google Firebase real-time database. This information is then used to create a live-updating interface with dynamic graphs, which displays the data and displays warnings for high-risk conditions. Twilio SMS text alerts are then sent to users subscribed to our early warning service.
Google Map APIs were used in our path finding and heat map functionality, which allows users to pick the best path to avoid pollution hotspots.
How we built it
We used a NodeMCU microcontroller (ESP8226) which is a cost-efficient IoT enabled board that uses the Arduino framework. Several sensors (DHT11 Temperature and Humidity Module, MQ-135 Air Quality Module, LM393 Sound Sensor) were then integrated into the system through an I2C protocol to send this data to our Google Firebase Database, according to sensor type, and time collected. This is then connected to a web page created with React.js frontend that makes calls to Twilio to send live alerts. Plotly.js was used in creating our dynamic graphs, and Material UI was used in designing the page. Envisioning a world with interconnected sensors throughout urbanized cities, we used Google Maps APIs to create pollution hotspots and use pathfinding algorithms to determine the best route to travel to any given location.
Challenges we ran into
On the IoT side of our project, we initially had trouble connecting our microcontroller to the internet and our Firebase Database. This issue was partially exacerbated by unstable networks, which slowed down the asynchronous processes used in our processes. Numerous libraries needed to be implemented in order to connect every component, but we were ultimately quite happy with the workflow for this project. In addition, we faced many hurdles in utilizing Google Maps APIs because of a lack of centralized documentation, and therefore we had to spend a lot of time experimenting with different methods and combining necessary libraries.
Accomplishments that we are proud of
We are most proud of having completed the application, and creating many useful features.
What we learned
We learned how to use React, Firebase, Microcontrollers, Google Maps API and Twilio.
What's next for EarthSense
Packaging hardware into better form(making a case, soldering instead of breadboard to save space) and selling to governments around the world!
Built With
- arduino
- google-maps
- javascript
- materialui
- react
- twilio

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