More Arduino project

These are my ongoing arduino project.

PO2 monitoring device with HUD

Working on 3 cell po2 monitor with HUD.
I use modified smither code for HUD with tri color LED.
Depth and temperature sensor seems working fine but still need watertight case for real dive test.

Compressor auto drain

Control solenoid is very easy with Arduino.
More hard part was getting high pressure solenoid valve.
After long wait, I got 1500 PSI & 3900 PSI valve which I’ll install to water separator and filter housing (I have a Bauer Junior 2).

The water separator’s thread is 1/4 BSPP but P0 (triplex) filter housing need special adapter like this.

to be continued.

2 liter Steel Cylinder

Just add 2l steel set on my micro.
They’re light on land, heavy when underwater makes perfect for drysuit dives and looks awesome too. I will probably use it more then 3l set for a short dive.

Cylinder Pressure (psi) Height*
Weight Empty (pounds) Buoyancy Full : Empty (pounds)
FX-15 (Faber 2L) 3442 14.17 3.94 6.6 -2.42  :  -1.21
FX-23 (Faber 3L) 3442 19.50 3.94 8.6 -2.64  :  -0.66

Arduino oled nitrox analyzer

This is update version of my DIY nitrox analyzer based on Arduino compatible board.

It’s using small oled display and powered by 9v battery. Display o2 percentage of gas, sensor mv output, two MOD(maximum operating depth) in meter. 1 push button for lock screen, calibration, po2 change.

Part list
  • Arduino nano compatible board (or any other Arduino board will do)
  • ADS1115 16 Bit DAC Module (the ADS1115 provides 16-bit precision at 860 samples/second over I2C!)
  • 0.96 inch OLED 128×64 I2c display module
  • Rocker or toggle switch for power on/off
  • 1 Push button
  • 1 9v battery connector (better using 3 AA or AAA)
  • 1 Piezo Buzzer (I took one from pc. Skip if you don’t need beeping analyzer :)
  • 1 Connector for o2 sensor (mine is molex)
  • 1 O2 sensor (I use old cell from my CCR but you can get sensor from Teledyne, Maxtec or other manufacturer.


  • VDD to 5v
  • GND to Ground
  • SCL to A5 (nano)
  • SDA to A4 (nano)

OLED 128×64 I2c display module

  • GND to Ground
  • VCC to 5v
  • SCL to A5 (nano)
  • SDA to A4 (nano)

Push button

  • 1 pin to Ground
  • 2 pin to D2 (nano)

9v battery

  • positive to VIN (nano) through rocker (toggle) switch
  • negative to Ground


  • positive to D9 (nano)
  • negative to Ground

Oxygen sensor

  • positive to A0 ADS1115
  • negative to A1 ADS1115
The source

Additional library


youtube video

  • 1 short button push to lock current display (1 push to unlock)
  • 2 sec hold to calibration
  • 3+ sec hold to MOD PO2 change (1.3 to 1.5 rotation)

I put everything include sensor in a small plastic box(65×95×55mm) with transparent cover. Here’s some image of ugly looking inside. I’m sure someone can 3d print smaller and prettier shell.

9v battery is very poor choice for Arduino project (I used because that’s what I have many). AA, AAA x 3 or small rechargeable batteries are better.

Warning! Be cautious when you use 9v battery. Arduino onboard DC regulator will be destroyed if you accidentally switch positive & negative.

Todo list

  • clean the code
  • replace board to custom pcb or pro mini
  • replace 9v batt to rechargeable small lipo battery
  • smaller case