The air quality tracker is a product built around the BME688 sensor. It aims to raise awareness about the air we breathe.
Using the companion app, you can create heatmaps for tracking the air quality around the places you walk, receive real-time warnings about harmful air and more!
The ESP32 communicates with the sensor via I2C. It collects data about gas, temperature, humidity, and pressure. In turn, the ESP32 communicates with the companion app via BLE (Bluetooth Low Energy), which collects all data from the sensor.
The ESP32 is programmed in PlatformIO using the Arduino Framework. The Adafruit Sensor Library communicates efficiently with the sensor.
The companion app is built using .NET technologies. It uses the Shiny.NET third-party library, which makes it easy to use BLE functionalities. The app also integrates the Google Maps API to display heatmaps.
Unfortunately, this project has been doomed from the start. The hardware part should have been the simplest one, yet it has given me the most headaches.
I used 2 sensors, but I was unable to communicate with them in any way. The mobile application functions correctly, as it connects to the ESP32 and receives dummy data.
This was an interesting project nonetheless, and I also managed to see real value while working with the Google Maps API. In Romania, there is no Air Quality coverage layer on the map.