How To Smell Pollutants using an Arduino

This Instructable explains how to use a gas sensor with your Arduino.

This lets your Arduino smell (and hence you program responses to) overall gas levels for a variety of nasties, including ethanol, methane, formaldehyde, and a bunch of other volatile organic compounds.

My cost to make this actual device was under $100, including the full Arduino kit.

And no, I won’t put a shirt on:-)

I’ve got kits / finished versions of this and some other projectsfor sale @ my website

The closest comparable commercial products I can find are:
-a commercial-quality detector: $2500+
-a lab monitor: $295
a one-off test kit for volatile organic compounds: $234

I learned about this after hearing about some guys who added VOC sensors to toy dogs. Not sure where/if the docs on that project are, but here’s the guide that I followed.

Links explaining what VOCs are and why you might want to care:
Some symptoms of overexposure to VOCs
an OSHA regulation on formaldehyde levels
information on sick building syndrome: ‘A 1984 World Health Organization Committee report suggested that up to 30 percent of new and remodeled buildings worldwide may be the subject of excessive complaints related to indoor air quality (IAQ).’
The Inside Story: A Guide to Indoor Air Quality: “For pollutants other than radon, measurements are most appropriate when there are either health symptoms or signs of poor ventilation and specific sources or pollutants have been identified as possible causes of indoor air quality problems. Testing for many pollutants can be expensive. Before monitoring your home for pollutants besides radon, consult your state or local health department or professionals who have experience in solving indoor air quality problems in non-industrial buildings.”

Smell Pollutants with Arduino

Step 1: Gather Your Supplies

You’ll need:
-an Arduino (or equivalent)
-a cable to hook the Arduino up to your computer / provide power
-a computer to read values
-a potentiometer or resistor of known value. anywhere from 500-1k ohms should work
-the gas sensor: a pain to buy in small quantities. i bought 2 and they cost like $22 each, but volume orders get way cheaper… the specific sensor i used was figaro sensors’s 2620.Here’s what I used:
the arduino kit I used
the different sensors available from Figaro (use different sensors to ‘smell’ different things)

It’ useful but not necessary to have a multimeter and wire stripper handy…

The pdf included with this step is the price list from the sensor manufacturer as of March 2008.

blankPrice 01_08 USA.pdf(612×792) 191 KB


Step 2: Set Up Your Arduino

1. Get your Arduino connected to your computer and functional
This should be pretty straightforward, especially with any newer Arduino. This guide worked for me.
2. Program your Arduino to read the value from an analog input and display this on-screen. I used
this guide for using a potentiometer with an arduino and basically just modified the frequency with which it reads input value (delay(100) = read 10 times per second) to get the following code, which works for me:

//this outputs pot value to screen in ohms

int gasSensor = 0; // select input pin for gasSensor
int val = 0; // variable to store the value coming from the sensor

void setup() {

void loop() {
val = analogRead(gasSensor); // read the value from the pot
Serial.println( val );
Schematic Smell Pollutants with Arduino
If you’re using this as your first excuse to play with an Arduino, you might want to try just wiring up the potentiometer and reading the value from it before adding the sensor.

Step 3: Create Your Circuit

The picture attached is an image of the circuit from above (meaning that the sensor’s leads are pointing towards the ground; there’s a little metal tab protruding from the sensor to let you understand which pin is which. Also, check out the figaro guide for the specific sensor you choose. Attached is the datasheet, with some example circuits, for the 2620.

For the 2620, the datasheet specifies at least 450 ohms resistance needed. I tuned my potentiometer to ~right around 450 ohms.

Major Components in Project

An Arduino
-a cable to hook the Arduino up to your computer / provide power
-a computer to read values
-a potentiometer or resistor of known value. anywhere from 500-1k ohms should work
-the gas sensor


For more detail: How To Smell Pollutants using an Arduino

Comments (2)

Leave a Comment

= 5 + 9

(Spamcheck Enabled)

Read previous post:
Arduino Gas detector
Gas detector / indicator (USB powered) with arduino

ArduSniffer This Instructable shows how to build a gas detector / indicator using an arduino. The finished product is USB...

Scroll to top