Inspiration
What it does
This project is a smart indoor air quality system based on an ESP32 microcontroller. It uses a SCD41 sensor to measure CO2 (carbon dioxide), temperature and humidity. It also uses a BMI280 sensor to measure air pressure. All values are shown on a small display. The display has two modes: a normal information screen and a "face screen". The face screen shows different emotions, like happy or sad, depending on the air quality. There is also a sleep button. When you press it, the display and the LED ring turn off, so the system is not bright anymore and it is better for sleeping at night. A LED ring shows the air quality with different colors, so you can quickly see if the air is good or bad. When the air quality gets very bad, a buzzer gives an alarm sound. The buzzer also beeps every 30 seconds when the air quality is not good, to remind the user. The system is powered by USB-C and is designed to be small, simple and easy to use. The goal of the project is to help people understand indoor air quality in a simple way and react if the air gets bad, for example by opening a window.
How we built it
I built the system using an ESP32 microcontroller and different sensors. I used ChatGPT to help me with the programming and to solve problems while developing the code. I combined all parts into one system: the sensors, the display, the LED ring and the buzzer. I also designed and 3D-printed my own case for the electronics to make it look clean and to hold everything in place. In the end, I connected everything together and created a working prototype for indoor air quality monitoring.
Challenges we ran into
One challenge we had was the SPS30 sensor. I originally wanted to use it in the project to measure fine dust particles in the air. However, we could not use it in the final setup because it was difficult to get it working correctly with the ESP32. The sensor needs a stable 5V power supply and the communication was not compatible in our setup. Because of this, we decided to remove it and focus on the other sensors (SCD41 and BMI280), which worked more reliably with the system. Even though it did not work out, it helped us learn more about hardware compatibility and sensor communication.
Accomplishments that we're proud of
I am really proud about how the design turned out, because it is really good looking and a great eye-catcher at my desk
What we learned
In this project, I learned a lot about working with sensors and microcontrollers like the ESP32. I learned how different sensors communicate using I2C and UART, and how important it is to connect everything correctly for it to work. I also improved my programming skills in Arduino/C++ and learned how to debug problems when something does not work as expected. Another important thing I learned is how hardware and software must fit together, and that small wiring mistakes can cause big problems. Overall, I gained more experience in building a complete electronics project from idea to a working prototype.
What's next for AirBert
In the future, I want to improve this project by making it more stable and adding more features. One idea is to bring back the SPS30 sensor for measuring fine dust (PM2.5 and PM10), so the system can show even more accurate air quality data. I also want to improve the design of the display and the user interface to make it easier to read and more interactive. Another possible upgrade is to add WiFi connection, so the data can be shown on a phone or saved online. Overall, the goal is to make the system more complete, more accurate, and easier to use in everyday life.
Built With
- arduinoide
- tinkercad
Log in or sign up for Devpost to join the conversation.