A(nother) DIY o2 analyser

Please register or login

Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

Benefits of registering include

  • Ability to post and comment on topics and discussions.
  • A Free photo gallery to share your dive photos with the world.
  • You can make this box go away

Joining is quick and easy. Log in or Register now!

stiebs

Contributor
Messages
931
Reaction score
463
Location
Melbourne, Australia
# of dives
500 - 999
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%
Nm949RTvvZ.png


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
1723590392478.png


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!
1723590664393.png


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
1723590872571.png


Completed build, ready to insert the circuit. The
1723590830742.png
 
A couple more photos:

The o2 sensor and battery covers removed. Uses 2xCR123 batteries. I did agonise a while on what batteries to use, and went back and forth between rechargeable lithium, AA, and CR123.
1723591322807.png


Close up of the sensor compartment. Sensor fits snuggly in the round opening, and it matched to a tag on the lid which keeps it secured in place. The tube down the side is open on both ends and has a spiral running all the way down. Partly to agitate the airflow and direct air into the sensor, and partly for 3D printing support.

1723591436828.png
 
Shows the mV reading of the sensor,
Exactly what I am looking for a thread ago!!

I was literally thinking in the morning I should bring out my uCs out and start fiddling to build something similar; but i don’t have to reinvent the freshly made wheel do I?
I WANT ONE
 
Looks solid, which oxygen sensor are you using?

CR123 is a solid choice.

ADS1115 is also a great choice, especially with how easy arduino and I2C get along.

Looks like a silk PLA print? I would be a little careful with PLA and particularly silk PLA with any possible hard use or elevated temperatures, It is almost certainly fine but I had one print deform sitting in my truck for a workday in the summer.

Did you put a conformal coating on the board?
 
https://www.shearwater.com/products/perdix-ai/

Back
Top Bottom