# How to read values from a NO2 sensor from an Arduino?

Alphasense sells this NO2 sensor:

http://www.alphasense.com/environmental-sensors/pdf/NO2B4.pdf

How can I read the values from an Arduino ? Do I need something between the Arduino and the sensor ?

I have used a few basic sensors before, but I'm confused with this gas sensor: why does the response curve seem to loop ? I naively expected a constant tension for a given concentration, but it looks like it is more complicated with chemical sensors.

• You need to decide what you are asking about. Is this about what analogRead() does and how to use it, or about how to connect the sensor electrically to a microcontroller? Nov 13 '12 at 13:49
• @Olin -- I think he is asking about the analog front-end, at least, that's how I read it. Dec 13 '12 at 23:35
• @DrFri: The point is we shouldn't have to guess. Dec 14 '12 at 13:30
• @Olin -- Completely agree with you... BTW, I've come across a few of your previous answers, you've done some really nice work on this site. Cheers. Dec 14 '12 at 19:04

What range of concentrations of NO2 will you be measuring?
Which Arduino model are you using?

The sensor outputs current proportional to the concentration of NO2. Have a look at fig.4 in the datasheet. It shows the voltages for different concentrations of NO2, if you run connect a 33Ω load resistor from the sensor output to GND.

Notice the offset: 0ppb corresponds to 170mV. The 0ppb to 200ppb operating range corresponds to 45mV output range. If you use a load resistor with a larger value, you will get get a larger output range. Unfortunately, the datasheet doesn't say what's the maximum load resistance can be.

Now we get into the Arduino side of things. If you use analogRead() with the default voltage reference setting, 45mV would corresponds to 9 A/D counts. This is worst/simplest case.

If you're willing to add more hardware, you can amplify the output voltage with a non-inverting OpAmp. With 33Ω load resistor and a gain of 20, your output range would be or 900mV or 183 A/D counts.

• Before going any further I don't really understand this graph; why is time involved in the reading of a concentration ? Any pointer would be appreciated. Nov 13 '12 at 22:19
• About the additional hardware: on another project using the same sensor, the person who designed the project used a sigma delta ADC to read the sensor on a Raspberry Pi. How does that compare to your solution with an OpAmp ? Nov 13 '12 at 22:26
• @Antoine I think, the designers of the sensor were demonstrating the step response in fig.4. The time axis is not really important for your question. Nov 13 '12 at 22:34