O2 Analyzer

I have not done anything with electronics for many years (since engineering school), and I am new to the arduino.

However, I have decided that I am going to build my own O2 analyzer for sampling Nitrox scuba cylinders (O2 greater than 21%).

There are full analog designs that I can build and I fundamentally understand what the are doing. Most of these designs are built around DPM with some adjustments to scale via resistors and a POT to scale the reading to be % O2.

However, I am compelled to do this with a microprocessor based design. (Learning experiment for me)

The basic design is a sensor (2 conductor) that self generates a low voltage potential based on the partial pressure of O2 that it senses. Air at 21% will be between 8-13 mV and full scale 100% O2 is linear to about 65 mV. Most readings will be in the 30-40% O2 range with a 0.1% O2 readability desired.

This sensor must be amplified to a value that can be read by the UNO with the correct granularity.

The uno will have a calibrate routine the performs a 1 point cal on air.

The uno will then read the sensor and send the output to an LCD display.

Most of this seems very straight forward to me and is readily modeled from examples and other code.

However, the one part that I have not been able to fully plan out is how to amplify the input signal correctly and ensure that I have resolution to 0.1% O2.

I looked at an adfruit ADC amplifier but it appeared that I would not have the correct resolution. I believe that I need an OpAmp, but I am not knowledgeable of the workings of a real op amp and the practical aspects of using one.

Any help or direction would be greatly appreciated to aim me in the right direction as I learn how to do this.


Once this is working future upgrades will calculate the Max Operating Depth for the mix, and will store the last 5 measurements to allow a scroll back to see what they were. (One step at a time)

Here is a PDF of the specifications

MAX-301.pdf (143 KB)

How cool! My very first exploration of op-amps was amplifying the signal from a CO2 sensor (also with an output of millivolts), cause I figured I could do it better than Vernier. As it turns out, I ended up using a two-stage, precision amplifier, but this one worked! I got the voltage range up into the 0-4 volt range, which I could then use to run a display with an Arduino:


I think op-amps are one of the coolest things in all electronica - they can do everything! If you really want to learn about how to use them, get yourself to a RadioShack and buy Forrest M. Mims III's thin little book: Timers, Op Amp & Optoelectronic Circuits & Projects. It's a learning by doing book, as he barely scratches the surface, but shows you how to do amazing things with them.

ps, they really do butter your toast!

Hi, Can I suggest you google instrumentation amplifiers They are a particular configuration of opamps to reduce drift, noise, and keep stability, designed for low input voltage amplification.

Tom.... :)

I agree Tom, but baby steps ya know. ;)

First learn op-amps then get into the thick of it. I'm using a single chip instrumentation amp in my CO2 device (it's a people counter), due to the difficulty of working with precision resistors, and/or trim pots to balance the 3 amplifier circuit.

So, since I posted I continued my research. I think there is something wrong with the attached approach, although, the online op amp simulators show this works fine.

Its basically a 741 gain circuit.

What is fundamentally wrong with this? My intuition tells me that there is a fundamental flaw. - Chip won’t work or something.

The intent is amplify the single up to a 5V range and then feed into the arduino as an analog point. The granularity of an analog point is 1024 discrete digital values across the range. So if I can gain my signal to 5v or so, I get a resolution of reading of 0.1% O2, which is exactly what I want.

I appreciate the help and your patience with my basic questions.

I have also downloaded the recommended book, and sought out the data sheet on the 928 shown in the sketch above.

I have abit of reading on In Amps to do, its just a bunch of words to me right now, and I can’t say I understand what/how yet. As Tom suggested I need to start at understanding the basics first.

Untitled 2.pdf (90.2 KB)

i want an oxygen gas sensor for my project.. so please suggest me an oxygen gas sensor compatible with arduino...

Differential instrumentation Op Amp with programmable gain, 24 bit ADC.


AMI makes an Oxygen Sensor & LED Readout that might work for you application: https://www.amio2.com/percent-oxygen-analyzers