Archive | December 2013

Sensor Selection: CO2

I’m very interested in how much CO2 collects in the lab, particularly during open-house nights so a CO2 sensor is a must.  CO2 sensors don’t come cheap though – a search on digikey indicates that I can pay hundreds of dollars for a single sensor module.  After doing some poking around, I found, which listed two promising candidates at prices that might actually be affordable.  The first is the SenseAir K-30 0-10,000 ppm CO2 sensor for $65.00.  The second is the Gas Sensing Solutions COZIR 0-10,000 ppm sensor for $109.00.  Both of these sensors are solid-state – they make use of Non-Dispersive Infra-Red sensor technology, which means they won’t wear out as quickly as an electrochemical sensor.  COZIR sensors come in measurement ranges of 0-2,000 ppm, 0-5,000 ppm as well as the 0-10,000 ppm sensor, but I’ll probably skip the lower range sensors for a 0-10,000 ppm sensor.  While atmospheric CO2 is only around 400 ppm, some comments on the forum post here suggest that a small, poorly ventilated space with many occupants will easily reach 3,500 ppm CO2 or higher.  Hacklab isn’t much bigger than some living rooms, and we will sometimes have a couple dozen occupants, so I want to be able to measure very high levels.

The SenseAir K-30 module features are:

SenseAir K-30.  Source:

SenseAir K-30

  • No case/packaging.
  • Measurement range of 0-5,000 ppm “within specifications”, 0-10,000 ppm “total”.
  • Accuracy of +/- 30 ppm, +/- 3% of measured value.
  • Outputs readings every 2 seconds.
  • Serial communication with I2C and MODBUS protocols. It also has analog voltage output for CO2 indications.
  • The sensor has embedded calibration code which assumes that the ambient CO2 concentration is 400 ppm most of the time and corrects accordingly once per week.  I suspect this may cause trouble for me at some point if I can’t find a way to turn it off.

The Gas Sensing Solutions COZIR 10K ppm module features are:

Gas Sensing Solutions COZIR 10K ppm.  Source:

Gas Sensing Solutions COZIR 10K ppm sensor

  • Finished case with 3 mounting holes.
  • Measurement range of 0-10,000 ppm.
  • Accuracy of +/- 50 ppm, +/- 3% of measured value.
  • Outputs readings every 0.5 seconds.
  • Serial communication as well as analog voltage output for CO2 indications, though it’s not clear if you have to request the analog output functionality specifically or if it ships by default.
  • According to a datasheet sent to me by GSS, the COZIR sensor comes factory-calibrated and has an auto-calibration function to correct for long-term sensor drift.  Again, I suspect this may cause problems unless it can be bypassed.

Right now I’m leaning towards the SenseAir K-30; it’s low-priced, accurate, and has a wide variety of communications protocol options.  The readings only come in once every two seconds, but for monitoring Hacklab’s atmosphere I don’t really require the high reading rate of the COZIR sensor.  I also don’t need a finished housing since I’ll be designing my own.  Ultimately I think both sensors would work quite well, but right now the K-30 is looking like a very solid option, particularly if you consider cost as a major influencing factor as I do.

I’m in the process of trying to obtain one of the K-30 modules to hack on, and I’ll write an update about working with the sensor module when I’m able.


Hacklab Indoor Air Quality Project

Recently a fellow member of bought a couple of bench-top fume extractors for the lab.  People solder things constantly here, and the fumes from the solder rosin can cause some really unpleasant health effects.  Respiratory irritation, asthma, skin diseases and chemical hypersensitivity are possible side-effects of rosin fume exposure.  I solder at Hacklab a lot, so reducing my fume exposure even a little has palpable health benefits.

The concern over solder fumes at the lab got me thinking; what about other aspects of indoor air quality?  The lab is relatively small – about 630 square feet, and we do a lot with that space.  On a Tuesday night open house the space regularly has 20 or more people producing fumes through cooking, soldering, lasering and 3D-printing.  All of those people respirate and perspire, consume oxygen, exhale CO2 and produce small quantities of airborne volatile organic compounds (VOC’s).  Dust, pollen and other allergens collect in the lab as well.  And since we are in Toronto we have to deal with smog coming in from outside.  All things considered, the air in the lab can get downright nasty.

I decided to build an indoor air quality station with sensors that can give me data about various aspects of Hacklab’s atmosphere.  This project is partly practical, but mostly for fun; I want to learn to make neat things with sensors that can do cool and useful things.

The most obvious choices for the project platform are Arduino, Raspberry Pi and Beagle Bone.  Arduino is an easy choice here; they’re a bit cheaper than the alternatives, there are lots of helpful people at the Hacklab who have experience programming for Arduino, and I also happen to have an Arduino Uno sitting in my bin at the lab just waiting for a project.  In the future I can always redesign it around another platform if I want more functionality out of it.

Sensors are the main consideration after the platform.  I want sensors which will give me a wide variety of statistics on the air in the lab.  Some of the things I might be interested in measuring are:

  • Carbon Dioxide (CO2) concentration.
  • Oxygen concentration.
  • Volatile Organic Compound (VOC) concentration, particularly benzene, formaldehyde, trichloroethylene, xylene, toluene, and ammonia, just to name a few of the most common and potentially harmful VOC’s.
  • Smoke and Ultra Fine Particle (UFP) concentration.
  • Temperature.
  • Humidity.

I’m currently researching sensors for all of these things, so I’ll post an update on sensor selection when I have a better idea of what I can add to the project.  There might be other things I want to measure too – if you think I might have missed something, leave a comment!