After being shelved a couple of times, earlier this year I finally got enough enthusiasm and motivation to complete the design and build of my own O2 analyser. In my usual style, it is was more over-engineered than it needs to be, but it certainly got the interest of some of the dive crew on my last liveaboard!
For the electronics/uC boffins:
It's Arduino based (well, Teensy) with an ADS1115 analog-digital convertor and an LCD display in a 3D printed case. My original plan was just to use breakout boards around the Teensy, but that was getting too difficult/messy so I designed and printed my own circuit board and used surface mount components to keep the size to a minimum. One of the challenges that I threw myself was that I wanted a soft-on (ie, press a momentary button, not a slide/toggle switch) so that it could auto-shutoff, but also draw zero power in this shutdown state so the battery will last indefinitely.
Calibration screen. This comes up on power-up. Shows the mV reading of the sensor, and the colour bar graph gives an indication of reading stability. When all the bars a green, the reading is stable. pressing the middle button toggles calibration between air and 100%
View attachment 855821
Analyse mode. O2 reading is yellow, turns green when it is stable.
Pressing the bottom button toggles MOD display between m/ft
Pressing the middle button toggles between 1.2/1.4/1.6 Po2 to calculate MOD.
If the O2 goes above 45%, Po2 switches to 1.6 if it drops below 42% is goes back to 1.4
View attachment 855822
Double-sided surface mount circuit board to keep the size to a minimum. Designed in Kicad and printed using a PCB manufacturer in China. US$5 to print the minimum run of 10! Could not believe how cheap that was!
View attachment 855823
LCD screen on its mounting board. Showing the very basic "best mix" screen - select the depth, and it will show the richest mix for the chosen PO2
View attachment 855825
Completed build, ready to insert the circuit. The
View attachment 855824