For measuring the air quality in the living room I was looking for a CO2 sensor to build my own CO2 Iot node. Looking around on the internet I found the MH-Z19 sensor, not that expensive and according to other users this sensor is accurate.
A new project was born. The MH-Z19 was combined with a BME280 and TSL2561 so we can measure lux, temperature, humidity, air pressure and CO2 with one Iot node in the living room and send everything over Mqtt to Node-red for further handling and Sqlite database storage.
The biggest part of the design is a copy of my Iot Bme280 sensor module, this Iot sensor runs 40 days on one 18650 li-ion cell. However the MH-Z19 requires 5V and uses a lot more current so I thought it would be nice to power it from a power bank.
The esp8266 requires 3.3V so the 5V from the powerbank is stepped down with a PAM2305AAB330, very interesting stepping regulator that only requires 2 capacitors and 1 inductor. Little bit hard to get here in Europe, but luckily Arrow had “no shipping charge” days and the parts where quick and cheap here.
The MH-Z19 requires serial communication with the esp8266, the last one has power enough to do this with a software uart. Example for the Arduino IDE to get data out of the MH-Z19 was also quickly found. With all of this together the data was quickly streamed to the Mqtt broker.
The pcb was designed so that it will fit inside a Hammond 1591 case and the pcb is used like a sort of front panel this way. The MH-Z19 is milled out the pcb so you can mount it on the back.
If want to make your own, or use some parts from the design, here are the Altium 16 design files.