A navigation system for snorkeling - feel haptic the direction to starting point, underwater routes and send directions to friends

Similar projects worth following
While snorkeling on the coast and at some point unintendional snorkeling in circles, we decided we have to improve navigation. Since we already are working with haptic feedback in the personal photonics project (, we decided to use that as a project addon: A vibration belt on either the belly or breast gives directions with haptic feedback on the back, and buttons on the front allow to input different modi, like getting home, swimming a certain route or sending directions to a friend who is snorkeling nearby. For localization a GPS module is used, at the moment we tend to use Bluetooth for communication, but we might switch to another mesh-friendlier network. For safety, first a clock can be used to warn about current changes and to-long-snorkeling, an UV sensor for preventing sunburns and we want to try later to integrate a warning system for the shallow water blackout.

Project plan so far (apart from finding out if anybody else find such a system as useful as we :-)


- 8 Vibration motors on the back for vibration feedback, using encapsulated ones which will be further encapsulated with epoxy, silicon or whatever encapsulation method we found best

- 2 buttons on the front. Since we want to use the system direct under water surface, normal buttons should still work, otherwise we revert to the hall sensor/magnet combo used for diving

Snorkel (first we thought about a fin at the belt, but the snorkle seems to be the best place: Above water for GPS and Communication, and with most of the components there, the encapsualtion should be easily doable)

- GPS for localisation/clock Neo 7M

- UV sensor (since GPS antenna is on top, we need to find out a nice way to guide the UV-light to the sensor). At the moment eiter VEML6070 or SI1145 - UV directly or together with normal lights. Since the water encapsulation might filter UV light we have to test which sensor is more feasible

- Bluetooth: HC05, easy to use, but master, slave system. A mesh network solution (XBee or something else) might be better for diver to diver communication

- Acceleration/Gyro/Compass: MPU 92/65

- SHT31 for Humidity and Temperature - checking if something goes wrong, that the encapsualtion is working

- Vibration motor driver board which we have from the personal photonics project (, with removed voltage regulator

- Adafruit Qi Charger circuit ( and Lipo charger for charging a single LiPo cell (in this case the standard LiPo cell salvaged from an old computer battery pack) without cables (encapsulation)

- Arduino Nano (with removed voltage regulator)

Since all boards can run between 3.3 and 5V, we don't use voltage regualtors but let the voltage slowly drop instead.

All components fit nicely inside the extension of the snorkel, allowing a clean setup.


3D-Designfiles for Snorkelextension (for Sorkel Bob's dual chamber snorkel)

scad - 2.95 kB - 10/16/2017 at 00:39


  • Programming and Connections

    JanThar10/16/2017 at 01:32 0 comments

    So far the system consists mostly of  I2C devices, which can be easily controlled with the Arduino Nano, libraries for most sensors exist. A minor challenge is that both GPS and Bluetooth use the serial port, one of them has therefore to revert to a software serial port. Since GPS will be checked if needed, while the Bluetooth communication can be also triggered from outside, the Software Serial port will be used for the GPS module. The Bluetooth module can therefore listen with Hardware-Read if messages arrive, while messages from the GPS module should only arrive if requested.

    This setup might change if we switch to a another wireless communication method. ZigBee would still use the serial connection, but other mesh network able communication devices (RFM 70) use other serial protocols, which might allow to get away from this software solution

  • Safety methods

    JanThar10/16/2017 at 01:24 0 comments

    With all the already used electronic for navigation, we can also integrate safety methods:

    Some issues seems to be:

    - UV light: Reefs are sensible to UV protection sprays and lotions, a warning if to long exposed to UV light should be necessary, which can be done with an UV sensor and timer.

    - Tides: Depending on time, a warning can be issued when tides change (as well as using the timer to regualting snorkeling duration).

    - (The wireless connection could allow to call for help in emergency situation, but since you can't count on it that's not a real safety feature)

    - The most interesting part might be the shallow water blackout problem, since the problem is that there exist no indications besides no movement, which are hard to detect when movements can be also happen passive because of tides or waves. At the moment we tend to integrate a capacitive sensor area on the snorkel, detecting the water level inside: If it stays a certain time without getting air inside in between, we would then first activate a haptic warning for sort of a dead man switch (user has to press a button to prove he is still conscious), otherwise a warnign will be sent (optimal would be then activating a self-infalting live jacket to get the head  directly above water)

  • Navigation tasks

    JanThar10/16/2017 at 01:11 0 comments

    First idea was to get simply the direction away from the beach. This was then extended away from just a compass towards GPS, allowing a precise return to a starting point as well as way points: One can be guided with GPS and the haptic feedback along an underwater path to nice spots or preventing to get into sensible areas without underwater landmarks. Furthermore, one could send direction infos to friends when finding nice spots by themselves.

  • Fin against Snorkel tip

    JanThar10/16/2017 at 01:06 0 comments

    Basic Planning: Where to place the electronic - and which electronic

    The first idea was using a fin at the back, additional coming out of the water independent of the snorkel. The advantage had been that the belt would run idepentend from the snorkel and didn't need to be adapted for different snorkel forms. Another idea was to keep the weight near the body. But there were disadvanteges : First a bigger system has to be designed to stabilize such a system on the back, resulting in more weight, worse aqua flow (especially when crossing waves) and an overall bigger belt. Furthermore for safety and better encapsualtion the system should be as small as possible and kept mostly above water, which works well with the snorkel extension. As an additional benefit, the battery is now in the missle inside and double encapsulated, as well as far away from the head for safety concerns. Therefore, the first and already milled system was not used and components further reduced (less vibration motors, no audio).

View all 4 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates