Hello everyone! Today I want to share with you my new DIY project. It is an open source air quality sensor. This project uses a novelty from Sensorion - TVOC sensor SGP40. The second main element of the project is the 2.13-inch e-ink display. I think these displays are worthy of more than just showing you the price of an item on store shelves. Since we now spend more time at home, it's a good idea to monitor the air quality. Make this project for yourself!
In addition to assessing the air quality, the sensor can estimate the indoor light level, temperature, humidity and atmospheric pressure, based on the atmospheric pressure data, the device can predict the weather forecast.
The sensor works on nRF52 microcontrollers, 4 versions of pcb have been developed for nRF52 radio modules from different manufacturers. One main and three more extended versions (explanations will be a little later in the text).
Models of radio modules used in the project: main MINEW MS88SF3 (nRF52833, nRF52840), additional: MINEW MS50SFA1 (nRF52810, nRF52811), MINEW MS50SFA2 (nRF52832), EBYTE E73-2G4M08S1C (nRF52833, nRF52840)
Sensors used in the project: room air quality sensor for VOC measurement - SGP40, pressure, temperature and humidity sensor - BME280, illumination sensor MAX44009.
A little later, due to problems with the production of electronic components and an incredible increase in prices for many components, the BMP280 and SHTC3 sensors were added to the project, which, in terms of functionality, can replace the BME280 sensor. For this reason, three additional modifications of the boards were made, support for additional radio modules was also added, protection against polarity reversal was added, and the design of the boards was improved.
The device can display data on the screen and transmit data to the Smart Home systems, it can also work in the "offline" mode.
To display information, an ultra-low consumption 2.13-inch e-ink display from WaveShare was used.
Display characteristics:
- Resolution: 250x122
- Operating temperature range: 0 - 50 C
- Consumption in operation: 3mA
- Deep sleep consumption: 1μA
- Minimum screen refresh time: 0.3 sec.
In the near future, the project will add support for the DES e-Ink 2.13 display with an operating temperature of -20C ~ 60C (what is DES).
Basic version of PCB sensor:
Additional versions:
Earlier I wrote that the main sensor in this project is the SGP40 indoor air quality sensor. We can say that this is a novelty on the market from the Sensorion company with very good characteristics.
The sensor measures the total volatile organic compound (TVOC) concentration. In comparison with the previous sensor from this company SGP30, the consumption has been significantly reduced, 48 mA when measured with the SGP30 and 2.6 mA with the SGP40. True, the previous sensor could give ready-made values for VOC and CO2 equivalent, while the new product gives raw data that must be further processed on the MK side using the library supplied with the sensor with an air quality calculation algorithm. Datasheet for SGP40 sensor.
I had to modify the Adafruit_SGP40 library to run on a small battery in an ultra-low device power mode. Added work with the sensor heater, receiving, saving, unloading the current states of the sensor fast start algorithm, for example, after replacing the battery, bypassing the learning mode. For some reason, nobody was puzzled by these moments, I could not find a ready-made library that supports all the functionality of the sensor. The modified library is on my GitHub. Perhaps this is due to the fact that the SGP40 is a fairly new product.
Device diagram:
Data transfer to Smart Home systems from a sensor is based on the MySENSORS open source home automation project.
I will briefly describe the functionality of the sensor. When turned on, the device tries to find a network, if the network is not found, then the device...
Read more »