High quality amplifier

hi All,

i have a oxygen sensor that depending on the oxygen concentration on a gas, generates bettwen 0 and 500 mV. if i connect it directly to arduino port, he cannot detec so slight amplitude. so, i need to amplify it to 0 to 5 V with good amplification definition since the exact oxygen percentage is critical. Somo one knows a market board that can make such work?

thanks a lot.



Please post a link to the manual or datasheet for the sensor - we need this information to
make an informed reply.


thanks a lot. an example is the sensor http://www.teledyne-ai.com/pdf/r-17med.pdf

these sensors are to evaluate the percentage of oxygen in a gas mixture.



Would using the 1.1 comparator be accurate enough? q.v. analogReference in the reference section.

Default set the ADC reference to Vcc : precision will depends of the Vcc board value.
The 1.1 V internal reference is more apropriate to your 500 mV and will improve the accuracy of your measurements by 5/1.1 times.
Please note the following :

  • The value of 1.1 V is given + / - 10%, but his value is only depending of the fab batch you can measure his exact value with a voltmeter connected to the Aref pin and the ground.
  • If you use the internal Reference it is important not to apply any voltage to Aref (see microcontroler datasheet for more information).

Important notice :
Whatever the reference (Vcc, external, Internal) you use, on the UNO and Mega arduino boards the track between the Aref board pin and the aref microcontroler input is too noisy to give accurate measurements.
To get accurate measurements it is essential to solder a capacitor (100 nF) between the ground and the microcontroler Aref pin as close as possible from the microcontroler.
It is very easy with UNO to sold a capacitor dirrectly to the through hole dip socket (back side).
It is extremely difficult with a Mega due to the SMD package.


thanks a lot for you hint. anyway, i am not really a hw guy but more a sw guy. for that reason, your explanation was not clear to me. can you help me idetail how to handle it?

thanks a lot



int analogPin = 3;     // potentiometer wiper (middle terminal) connected to analog pin 3
                       // outside leads to ground and +5V
int val = 0;           // variable to store the value read

void setup()
  Serial.begin(9600);          //  setup serial


void loop()
  val = analogRead(analogPin);    // read the input pin
  Serial.println(val);             // debug value

Example from: http://arduino.cc/en/Reference/AnalogRead I add a line from: http://arduino.cc/en/Reference/AnalogReference

To amplify the oxygen sensor signal, I suggest an instrumentation amplifier. You can get a free sample in 8-pin DIP packages from Texas Instruments, along with lots of application notes showing how to wire them up and set the gain. An example would be the INA122 http://www.ti.com/product/ina122#samplebuy