by Charles McClelland


I have always enjoyed science, engineering and computers.  I am not a professional engineer and I am very open to input and suggestions as I see this primarily as a learning opportunity for me.  Please take a look at this documentation and feel free to let me know how I might improve this project.

As someone who likes to spend time outdoors, I have sometimes wondered whether the air quality – at the time and place I am – is suitable for strenuous activity.  In this regard, I am lucky as some people are sensitive to certain pollutants and need to worry about their exposure for even routine activities.  I saw in this an opportunity to pursue some “citizen science” and continue to learn about how to build sensors and embrace the internet of things.  I am documenting this project with two goals in mind: 1) to engage others to critique my approach and suggest improvements and 2) to provide all the information needed to build and extend this project.

Project Goals:

  1. Build a sensor which can give consistent (accurate) results.  Precision will be a stretch goal as it will require calibration tools I may not be able to get access to.
  2. Sense a range of different gasses based on the module selected and compute an “Air Quality Index” for each
  3. Use a standard interface – i2c – so it can be used with different systems.  My first application will be with the SeeedStudio LinkIt ONE 
  4. Support portable operation on battery power using GPRS for data reporting.
  5. Report all data to an Internet of Things Data streaming site for reporting.

Phase I – The Sensor Board

I started with the board as the sensor I wanted to use is a surface mount device and I knew that making the custom board to support it would have the longest lead times.  I have completed the rough design and have not yet sent the board out for fabrication so now would be a great time to take a look and let me know what I am missing.  Here are the major elements and their function:

  • Gas Sensor – I found a distributor for SGX Sensortech Limited who carries a complete line of Metal Oxide Gas Sensors. There is a family that all share a common footprint so you can select the sensor you want to use.  Here is dual CO and NO2 sensor that I will start with.
  • MICS Quick Start Board – This is where I started butI decided that I could design a much more functional board for less than what they were charging.
  • Temperature and Humidity Sensor – I chose the Honeywell,HIH6130 as it was compact, i2c and 3.3 and 5V tolerant.
  • I wanted to control the board with only 6 wires, two for a 3.3 reference, two for i2c and two for control – on/off and preheat/fan.  To do this, I added a Fairchild inverter which would alternately pre-heat the sensor or turn on the fan via a pair ofNXP N-MOSFETs.
  • Digital to Analog Converter – I have to admit, I have a bit of a digital bias.  By converting the Gas Sensor’s readings from analog to digital, I could use less wires and run the sensor board at 5V while my main board runs at 3.3V or 5V.  I used a TI four channel Digital to Analog Converter with two channels for the Gas Sensor, one to measure the battery voltage and one routed to a header for future use.
  • i2c Level Converter – Using this converter, you should be able to use this board with either 3.3V or 5V i2c as the logic level for the output header is set by the two wires you feed from your controller.  Have not done this before, but it seems straightforward. I used the TI Bi-Directional i2c device.
  • Power Supply – This was one of the areas that drive me to design my own board in the first place.  The quick start board used a simple linear supply but I like the switched  TI TPS63002 as it allows for a wide range of battery voltages and takes only a few components.  One nit, the PowerPad chip is hard to solder and I had to create a custom footprint as the ones TI gives you are junk.

Here is the schematic for this board:Air Quality Board

This is the current layout – about 1″ x 2.25″ – need to add more labeling but you can see how it all fits: Air Quality Board - Rough Layout

Update: Finalized the board and sent to OshPark for production.  Here is what the board will look like:


I do the board first as it takes the longest.  I will now order the remaining components and the sensors from SGX.  While I am waiting on the atoms, I can start working on the bits.    I have a GPRS modem from Adafruit to play with while I wait for the LinkIn ONE to make it’s international trip.


November 2014