# Comparison and Experimentation with Flammable Gas Sensors

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/063/662/medium800/sensors_cpx.mics5524.mq3.sidebyside.medres.jpg?1539870119 MiCS-5524, MQ-3 gas sensors and Circuit Playground Express.)

[Hanwei](https://www.hwsensor.com/ "Hanwei")/[Winsen](https://www.winsen-sensor.com/ "Winsen Electronics") and [SGX Sensortech](https://www.sgxsensortech.com/ "SGX Sensortech") produce a range of sensors for gas detection and measurement. This project demonstrates how to use the **MQ-3** and **MiCS-5524** sensors. These are based on a _heated,_ metal oxide semiconductor which varies in resistance in the presence of a gas or vapour that can be oxidised - this includes some hydrocarbons, alcohols, ammonia and carbon monoxide. This change of sensor resistance can easily be determined from an on-board potential divider circuit producing a voltage. That voltage can be measured on an analogue ([ADC](https://en.wikipedia.org/wiki/Analog-to-digital_converter "Wikipedia: analog to digital converter")) input.

Danger: 

In this project a Circuit Playground Express (CPX) board is used, but any board with two analogue inputs could be used.

This project requires some very simple [soldering](https://learn.adafruit.com/adafruit-guide-excellent-soldering "Adafruit: Guide to Excellent Soldering") to attach 4 header pins to the [MiCS-5524 breakout board](https://www.adafruit.com/product/3199 "Adafruit MiCS5524 CO, Alcohol and VOC Gas Sensor Breakout").

## Parts
### Part: Circuit Playground Express
quantity: 1
A great sensor-packed development board with seven analog inputs and support for many languages.
[Circuit Playground Express](https://www.adafruit.com/product/3333)

### Part: Adafruit MiCS5524 CO, Alcohol and VOC Gas Sensor Breakout
quantity: 1
A relatively low power, 5V metal oxide gas sensor breakout board with enable line. Header pins need soldering.
[Adafruit MiCS5524 CO, Alcohol and VOC Gas Sensor Breakout](https://www.adafruit.com/product/3199)

### Part: MQ-3 Gas Sensor Module
quantity: 1
A common, 5V metal oxide gas sensor module. Available from many suppliers. Pinout order likely to vary.
[MQ-3 Gas Sensor Module](https://www.amazon.com/MQ-3-gas-sensor/s?page=1&rh=i%3Aaps%2Ck%3AMQ-3%20gas%20sensor)

### Part: Half-size breadboard
quantity: 1
Breadboard for sensors. Use the full size if you want to progress to using many sensors simultaneously.
[Half-size breadboard](https://www.adafruit.com/product/64)

### Part: Small Alligator Clip to Male Jumper Wire Bundle - 6 pieces
quantity: 1
Three alligator (crocodile) clips to connect to pads on CPX.
[Small Alligator Clip to Male Jumper Wire Bundle - 6 pieces](https://www.adafruit.com/product/3448)

### Part: Through-Hole Resistors - 10K ohm 5% 1/4W - Pack of 25
quantity: 1
One 10k resistor.
[Through-Hole Resistors - 10K ohm 5% 1/4W - Pack of 25](https://www.adafruit.com/product/2784)

### Part: Through-Hole Resistors 1k ohm 5% 1/4W
quantity: 1
One 1K resistor. Two 470 ohm in series or two 2.2k in parallel would work well as a substitute.
[Through-Hole Resistors 1k ohm 5% 1/4W](https://www2.mouser.com/ProductDetail/Yageo/CFR-25JR-52-1K?qs=sGAEpiMZZMu61qfTUdNhG4i669J5nKO6xow6Mp2opCk%3d)

# Comparison and Experimentation with Flammable Gas Sensors

## Gas Sensor Types

There are a variety of gas sensors which vary in their:

- sensing technique,
- sensitivity,
- ability to discriminate between gases (cross sensitivity),
- power consumption (due to heater / light source),
- susceptibility to reversible ill effects and permanent ones (poisoning),
- degradation over time and prescribed lifetime.

Some sensors use a heating element which heats the sensor and a tiny volume of air to a very high temperature - these will use a metal wire gauze (mesh) for the same reason as the [Davy lamp (Wikipedia)](https://en.wikipedia.org/wiki/Davy_lamp "Wikipedia: Davy lamp").

![sensors_Davy_lamp.wikipedia.43.png](https://cdn-learn.adafruit.com/assets/assets/000/064/746/medium640/sensors_Davy_lamp.wikipedia.43.png?1540731095)

## Metal Oxide Semiconductor

These use a heated, ceramic bead impregnated with metal oxide (often tin dioxide) as a variable resistor. Broadly speaking, the resistance drops in the presence of gases which can be oxidised.

The MQ series are popular with hobbyists in the Arduino community. There's an interesting look inside an MQ-2 on [Learn the Working of a Gas Sensor](https://www.engineersgarage.com/insight/how-gas-sensor-works "Engineers Garage: Insight - Learn the Working of a Gas Sensor").

## Catalytic

These have two heated elements, one which catalyses oxidation of gases and one which doesn't to act as a reference resistance. A [catalyst](https://en.wikipedia.org/wiki/Catalysis "Wikipedia: catalysis") is defined as something which is not consumed in the reaction but traditional designs for catalytic sensors can age in unfortunate ways according to [Figaro Engineering](http://www.figarosensor.com/feature/tgs6810_tgs6812_and_fcm6812.html "Figaro Engineering: TGS6810,TGS6812 and FCM6812").

## Electrochemical (battery)

These are essentially a battery where a gas is required to complete the chemical reaction to produce a _tiny_ current. These may or may not be heated depending on the type/sensitivity. These are likely to have a time or exposure limited life.

This is a [sensor](https://euro-gasman.com/carbon-monoxide-co-eco-sure-2e-sensor.html "Sixth Sense Eco-Sure CO (2e) sensor") from a commercial, domestic carbon monoxide (CO) detector which has reached its enforced end-of-life. Note: "CAUTION ACID" written on the sensor indicating a property of its cell chemistry, probably sulphuric acid.

![sensors_sixth-sense-eco-sure-2e.medres.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/695/medium640/sensors_sixth-sense-eco-sure-2e.medres.jpg?1539908943)

Another common example is the small button battery based on the [zinc-air cell](https://en.wikipedia.org/wiki/Zinc%E2%80%93air_battery "Wikipedia: Zinc-air batteries") used in hearing aids. These look like normal button cells but have an extra tab which is removed at installation time to expose the cell to the oxygen in the air.

## Non-dispersive Infrared

These determine the gas based on absorption at a particular wavelength and are sometimes referred to as [Non-dispersive Infrared (NDIR) sensors](https://en.wikipedia.org/wiki/Nondispersive_infrared_sensor "Wikipedia: Nondispersive infrared sensor").

See DFRobot's [Analog Infrared CO2 Sensor For Arduino](https://www.dfrobot.com/product-1549.html "DFRobot: Gravity - Analog Infrared CO2 Sensor For Arduino") for an example. This looks like it's based on sensor on the [Winsen MH-714A gas sensor module](https://www.winsen-sensor.com/sensors/co2-sensor/mh-z14a.html "NDIR Gas Sensor, CO2 Sensor, Infrared carbon dioxide gas sensor-Winsen Electronics") which has a strong resemblance to the Telaire T6613/T6615 CO<sub>2</sub> sensor modules.

Adafruit now sells a [STEMMA QT board using the Sensiron SCD-30 sensor](https://learn.adafruit.com/adafruit-scd30 "Adafruit Learn: Adafruit SCD-30 - NDIR CO2 Temperature and Humidity Sensor").

## Avian

Miners working underground are often at risk from both poisonous and explosive gases. Canaries were the traditional solution to detecting poisonous gases. For some history, see [Smithsonian Magazine: The Story of the Real Canary in the Coal Mine](https://www.smithsonianmag.com/smart-news/story-real-canary-coal-mine-180961570/ "Smithsonian: The Story of the Real Canary in the Coal Mine").

## More information

- [Figaro Engineering's description of gas sensor types](https://www.figaro.co.jp/en/technicalinfo/principle/catalytic-type.html "This page indicates operating principle, warnings, and precautions for use of Figaro MOS type gas sensors.")
- Gas sensors which can detect carbon dioxide (CO<sub>2</sub>):
  - [MQ-135](https://www.winsen-sensor.com/sensors/voc-sensor/mq135.html "Zhengzhou Winsen: MQ-135 sensor") (metal oxide semiconductor),
  - [MG-811](https://www.dfrobot.com/product-1023.html "MG-811") (electrochemical with a non-replaceable [activated carbon](https://en.wikipedia.org/wiki/Activated_carbon "Wikipedia: activated carbon") filter),
  - [MG-812](https://www.winsen-sensor.com/sensors/co2-sensor/mg812.html "Zhengzhou Winsen: MG-812 sensor") lower voltage version of MG-811,
  - [ExplorIR-W CO2 Sensor](https://www.gassensing.co.uk/product/explorir-w-co2-sensor/ "ExplorIR-W CO2 Sensor | Gas Sensing Solutions") and [Telaire T6613 CO2 sensor module](https://www.amphenol-sensors.com/en/telaire/co2/525-co2-sensor-modules/321-t6613 "Amphenol Advanced Sensors: Telaire T6613 | CO2 Sensor Module")(Non-dispersive infrared).

# Comparison and Experimentation with Flammable Gas Sensors

## Connect the Sensor Boards

![](https://cdn-learn.adafruit.com/assets/assets/000/063/673/medium800/sensors_breadboard.mics5524.mq3.sample.medres.jpg?1539874084 Breadboard with gas sensors powered by 4 NiMH batteries + sample on cotton bud.)

## Soldering

The MiCS-5524 board comes with some header pins which need attaching by soldering for use on a breadboard. The pins are best inserted into the breadboard before soldering to ensure they are located properly. The board should be positioned at ninety degrees to the pins during [soldering](https://learn.adafruit.com/adafruit-guide-excellent-soldering "Adafruit: Guide to Excellent Soldering"). See [Adafruit MPRLS Ported Pressure Breakout](https://learn.adafruit.com/adafruit-mprls-ported-pressure-sensor-breakout/assembly "Adafruit MPRLS Ported Pressure Breakout: Assembly") for a similar soldering example.

## Power Supply

The sensor boards are designed for use with a 5V supply. The CPX board has a **VOUT** pad which for USB powering is connected to the USB 5V line. This looks ideal but the heaters on gas sensors draw more current than logic circuits and this complicates powering the sensors as it can lead to voltage drops. As an example, the CPX **VOUT** (rated at maximum 500mA) connected to a desktop computer measures:

- Desktop USB = 4.93V
- CPX **VOUT** &nbsp; = 4.79V (unloaded)
- CPX **VOUT** = 4.58V (loaded with two sensors at 134mA)

A voltage 8% below the recommended 5.0V will also reduce the current. Power is the [product of voltage and current](https://learn.adafruit.com/multimeters/current#p-equals-i-x-v-5-1 "Adafruit: Multimeters: current") and is therefore reduced by more, in this case by 15.4%. The heater's resistance will change a little with power variation due to change in temperature making an accurate calculation a little more complicated.

A decrease in voltage would normally decrease the voltage from a potential divider based output proportionally. However, in this case the lower temperature from the heater appears to have a greater effect and observably _increases_ the analogue output in clean air at 4.6V supply voltage_._

The power options are:

- USB / CPX **VOUT** - easy to use, limited to 500mA, likely to suffer from considerable voltage drop and will struggle with more high current sensors like MQ ones.
- Switch-mode power supply - cheap ones may add considerable high frequency noise which could add noise to analogue input (including via ground line).
- Linear power supply - noise (ripple) will be low frequency and easy to compensate for.&nbsp;
- [Batteries](https://learn.adafruit.com/all-about-batteries/ "Adafruit: All About Batteries") - very low noise but voltage will decrease a little as batteries discharge.

For more detail, see [Power Supplies](https://learn.adafruit.com/power-supplies "Adafruit: Power Supplies").

## Connecting everything

The connectivity is fairly simple. The breadboard needs 5V power, the two gas sensor modules have an analogue output which benefits from being reduced to keep it below the CPX 3.3V maximum input. This can be achieved with a [potential divider](https://en.wikipedia.org/wiki/Voltage_divider "Wikipedia: voltage divider"). For both these gas sensor boards, this is already implemented on-board with a "load resistor" (Rl). This on-board resistor can be supplemented with an external resistor connected to ground which is effectively [in parallel](https://en.wikipedia.org/wiki/Series_and_parallel_circuits#Resistors_2 "Wikpedia: Series and parallel circuits")&nbsp;and will reduce the effective resistance.

- MiCS-5524 - add 10k resistor from analogue output to ground.
- MQ-3 - add 1k resistor from analogue output to ground. Two 470 ohm resistors in series or two 2k2 resistors in parallel would be appropriate substitutes if a 1k is not available.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/961/medium800/cpx-breadboard-gas-sensors-battery-nomosfet_bb.png?1540167545 Circuit Playground Express connected to MiCS-5524 and MQ-3 boards. If four batteries are used they MUST be rechargeable to produce correct voltage.)

Warning: 

For gas testing a _fully-charged_ set of four [NiMH](https://en.wikipedia.org/wiki/Nickel%E2%80%93metal_hydride_battery "Wikipedia: Nickel–metal hydride battery") [AA](https://en.wikipedia.org/wiki/AA_battery "Wikipedia: AA battery") [batteries](https://learn.adafruit.com/all-about-batteries/ "Adafruit: All About Batteries") was used in a battery pack. The battery pack's connector was adapted for breadboard use with two header pins.

The breadboard used was a slight variant with a break in the power lines half way along - the diagram shows two wires connecting this break which can provide a convenient place to measure the current. These wires would be redundant on the more typical 830 breadboard.

Info: 

## Enable line

The astute reader will spot an extra component in the photo not present in the diagram. An [IRLB8721 (MOSFET) transistor](https://www.adafruit.com/product/355 "Adafruit: N-channel power MOSFET - 30V / 60A") has been added to allow the power to be controlled for the MQ-3. The implementation creates an enable line to allow the sensor to be turned on and off by a logic signal and is intended for further investigation of MQ sensors.

This is similar to the Adafruit MiCS-5524 breakout board although that differs in having a _NOT_ enable line - this is indicated by the line _above_ the **En** - the board is enabled when the pin is connected to ground (or left disconnected).

![sensors_3199_kit_ORIG.notenableblowup.jpg](https://cdn-learn.adafruit.com/assets/assets/000/063/698/medium640/sensors_3199_kit_ORIG.notenableblowup.jpg?1539911877)

# Comparison and Experimentation with Flammable Gas Sensors

## CircuitPython

If you are new to CircuitPython, see [Welcome to CircuitPython!](https://learn.adafruit.com/welcome-to-circuitpython "Adafruit: Welcome to CircuitPython!")

The simple code below intended for the CPX board reads multiple samples from every pin and then averages them before printing them to serial console. It takes approximately 1 second to read 370 samples for all eight pins plus a little additional time to do the maths, format output and send it to the serial console. The values printed are: a timestamp at start of the sampling period, another timestamp at the end, and then the averaged values for pins **A0** to **A7**. The timestamps are the number of seconds from when the CPX board was powered up.

The first line on the terminal screenshot below shows values read between `352.076888` and `353.057003` seconds with **A1** `4421.45` and **A2** `18889.9`. The unconnected pins have values around 29000. These values are raw values and can be converted to a voltage by dividing by 65536 and multiplying by the reference voltage which is 3.3V in the library code. For this example, the values would be 223mV and 951mV, respectively,

![](https://cdn-learn.adafruit.com/assets/assets/000/064/310/medium800/sensors_putty.screenshot.analoguesamples.minuswindec.3.png?1540403328)

The output is in Python tuple format and can be [graphed directly by **Mu** editor](https://learn.adafruit.com/sensor-plotting-with-mu-and-circuitpython). For this project the terminal output was captured to a file and then [graphed](https://github.com/kevinjwalters/mini-projects/tree/master/gas-sensor-i/graphing "Github: kevinjwalters mini-projects master gas-sensor-i/graphing") using the **R** language.

```
import time

import board
from analogio import AnalogIn

# All eight pins on CPX board
pins = [ AnalogIn(board.A0),
         AnalogIn(board.A1),
         AnalogIn(board.A2),
         AnalogIn(board.A3),
         AnalogIn(board.A4),
         AnalogIn(board.A5),
         AnalogIn(board.A6),
         AnalogIn(board.A7) ]     

numpins = len(pins)

# 370 is about 1 second for 8 pins on CPX
samples = 370

# Print two relative timestamps in seconds plus an
# unweighted average of many samples for each pin in
# python tuple style which can be read direclty and
# graphed by the Mu editor - values are raw (0-65535)
while True:
    total = [0] * numpins
    t1 = time.monotonic()
    for repeat in range(samples):
        values = [pin.value for pin in pins]
        total = [sum(x) for x in zip(total, values)]
    t2 = time.monotonic()
    avgs = list(map(lambda x: x / samples, total))
    print("({:f},{:f},".format(t1,t2) +
          ",".join(str(avg) for avg in avgs) + ")")
```

Adafruit recommends copying this file to the board using the target filename **code.py** on the Circuit Playground Express.

# Comparison and Experimentation with Flammable Gas Sensors

## Sensor Burn-in

Hanwei/Winsen recommend a 24 hour "burn-in" period of use before the sensor is used for real applications. SGX Sensortech also recommend this in their documentation FAQ.

The two sensors were run alongside each other with the CPX board measuring the analogue output voltage during the first 15 hour run and second 17 hour run. The power for these runs was provided by the USB powered CPX **VOUT**. This means the boards were only running at 4.6V rather than the recommended 5.0V (+/- 0.1V).

The analogue output voltage measurement was direct from the sensors _without additional external resistors_ which puts the CPX board more at risk of over (3.3V) voltage on the inputs but this was interactively monitored during the start of the runs. The graphs show the sensors tend to spike for a second or two at start-up. Additional load resistors were added for the subsequent gas tests to lower the voltage to a suitable level.

![](https://cdn-learn.adafruit.com/assets/assets/000/063/634/medium800/sensors_project1.sensorburnin.phase1.fullrange.png?1539780020)

Something happens at 184 minutes which both sensors pick up, this was probably something environmental like a nearby window being closed. The sensors do appear to be _very sensitive_ to cool draughts.

&nbsp;

The downward spikes on MiCS-5524 plot are when the voltage is being checked with a cheap multimeter!

&nbsp;

![sensors_project1.sensorburnin.phase1.zoom1.png](https://cdn-learn.adafruit.com/assets/assets/000/063/635/medium640/sensors_project1.sensorburnin.phase1.zoom1.png?1539780045)

![sensors_project1.sensorburnin.phase1.zoom2.png](https://cdn-learn.adafruit.com/assets/assets/000/063/636/medium640/sensors_project1.sensorburnin.phase1.zoom2.png?1539780056)

![sensors_project1.sensorburnin.phase1.zoom3.png](https://cdn-learn.adafruit.com/assets/assets/000/063/637/medium640/sensors_project1.sensorburnin.phase1.zoom3.png?1539780072)

![](https://cdn-learn.adafruit.com/assets/assets/000/063/638/medium800/sensors_project1.sensorburnin.phase2.fullrange.png?1539780185)

The MQ-3 reaches a stable value in less time on the second phase of the burn-in period. The MiCS-5524 reaches stability far quicker in both runs.

&nbsp;

The noise becomes more visible on graphs with a narrower range on y axis. It's remarkably low at around +/- 1mV on MiCS-5524 output to CPX input.

![sensors_project1.sensorburnin.phase2.zoom1.png](https://cdn-learn.adafruit.com/assets/assets/000/063/639/medium640/sensors_project1.sensorburnin.phase2.zoom1.png?1539780995)

![sensors_project1.sensorburnin.phase2.zoom2.png](https://cdn-learn.adafruit.com/assets/assets/000/063/640/medium640/sensors_project1.sensorburnin.phase2.zoom2.png?1539781006)

![sensors_project1.sensorburnin.phase2.zoom3.png](https://cdn-learn.adafruit.com/assets/assets/000/063/641/medium640/sensors_project1.sensorburnin.phase2.zoom3.png?1539781022)

# Comparison and Experimentation with Flammable Gas Sensors

## Testing Gases

![](https://cdn-learn.adafruit.com/assets/assets/000/063/982/medium800/sensors_sn-x.the-itching.hires.jpg?1540220119 Sr. X - The Itching. Photograph by Kevin Walters.)

Danger: 

The general method was to introduce liquid samples on a soaked, solid-stem cotton bud about 5cm from the sensors for 90 seconds and then remove the sample for 90 seconds and then remove the bowl for 30 seconds to let air circulate and refresh. The breadboard was covered with an upturned glass bowl to reduce the effect of draughts but with a 3cm gap on one side to facilitate adding and removing the samples. Gases were injected from a plastic syringe at the edge of the bowl towards the sensor.

All liquids were at room temperature. The ambient temperature during measurement varied between 24.7 and 25.0 degrees celsius. Temperature and humidity do have a small effect on sensor output. Some more advanced sensors have built-in temperature compensation.

Some prior casual testing revealed the sensors are _sensitive to airflow_ particularly cold draughts.

The graphs show the ratio of the resistance of the sensor with no sample (Ro) vs the the resistance of the sensor with sample (Rs). The data sheets show the _reciprocal_ of this value. The y scale is logarithmic and kept constant across all graphs.

The power supply varied gradually from 5.10V to 4.86V as the batteries discharged. The value per test was used in the calculation of Ro/Rs.

Danger: 

![](https://cdn-learn.adafruit.com/assets/assets/000/064/346/medium800thumb/sensors_gas.sensor.test.201810.1-16.anim.jpg?1540410323 Animated gif showing all test results.)

See [results](https://github.com/kevinjwalters/mini-projects/tree/master/gas-sensor-i/results "Github: kevinjwalters mini-projects master gas-sensori-i/results") for the full set of graphs.

# Comparison and Experimentation with Flammable Gas Sensors

## Board Comparison

The pre-heat time was measured from graphs from sensor power on to when the first reading was within +/- 5% of the steady state value. The MiCS-5524 undershoots initially and then quickly recovers ahead of the MQ-3.

The lower power of the Adafruit&nbsp;MiCS-5524 makes it easier to use and less taxing on power supply/batteries. The enable feature could also be useful for power saving if continuous measurement is not required.

The MiCS-5524 is roughly twice as sensitive in terms of Ro/Rs compared to the MQ-3 for alcohol and gasoline (petrol) but care needs to be taken with very high ppm samples as output will fluctuate.

The [SGX MiCS FAQ](https://www.sgxsensortech.com/content/uploads/2014/08/AN2-%e2%80%93-Frequently-Asked-Questions-for-MiCS-Gas-Sensors.pdf "SGX Sensortech MiCS Application Note 2 - Frequently Asked Questions for MiCS Gas Sensors") and [SGX General FAQs](https://www.sgxsensortech.com/support/faqs/ "Frequently Asked Questions | SGX Sensortech") have entries on airflow:

### 

Yes. Direct airflow on the sensor surface will change the conductivity of the sensor by altering the heated layer temperature. That is why SGX Sensortech recommends placing the sensor behind a Teflon membrane in most applications. The Teflon membrane allows diffusion of the gases, while reducing the influence of the air speed.

### 

Stable sensor performance relies in part to diffusion control. A minimum gas flow is required to replace gas reacted by the sensor.

# Comparison and Experimentation with Flammable Gas Sensors

## Going Further

## Ideas for Areas to Explore

- Compare the MiCS-5524 with the i2c [Sensirion SGP30](https://learn.adafruit.com/adafruit-sgp30-gas-tvoc-eco2-mox-sensor/overview "Adafruit: SGP30 TVOC/eCO2 Gas Sensor") and [AMS CCS811](https://learn.adafruit.com/adafruit-ccs811-air-quality-sensor "CCS811 Air Quality Sensor").
- Monitor alcohol fermentation processes.
- Add a sensor to a mobile robot to seek out or map gases.
- Investigate other MQ sensors to determine their ability to distinguish between different flammable gases. Compare with others like Figaro.
- Detect local graffiti artists using aerosol paints by sampling outdoor air.
- Test other household products like nail polish remover ([ketones](https://en.wikipedia.org/wiki/Ketone "Wikipedia: ketone")), antifreeze ([diols](https://en.wikipedia.org/wiki/Diol "Wikipedia: diol")), vinegar ([carboxylic acid](https://en.wikipedia.org/wiki/Carboxylic_acid "Wikipedia: carboxylic acid")) and old fashioned smelling salts ([ammonia](https://en.wikipedia.org/wiki/Ammonia "Wikipedia: ammonia")).
- Investigate different power supplies to look for effects of power supply related noise and possible compensation techniques for low frequency noise. An extra analogue input (_with appropriate voltage scaling to 3.3V)_ could be used to monitor/check 5V power.
- Check behaviour of sensors with low power supply voltage. The analogue output appears to go up substantially, presumably due to the lower heater temperature.
- Explore other sensors:
  - A zinc-air battery as a "sensor" to measure oxygen, see [The World's Cheapest Oxygen Sensor](http://customsensorsolutions.com/ap-gassensordemo.html "Custom Sensor Solutions: The World's Cheapest Oxygen Sensor").
  - The [Sensirion SCD-30](https://learn.adafruit.com/adafruit-scd30 "Adafruit Learn: Adafruit SCD-30 - NDIR CO2 Temperature and Humidity Sensor") is an NDIR-based, true carbon dioxide sensor.

- Look at environmental monitoring using the trio of gas sensors on the MiCS-6814: [Instructables: Using the Pimoroni Enviro+ FeatherWing With the Adafruit Feather NRF52840 Express](https://www.instructables.com/Using-the-Pimoroni-Enviro-FeatherWing-With-the-Ada/ "Instructables: Using the Pimoroni Enviro+ FeatherWing With the Adafruit Feather NRF52840 Express").
- Build an "electronic nose" (olfaction) using an array of different sensors, see [Michael Madsen's very thorough, cheap electronic nose research](https://web.archive.org/web/20180817192044/http://www.maskau.dk/projects/electronic-nose "Michael Madsen: Electronic Noise (Wayback Machine 20180817)").

## Related Projects

- [LED breath stats mask](https://learn.adafruit.com/led-breath-stats-mask "Adafruit: LED breath stats mask")

## Further Reading

- [Carbon Monoxide - the Silent Killer (pdf)](https://www.health.ny.gov/publications/2826.pdf "New York State Department of Health: Carbon Monoxide - the Silent Killer")
- [Figaro Eningeering: Gas Sensor Principles](https://www.figaro.co.jp/en/technicalinfo/principle/mos-type.html "Figaro Eningeering: Gas Sensor Principles")
- [NY Times: Cheaper Battery Is Unveiled as a Step to a Carbon-Free Grid](https://www.nytimes.com/2018/09/26/business/energy-environment/zinc-battery-solar-power.html "NY Times: Cheaper Battery Is Unveiled as a Step to a Carbon-Free Grid")  
- [The Economist: A new device can identify air travellers carrying an infectious disease](https://www.economist.com/science-and-technology/2018/10/20/a-new-device-can-identify-air-travellers-carrying-an-infectious-disease "The Economist: A new device can identify air travellers carrying an infectious disease")
- Bosch [BME680 Environmental Sensor demo](https://www.youtube.com/watch?v=xvcUA47yOoY "YouTube: Adafruit Industries: BME680 Environmental Sensor demo") (YouTube) -&nbsp; the STEMMA QT/i2c connected [Adafruit BME680 - Temperature, Humidity, Pressure and Gas (MOX) Sensor](https://www.adafruit.com/product/3660 "Adafruit BME680 - Temperature, Humidity, Pressure and Gas Sensor - STEMMA QT") in action.
- [Metal Oxide (MOX) Gas Sensors: Sensitivity and Influencing Factors](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3264469/ "Wang, C.; Yin, L.; Zhang, L.; Xiang, D.; Gao, R. Metal Oxide Gas Sensors: Sensitivity and Influencing Factors. Sensors 2010, 10, 2088-2106.") (complex stuff but has good pictures!)

### Adafruit SGP30 Air Quality Sensor Breakout - VOC and eCO2

[Adafruit SGP30 Air Quality Sensor Breakout - VOC and eCO2](https://www.adafruit.com/product/3709)
Breathe easy with the SGP30 Multi-Pixel Gas Sensor, a fully integrated MOX gas sensor. This is a very fine air quality sensor from the sensor experts at Sensirion, with I2C interfacing and fully calibrated output signals with a typical accuracy of 15% within...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3709)
[Related Guides to the Product](https://learn.adafruit.com/products/3709/guides)
![Angled shot of a Adafruit SGP30 Air Quality Sensor Breakout.](https://cdn-shop.adafruit.com/640x480/3709-07.jpg)

### Adjustable breadboard power supply kit

[Adjustable breadboard power supply kit](https://www.adafruit.com/product/184)
This kit is for making your own breadboard-friendly very low dropout adjustable power supply. A good power supply is essential to electronic projects. While there are many existing designs for adjustable power supplies, this one makes improvements that make it more useful for hobby...

In Stock
[Buy Now](https://www.adafruit.com/product/184)
[Related Guides to the Product](https://learn.adafruit.com/products/184/guides)
![Unassembled kit shot with PCB, various components, chips, resistors, etc.](https://cdn-shop.adafruit.com/640x480/184-02.jpg)

### Adafruit SCD-30 - NDIR True CO2 Temperature and Humidity Sensor

[Adafruit SCD-30 - NDIR True CO2 Temperature and Humidity Sensor](https://www.adafruit.com/product/4867)
Take a deep breath in...now slowly breathe out. Mmm isn't it wonderful? All that air around us, which we bring into our lungs, extracts oxygen from and then breathes out carbon dioxide. CO2 is essential for life on this planet we call Earth - we and plants&nbsp;take turns using and...

In Stock
[Buy Now](https://www.adafruit.com/product/4867)
[Related Guides to the Product](https://learn.adafruit.com/products/4867/guides)
![Video of someone blowing a dust on a Adafruit SCD-30 - NDIR CO2 Temperature and Humidity Sensor. ](https://cdn-shop.adafruit.com/product-videos/640x480/4867-05.jpg)

Warning: 


## Featured Products

### Adafruit MiCS5524 CO, Alcohol and VOC Gas Sensor Breakout

[Adafruit MiCS5524 CO, Alcohol and VOC Gas Sensor Breakout](https://www.adafruit.com/product/3199)
Give your next sensor project a nose for gasses with the **Adafruit MiCS-5524 Gas Sensor Breakout.** This breakout makes it easy to use this nice sensor from [SGX Sensortech](http://www.sgxsensortech.com/). The MiCS-5524 is a robust MEMS sensor for indoor...

In Stock
[Buy Now](https://www.adafruit.com/product/3199)
[Related Guides to the Product](https://learn.adafruit.com/products/3199/guides)
### Circuit Playground Express

[Circuit Playground Express](https://www.adafruit.com/product/3333)
 **Circuit Playground Express** is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and made it even better! Not only did we pack even more sensors in, we also made it even easier to...

In Stock
[Buy Now](https://www.adafruit.com/product/3333)
[Related Guides to the Product](https://learn.adafruit.com/products/3333/guides)
### Half Sized Premium Breadboard - 400 Tie Points

[Half Sized Premium Breadboard - 400 Tie Points](https://www.adafruit.com/product/64)
This is a cute, half-size breadboard with&nbsp;400 tie points, good for small projects. It's 3.25" x 2.2" / 8.3cm&nbsp;x 5.5cm&nbsp;with a standard double-strip in the middle and two power rails on both sides.&nbsp;You can pull the power rails off easily to make the breadboard as...

In Stock
[Buy Now](https://www.adafruit.com/product/64)
[Related Guides to the Product](https://learn.adafruit.com/products/64/guides)
### Small Alligator Clip to Male Jumper Wire Bundle - 6 Pieces

[Small Alligator Clip to Male Jumper Wire Bundle - 6 Pieces](https://www.adafruit.com/product/3448)
When working&nbsp;with unusual non-header-friendly surfaces, these handy cables will be your best friends! No longer will you have long, cumbersome strands of alligator clips. These compact jumper cables have a premium male header on one end and a grippy mini alligator clip on the...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3448)
[Related Guides to the Product](https://learn.adafruit.com/products/3448/guides)
### Through-Hole Resistors - 10K ohm 5% 1/4W - Pack of 25

[Through-Hole Resistors - 10K ohm 5% 1/4W - Pack of 25](https://www.adafruit.com/product/2784)
ΩMG! You're not going to be able to resist these handy resistor packs!&nbsp;Well, axially, they&nbsp;do all of the resisting for you!

This is a **25 Pack of 10K Ω Resistors.** More specifically, they are **carbon film** , through-hole...

In Stock
[Buy Now](https://www.adafruit.com/product/2784)
[Related Guides to the Product](https://learn.adafruit.com/products/2784/guides)

## Related Guides

- [Adafruit Circuit Playground Express](https://learn.adafruit.com/adafruit-circuit-playground-express.md)
- [AdaBox 008](https://learn.adafruit.com/adabox008.md)
- [Paper Craft Zoetrope with Crickit](https://learn.adafruit.com/paper-craft-zoetrope-with-circuit-python.md)
- [Glowing Smokey Skull ](https://learn.adafruit.com/glowing-smokey-skull.md)
- [Musical Walking Stick with Circuit Playground](https://learn.adafruit.com/musical-cane-walking-stick.md)
- [Easter Egg Light Stand](https://learn.adafruit.com/easter-egg-light-stand.md)
- [Sparky the Blue Smoke Monster Automaton](https://learn.adafruit.com/sparky-automaton.md)
- [Circuit Playground Express Rocket Lamp](https://learn.adafruit.com/cpx-rocket-lamp.md)
- [Pushrod Garage](https://learn.adafruit.com/pushrod-garage.md)
- [Using Servos With CircuitPython and Arduino](https://learn.adafruit.com/using-servos-with-circuitpython.md)
- [Circuit Playground Express Head-Tilt Ears](https://learn.adafruit.com/circuit-playground-express-head-tilt-ears.md)
- [Porting an Arduino library to CircuitPython: VL6180X Distance Sensor](https://learn.adafruit.com/porting-an-arduino-library-to-circuitpython-vl6180x-distance-sensor.md)
- [Installing CircuitPython on SAMD21 Boards](https://learn.adafruit.com/installing-circuitpython-on-samd21-boards.md)
- [Slider Crank Mechanism -- from Cardboard and Craft Sticks](https://learn.adafruit.com/cardboard-slider-crank.md)
- [How Tall Is It?](https://learn.adafruit.com/how-tall-is-it.md)
- [Make It a Keyboard](https://learn.adafruit.com/make-it-a-keyboard.md)
