Home        Store        Docs        Blog

Need help With Simple Dive Computer


I have a need to build a device to help keep me safe while freediving and was wondering if anyone here could provide some guidance.

What I need is a small devise that i can wear on my wrist (or on my forearm inside my wetsuit) that will monitor my depth and vibrate 5 seconds or so after I surface from a dive. Why do I need this? I currently dive with a safety vest that will inflate if I do not press a button 15 seconds after surfacing from a dive. This is to protect me from drowning from a blackout at the surface. After an hour of diving I will forget to clear the button, the vest will inflate and my dive is over for the day.

So again, all the device needs to do is know when I return to the surface from a breath hold dive. Once I’m at the surface it will need to wait 5 seconds then vibrate for a couple seconds (like a cell phone) to remind me to clear my vest, that’s it.

Ideally this would be incorporated into the vest but the designer doesn’t want to tackle this at the moment.

I have a small background with DIY electronic kits but I really need help on where to start. Can anyone help provide some guidance? Thanks!

(Matt) #2

Hey buddy

  • Picaxe 08M2 IC, 8 pin
  • Regulator, ( depending on what battery you use)
  • BlueRobotics bar30 sensor
  • Vibrating module, (just a little off weighted motor)
  • Buttons for power switch and reset
    = approx <$100 so far
  • Add costs of your Housing

Assuming size is a factor, and if you want it on your wrist them im guessing it would be. You could pull this task off using a mini Arduino or the Picaxe 08M2 chip if you want it really small, which is an 8 pin IC that would do everything you need. Depending how you wanted to power it, lets say a 9V or three AA batteries? You will likely need a small power regulator. All very tiny.
The BlueRobotics bar30 depth sensor would work well here for your task.

The 08M2 has its own internal clock for timing. Just have it constantly read the depth and when it sees any depth above 1m to start a clock, once clock of 5s is reached it starts the vibrating motor until you hit a button.

The housing will be your biggest consideration. Depending on the depth you wanted. OR if you didn’t mind a tube on your wrist (or perhaps on your waist?) then the 2" BR enclosure could be cut down and used? If you really wanted you could add a small display for depth readout fairly easy. The other options are to machine something out of plastic or aluminum but there are plenty of options out there.

Just a rough layout there, likely a few other minor elements to it but thats the basic, Hope it helps you with ideas mate. Plenty of ways to accomplish what you want, this is just one possible solution.
Good Luck


Thanks for the reply! That is very helpful, I’ll do a little more homework on the components you recommended before I bug you with more questions. Thanks.

(Matt) #4

In plain english you will want a code something like this:

read the depth sensor, place in memory
if depth is > 5m then make FLAG = 1 (this will activate the monitoring)
if depth is <1m AND FLAG = 1 then wait 5s (if you surface start a 5s counter)
else go to MAIN
Read depth sensor, put into memory A (this will check in case of for spurious readings)
if depth is <1m AND Flag B then start the motor. (if you are still at surface then start the motor)
else to go MAIN

Just adjust the overall code for what ever language and hardware and ports you use

You could just have a single power button, no actual need for a reset button. Just have it so once you have dived below 5m then it will “activate” then if it sees a depth less than 1m (you on surface) then after 5s it starts the motor (or a loud buzzer?) and the only way to stop it is for you to turn it off. (which will reset it anyway)
Thats pretty clean and simple. Only 1 button then. If you didnt want an actual button you could use a reed switch and put a magnet on your glove to reset it. That way you dont have to worry about sealing a switch. Once again … plenty of options.
Really depends what the overall size and form factor your after.

On the micro controller front you have plenty of options, once again depends on how small you need it.


Yes, this is exactly the direction I wanted to go, one button and code that follows a very similar algorithm to what you have so I dont have touch it while I’m diving.

I’m a mechanical guy with full machine shop access (and 3d printers) but when it comes to the electrical stuff i have to watch lots of youtube videos and read about the details. Building things is the east part for me, getting a schematic in place that does what I intend to do is the hard part.

As far as batteries go i was thinking a smaller 3.7v lipo used in drone toys. Is the point of the voltage regulator to insure consistent and reliable readings from the pressure sensor, or something more than that?

(Matt) #6

The regulator is just to keep your voltage out steady as the battery Voltage changes as it drains. Both your depth sensor reference and for your micro controller, (if you decide to use one) will want a steady voltage.
The BlueRobotics bar30 (300m depth) sensor would be great here, but depends how deep you plan on going. There may be more shallow water sensors which are smaller available.

Assuming that you already use a depth gauge of some kind? is it digital ? there may be a way to integrate what you want in to it that one ?


I use a freedive watch, it has a feature very similar to what I’m trying to achieve however it emits a faint alarm noise that cannot be heard with my hooded wetsuit on (hence the vibration feature i’m looking for).

You bring up a good point, as there might be a way to hack the dive watch to improve this feature although the watch is expensive so there is some risk modifying it.

I am shallow water freediver, not a scuba diver, so I’m typically not diving any deeper than 30 meters.