DIY Nitrox Analyzer (Arduino based)

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!

The part that's responsible for displaying everything on screen, and the menu structure, won't be open-source since it'll have some brand logos in it.

The "menu" part is the one I am not confident with...
I will have to learn that part !
 
Just wanted to share my project as well: netdata-be/nitrox_analyser

Some highlights:
  • Custom PCB for the components
  • Auto-calibrate on air
  • Auto-calibrate on pure o2 ( at boot it calibrate to air, if the measured mV is within 10% of the expected linear 100% o2 voltage and you trigger a manual calibrate, it will recognize this as a second gas to calibrate, this way we correct for the linear offset of the cell )
  • Multiple display modes
  • Battery monitor
  • Saves the display modes to memory so it remembers the last one used
  • Display stanza conver
 
Just wanted to share my project as well: netdata-be/nitrox_analyser

This looks really nice.
I have built it now, but I'm having a couple of problems.
The first is that the digits for the O2% are overlapping. It works if i change it to a tiny font. I would have thought it was a problem with the U8x8 library, but it obviously works in your pictures @Wouter D'Haeseleer .
The other problem is that I can't get the push button to work. The analyzer randomly swithes between the screen modes, and calibration, and pushing the button does nothing. I have wired it up as described in your diagrams, except the battery circuit.
Any suggestions as to what might be my problem?

2021-02-02 08.21.32.jpg
 
Are you sure you have a SH1106 display as used by Wouter? SSD1306 displays look the same, but require a different library and/or initialization.
 
On closer scrutiny I see that I do indeed have a SSD1306 display. Thank you @Miyaru .
Change line 41 to
Code:
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
and check if that solves the issue. If not, check the specs from your display and look up that type in the library.
 
Change line 41 to
Code:
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
and check if that solves the issue. If not, check the specs from your display and look up that type in the library.

That didn't solve it unfortunately. I don't have the specs for this display, so it's a bit hard to look up. I think I'll just get a different one. I would like it to be a little larger than the 0.96" I have now anyway.
 

Any thoughts on using this as a CO sensor?
Requires calibration, so bump gas is required. And it's not a sensor I would use for my own breathing gas.
 

Back
Top Bottom