Skip to main content
1 of 4

Using an arduino to measure a voltage in the range of 0-20mV

I'm building a control panel for an old altitude training machine and I need to measure the output of an oxygen sensor with an arduino. The oxygen sensor (medical oxygen sensor OOM202) is a micro fuel cell which outputs a voltage between 200μV and 20mV depending on the oxygen level. I'm using a LMC6482 CMOS dual rail-to-rail op amp running on a supply of 5 volts to amplify the signal before feeding it into the analogue input of an Arduino Uno. The resistor connecting pins 1 and 2 is 270kΩ and the resistor connecting pin 2 to ground is 1kΩ, though later I changed these to 20kΩ and 100Ω respectively (to no avail).

I've dont as much as I can to reduce the noise in the input signal, which is now coming through to the op-amp input at about the right voltage, however the output of the op amp is hovering around .5V with an input of around 13.5mV.

What am I doing wrong? Here's a sketch of my circuit made using Fritzing. Oxygen sensor is attached to the connector next to the three pushbuttons. 12V DC power supply and the valve control signal is connected to the triple terminal block on the bottom right; this is the cable that runs back to the altitude trainer.