in order to be effective and safe there can be a 5% variance as the levels you are working with should be high 0.5 to 1.4 PPO2. The lowest amount where life is sustainable is 0.16 (after which you first black out) and when it reaches higher than 1.6 then you get oxygen toxicity on deeper dives.
The sensor will be calibrated with 2 gasses. 1 will be 21% O2 (Normal Air) and 100% O2 (Which is checked anyway before putting it in the system so you know that there is 100% O2 before you will even switch this on. The cells will have to be calibrated each time you use them cause the mV output changes over time so you will have to calibrate before each dive basically.
As for the simple op amp, yes, LM358 with 100k and 1k Resistor is used to up the output of the sensor and currently it is on 5V but this I can change so that I use the 3.3V rail. As my program has over run the UNO memory capacity, I will have to look into the Mega that I think just has 3.3V support, either way, I will most likely switch it to 3.3V
The point of this is to first do it on breadboards above water and test and then put in a pool and test. The above water tests will all be done with a breadboard layout so that I can change anything at any point to optimize the circuit. Once this phase is done I will move it to proto boards and start building a smaller version (but at this stage change of components will not become easy so I would like to avoid that.) After it have been proven to work in the pool at about 3m and all is well I will then do a PCB on this and get it smaller. At which point I will probably make it available in public domain so anyone can use it
As for the 3 sensors versus 2, the goal of this is a recreational re-breather and not really a technical one. With technical you have backup on backup, you carry 3 dive comps, the rebreather has a bail out, you carry and off board bail out and so on and so forth, so the 3 sensor are there for primary, backup, and backup of backup but any of these might fail and the user then has to judge.
What I am aiming for is to calibrate the cells before the dive, and calibrate during the dive as well to see that they function properly, aboe ground wil be done with both the 21% and 100% and when diving only done on 21% and the readings compared. If one of the cells fail or stop responding (these cells have a 5 second response time and I aim to calibrate every 10 minutes during the dive.) then it is an automatic abort, which would cause the user to switch to his 21% on board the breather and bail out.
I hope this explains a bit more of what I have in mind and enlighten you to where my head is going. Any flaws in logic would be appreciated if you point them out now