Skip to main content
4 of 4
added 1 character in body

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 done about as much as I can to reduce noise and interference in the circuit, but the op-amp is behaving weird. I've measured the voltages of each of the pins and got the following:

  • Pin 1: 185mV
  • Pin 2: 29mV
  • Pin 3: 13.8mV
  • Pin 4: 0mV
  • Pin 8: 4.92V

I have confirmed the resistances between the pins is what I expect:

  • Pin 3 to Pin 4 (with sensor disconnected): 20kΩ,
  • Pin 1 to Pin 2: 20kΩ,
  • Pin 2 to Pin 4: 100Ω

What am I doing wrong? My calculations say the output at Pin 1 should be around 2V. The pinout diagram taken from the LMC6482 datasheet A Schematic showing how my circuit is supposed to be working, made using EveryCircuit 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. A photograph of the circuit implementation with details highlighted. S+ and S- refer to positive and negative terminals of the oxygen sensor respectively.