Swimming can be challenging for disabled persons, there is the potential danger of drowning while being unnoticed. Death from drowning while swimming is something that none of us want to see.
If someone gets drowned during swimming, the most important thing is to rescue them as fast as possible. But what if someone gets drowned silently and no one notices ? <----------- This is a problem !!
To address this problem I have developed this prototype wearable device, SwimSafe is a drown detection device to draw attentions of other people, specially rescuer/lifeguards or other swimmers who can immediately notice the drowning person and rescue them.
At sea level we experience the atmospheric pressure or air pressure which is about 101.325 kPa. But the air pressure of a location also varies with the altitude of that location, weather and temperature condition.
Once we dive into water, as we dive down into the water, the water pressures adds on top of the air pressure of that location. This pressure is quite a lot actually. 1 meter column of water can exert about 10 kPa pressure. just 10 cm water column can exert 1kPa pressure ( we are talking about this on planet Earth btw ! )
Pressure of water column is calculated with this formula:
Water Pressure = Density of Water x gForce Acceleration x Depth
= 1000 kg/m^3 x 9.81 m/s^2 x 1 m = 9.81 kPa
But there is the whole atmospheric pressure on the top of water, therefore air pressure needs to be added to measure the total experience pressure
So, at 1 m depth underwater the pressure is
P_air + P_water = 101.325 kPa + 9.81 kPa = 111.135 kPa
As someone gets drowned into a swimming pool, as they drown deeper, the water pressure they experience will also increase.
This device uses a water proof pressure sensor to sense this sudden increase in pressure to detect drowning incidents.
Before diving into swimming, user needs to press the button on this device to record the atmospheric pressure an a reference point for measurement at any given location. Once they are swimming into the water whenever their hand in under water, the device will experience extra pressure because of water pressure. It will compare that pressure with the drown trigger depth pressure (see code for details) to detect drowning incident.
Hardware BuildThe hardware is build according to the following schematic:
Schematic
Hardware Description
Beetle Board (Atmega32U4 mcu): This is a very small size Arduino Leonardo equivalent board with Atmega32U4 microcontroller. It is used to drive the OLED display, taking user input from button, sensing pressure, driving the Lasers - it's the brain of the entire system, programmed in Arduino IDE (see below)
DPS368 Waterproof Pressure Sensor: DPS368 is a very small Air pressure sensor mainly designed for measuring atmospheric pressure. It measures pressure and sends the info over I2C interface. But it is waterproof and can withstand 50m water pressure up to 1 hrs. That's why I am using it to measure both air + water pressure together, which is the pressure experienced by drowned person
1306 OLED Display: A small, low cost, I2C based OLED display for user interface, it will show messages with instructions on the device and initial air pressure at first. Then it will show different status messages depending on the pressure sensed by the user. If they are drowned, it will show message that the laser beams are activated to ask for help
Dot Laser Diodes: These are tiny LED based semiconductor laser diodes that can produce monochrome beam of Red light. Laser helps the beam to travel through water in a swimming pool and draw attention of potential rescuers. I have used 8 Laser diodes, each 2 of them are 90 degrees apart in XY plane and each 4 of them are 90 degrees apart in Z the plane.
This kind of orientation ensures than regardless of the position of the hand of a drowned person, at least 1 laser beam will go in the right direction trying to get attention of the rescuer.
8 Lasers are connected in parallel and driven through a 2N2222 NPN transistor with an I/O of the mcu when the drown detection condition is true.
LiPo Battery: A small 200-300mAh LiPo Battery will power the device, I am using unregulated battery voltage lowering it by 0.6V with a series diode 1N4148. In the real solution, a regulated buck converter is recommended and battery charging circuits too
Broken Smart Watch (repurposed enclosure): I just 'destroyed' my smart watch to give this device a 'professional looks'. Please don't do that, just use a 3D printer and make a nice enclosure.
The Prototype Design
Please remember this is a concept prototype, the enclosure is retrofitted using a broken smart watch and a plastic cup from lamp holder.
All the pieces are electrically interconnected according to the schematic shown above and programmer with firmware.
If you have access to 3D printer, feel free to make a nice enclosure for this project
Please note that, you need to make sure all the hardware (electronics) is waterproof and airtight except the pressure sensor, which can be exposed to water or hermetic sealing can be used transfer pressure.
For this prototype, I tried to use a transparent latex balloon to waterproof the electronics.
Programming the FirmwareDownload Arduino IDE
Download the latest Arduino IDE from here. IDE version 2.1 and latest are recommended for better compatibility but any version from 1.8+ or above will work.
Arduino IDE
Select "Arduino Leonard" from
Tools > Board > Arduino AVR Board > Leonardo
The hacked 5v to 3.6v USB programming cable: The DPS368 is a 3.3v device with max 3.6v safe limit and absolute max of 4.0v. So to safely program and debug it with 5v USB of host computer, I have modified an USB cable like this :
With this cable I have connected the hardware and uploaded the firmware
Add Libraries to Arduino IDE
Following libraries are necessary for this project, please make sure you have included them in Arduino IDE. Details already available on GitHub links
U8G2 Library for Display Driver
DPS368 Library for Pressure Sensor
Next, compile and upload the code into Beetle board and get ready to test the concept.
Demo VideoHere are some quick demos showing the functionality of SwimSafe device:
While this prototype design is originally intended for visually impaired disable persons swimming safety, it can be used by not only any disable person but anyone learning swimming, children, elderly people, pregnant woman, people with seizure or neural health problems. Even healthy experienced swimmers can use it.
This is a critical life saving device which could potentially save person from drowning and dying. But it still relies on lifeguards or other swimmers to notice that someone is drowning.
An autonomous solution could an AI powered submarine robot witch could use machine learning to identify a drowning person in the swimming pool or beach and go rescue them immediately. I wish I could make such a solution reality !
The thing is, I don't have an easy access to a swimming pool where I can test it properly. I also need these : π οΈ, π§ , π°, π€ to fully try out all the ideas I have discussed here.
Comments