In June 2016 I backed a project on Indiegogo, for a air quality monitor. The small device will monitor the amount of CO2.

In the time during backing the project and final delivery in September the project is extended with possibility to order extra sensors, like temperature, humidity, and what I’ve remembered, also a dust sensor and also an RF piece of hardware. I just want to have the basic CO2 sensor with wifi, where the CO2 sensor had an upgrade to a more sensitive one with better range. The first sensor had a range of 400-2000 ppm. The final sensor has a range of 400-5000 ppm.

Specification of the device:

  • Connectivity: Wifi (using EPS8266 module)
  • Indication: RGB LED used to display device status
  • Sensor Type: NDIR (Dual Beam)
  • Range: 400-2000 5000 ppm
  • Resolution: 10 ppm
  • Accuracy: +/- (40ppm +2%) readings
  • Response time T90: 30s
  • Repeatability: <2%
  • Sampling Method: Diffusion
  • Working temperature: 0 – 50 degrees Celsius
  • Lifespan: >10 years
  • Power: Micro USB
  • 3-D printed housing
  • Measurements: 70x70x25 mm.

Final product photo:


Configuration of the device will be done via usb cable and a Chrome extension plugin. Setup of wifi connection is just filling in the SSID name and password of your wifi network and the second step is to deliver the ppm value to a destination. Thingspeak is compatible, but you can easily add a http command. For my Home Automation setup, I’ll use the API of Homeseer, via the following command:


Where %CO2% will be the variable which is currently monitored by this device.

The standard update interval is set to 120 seconds, which don’t need to be changed. Now you can disconnect the device from the pc and powered it directly from an micro usb adapter.

The device will send the ppm value every 120 seconds the ppm value to Homeseer and update the virtual device that has to be created for this:


Based on the value, which is here with 2 extra zeros displayed (I don’t know why), the real value for this example = 1120.00 ppm which is sent by the device.

At every value change of this virtual device in Homeseer, the value (divided by 100, because of the unneccesary extra 2 zeros) will be written to a MySQL table.

Finally with Highcharts, you’ll get a nice chart like this:


According several documents the values representative the following healty conditons:

  • 400 – 1,000 ppm: Good air quality
  • 1,000 – 2,000 ppm: Medium
  • 2,000 – 3,000 ppm: Bad
  • > 3,000 ppm: Very bad
Related Posts

Privacy Preference Center