Log last updated: 04/17/2017
Introduction
Since I was a kid, I’ve wished for a way to hear while in the water. As of 2016, the only waterproof hearing aid on the market is the Siemens Aquaris. Someday I would like one but for now, this is my journal of trying to figure out something more cost-effective :).
12/29/2014
Got fitted with Resound Enzo2. This hearing aid has actually been life-changing. As a Made for iPhone® product, it streams sound from my phone directly into my hearing aid’s internal microphone via Bluetooth. The external microphone can also be disabled, effectively resulting in 100% noise-cancellation. For the first time, I could Skype without having to ask my friends to constantly repeat themselves because the max volume wasn’t loud enough. I looked forward to FaceTiming my family instead of anxiously wishing I could hang up.
8/05/2016
Went tubing with my friends! I had taken out my hearing aids for tubing in a lake before, but this trip was a 3-hour trip down a lazy river. We would essentially be chilling and talking the entire time. I didn’t want to be left out so I wore my old pair from high school. I figured that if something happened to them, I’d still have the ReSounds. The trip turned out to be a blast; we tied our tubes together and played music while talking.
Image from Trinity River Vision Authority.
8/18/2016
Hatched crazy idea of using iPhone as a microphone and pairing it to waterproof Bluetooth headphones. Then I simply enclose my iPhone in a waterproof case and swim with it. I had already gotten such a case for tubing and discovered that I could still talk on the phone. That is, my phone’s internal microphone could pick up sound even in a watertight case. Of course, this idea depends on the case staying waterproof and not destroying my phone in the process.
Apps that can turn the iPhone into a microphone are many! Preliminary testing using my hearing aids as Bluetooth headphones revealed that the internal iPhone microphone is surprisingly good and can switch between near and far range. I turned off my hearing aid’s external microphone so that the only sound came from the iPhone’s internal microphone. I could hear my parents yelling my name from downstairs and hold a conversation with them in the car and at the dinner table.
Sound quality is extremely polluted. There is a lot of ambient / background noise and it is annoyingly loud. My voice also sounds disturbingly different, I can’t describe it. My parents also sound different.
Overall, results are optimistic and this idea looks possible.
8/19/2016
Research waterproof ratings. Apparently they are on an “IPX” scale from 0 (zero protection) to 8 (fully waterproof).
Level | Protection |
---|---|
6 | Can withstand water jets at 100 liters/min for 3 min |
7 | Immersion up to 1 meter for 30 minutes |
8 | Continuous immersion up to 3 meters |
Ordered a pair of IPX7 Bluetooth earbuds.
8/22/2016
Bluetooth headphones arrive. Comfortable and tightly snug in ear.
The range is fine, I can hear a “noise” when my parents are yelling my name from downstairs but the sound quality… beyond salvageable. It sharply degrades with distance, with speech intelligibility at 3 feet, but unintelligible beyond 1 meter. It is difficult to discern changes in pitch and tone. These results are puzzling considering how well this worked when I paired my hearing aid.
Further investigation shows that the iPhone is automatically using the microphone in my Bluetooth headphones instead of its own internal microphone. This seems to be the default behavior; there is no existing method to choose which microphone my phone uses. I tried several hearing algorithms: Petralax, NAL, Berger, and POGO. I generally prefer POGO, but in all cases the algorithms failed epically.
Exhaustive search for all IPX6, IPX7, and IPX8 wireless headphones without a built-in microphone. There are none.
Since trials with my hearing aid worked well, I think this should still work if I can force my phone to use its internal microphone. To be sure, I’ll repeat tests using wired earbuds.
8/23/2016
I borrowed my dad’s Apple earbuds.
Results were even better than expected! As predicted, my iPhone used its internal microphone to pick up audio and routed it through my earbuds. The sound quality was the pleasant surprise. In tests with my hearing aid, I had complained about how annoying the background noise was. Here, there was no background noise simply by virtue of the fact that I couldn’t hear it. My hearing aid is an amplifier that boosts all sound, but normal wired earbuds don’t have such a thing. The only volume control would come from the iPhone, and it turned out that the only sounds I could hear were those considerably above background noise, i.e. loud spoken audio.
My thoughts were confirmed by this test: I just need to figure out a way to remove the microphone profile from my Bluetooth headphones. That, or find waterproof wired earbuds which might be an easier task. The best wired waterproof earbuds I found (sorted by Amazon rating) are:
Product | IPX | Price | Rating |
---|---|---|---|
Travelon Headphones | 8 | $13.17 | 4.0 |
Baakyeek Headphones | 8 | $4.59 | 4.3 |
Swimbuds Black | 8 | $40.00 | 4.3 |
Waterfi SwimActive | 8 | $39.95 | 3.6 |
Avantree Hippocampus | 8 | $16.99 | 3.5 |
H2O Audio Surge | 8 | $24.99 | 3.2 |
While looking for earbuds, I found a waterproof case that has an armband and a place to plug in earbuds. It also floats! It looks like wired earbuds will be the easiest solution, but I’m still hung up on trying to make this work with Bluetooth. For now I have a couple weeks before I go anywhere so I might as well try. That brings up a new question: what is the underwater range of Bluetooth?
Preliminary Research
Bluetooth is a wireless technology standard that operates on ultra high frequency radio waves. In essence, it transmits signals through electromagnetic radiation but things get tricky when moving from air to water. Signal loss can occur through:
- transmission loss from reflection and refraction at the air/water boundary
- propagation loss due to water’s high permittivity and electrical conductivity
I think the first case shouldn’t be an issue since my headphones would already be in the water. Zeng does a survey of underwater wireless communication in seawater and finds that scattering is low at long wavelengths like RF (radio frequency), so that leaves the second case. Water’s high permittivity reduces any electric field around it, which is problematic since electromagnetic waves propagate via disturbances in the electric (and magnetic) fields.
Image from Physics Classroom
Radio frequencies like Bluetooth suffer from high attenuation - its intensity decreases sharply upon contact with water molecules. Rhodes explains this process,
Loss is largely due to the effect of conduction on the electric field component. Propagating waves continually cycle energy between the electric and magnetic fields; hence conduction leads to strong attenuation of electromagnetic propagating waves.
Saltwater has a high conductivity while freshwater has a relatively low conductivity. This means that it’ll be more challenging to engineer a hearing solution for snorkeling in the ocean compared to swimming in a lake.
It turns out that Bluetooth has virtually nil connectivity. Jiang and Georgakopoulos show that the optimum frequency for air-to-water communication is short-wave radiowaves in the 3 to 100 MHz range. In contrast, Bluetooth is almost two orders of magnitude bigger, falling under the spectrum of microwaves at 2.4 to 2.4835 GHz. Anyone who’s had a good middle school science teacher will remember that kitchen microwaves heats food by heating the water molecules, which absorbs the microwaves.
Wireless frequencies that do work underwater include sonar and NFC. Apple implemented NFC chips in iPhone 6 for Apple Pay, but have banned access by third party apps. Regardless, it’s a moot point since NFC headphones are so few and not at all waterproof. If I hope to use my phone, then Bluetooth it’ll have to be.
For my purposes, I don’t really need a big range. If I am swimming with waterproof earbuds, then that’s a max depth of one foot. I am having a REALLY hard time finding out what the underwater Bluetooth range is. You’d think this would be a common question - and it is - but I guess it is so ineffective that few sought to quantify it.
8/25/2016
Today, I spent a lot of time looking at forums for R/C submarines and… I am actually kinda appalled by how much misinformation there was. Some posters would attribute the ineffectiveness of Bluetooth to the resonant frequency of water, which is incorrect. I didn’t know anything just a few days ago, but it is problematic when veteran posters propagate incorrect information to newbies. Luckily, this is the Internet, and there is always somebody rushing to prove people wrong.
8/26/2016
Theoretical Underwater Bluetooth Range
I’m still hung up on this underwater Bluetooth range thing. I could make life easier for myself and just go with the wired earbuds but… no. I have about two weeks left of summer vacation and I PROMISED myself that I wouldn’t do any math, but here we go…
Radio frequency power is expressed in decibels. Using the formula for free-space path loss, we can calculate the maximum distance () of a wireless signal as a function of path loss (), frequency (), and the speed of light in a vacuum ():
(Actually, this isn’t a good formula, but it was my easiest starting point.) If we measure frequency in GHz instead of Hz, the equation becomes,
Rearranging the equation above to find distance, we get:
Bluetooth frequency is a known value, but what about the path loss? Jiang and Georgakopoulos look at wireless signal loss in fresh water, producing the following graph of propagation loss at various depths.
A depth of 0.5 m is, in American, 1.6 feet. Bluetooth is around 2.45 GHz and I am not looking to go deep, so the solid line at 109 Hz (or 1 GHz) is what I’m interested in. It looks like the propagation loss is about 25 dB.
Now we can substitute values into the equation above to get the theoretical distance:
Thus, our theoretical range in freshwater, without accounting for transmission loss, is 17.31 centimeters. Lloret et al. achieved Bluetooth connectivity at average depths of 16-17 cm in a swimming pool filled with freshwater. Mišković et al. found that under calm sea conditions, Bluetooth connection can be established at depths of fewer than 15 cm.
8/25/2016
Now that I have a theoretical (and empirical) distance of Bluetooth range in freshwater, it seems pretty pointless to extend the theoretical result to seawater. 15 cm is about 5.91 inches, so my head would be just under the surface of the water before I lose connectivity. This is still good for my purposes, so I’m going to go ahead with trying to modify the ActivBuds such that my phone stops using the Bluetooth microphone. That will fix the sound quality issue.
8/26/2016
Hacking Attempts
Today, I tried to hack and reprogram my Bluetooth headphones. Senso ActivBuds use Bluetooth v4.0+EDR, which stands for Enhanced Data Rate. Bluetooth devices interact with each other through “profiles,” and the profiles that Apple supports are here. It looks like my headset might have the HFP profile. Now the question is: do the headphones support the A2DP profile as with wired headphones?
To see which profiles are on my ActivBuds, I downloaded Bluetooth Explorer (in Hardware IO Tools for Xcode) and paired the ActivBuds to my laptop.
From the picture above, we see that it supports the HFP protocol (as predicted), but also A2DP Sink, which is the profile for receiving a digital-audio stream delivered from a source. Later, I realized that music streaming happens over A2DP and you can listen to music with headphones so obviously it must have supported that profile :).
After some more digging, I suspect that it has a CSR635 chip. According to its technical specs, it has a transmit power of 8 dBm and receiver sensitivity of -89 dBm. ElectronicDesign calculates wireless range using these two numbers but I don’t feel like recalculating anymore. The author does use the FSPL formula that I used, though.
From the picture above, we see the following protocols:
- AVDTP: used to stream music to stereo headsets over an L2CAP channel
- RFCOMM: generates a serial data stream
- AVCTP: used by the remote control profile to transfer AV/C commands, e.g. music control buttons
This is all I’ve found so far for today. I don’t know anything about engineering so it’s taken a lot of time reading through documentation and figuring out what to look for. I haven’t found a guide that tells you how profiles get put on Bluetooth “modules” (chips) – there might not even be one. I’m feeling pretty discouraged about being able to hack my ActivBuds.
Turn of Events
On the bright side, waterproof case showed up today! In the photo below, you can see that it is buoyed by the inflated borders. It also has a line-in for wired earbuds and they worked pretty well. Then I wondered if the iPhone would stay in A2DP profile if I plugged in my Apple earbuds while having the Senso ActivBuds paired. The answer is no.
But then all of a sudden, I heard my mom talking on the phone! While the ActivBuds were in! I paid attention and realized I could distinguish what she was saying. Until now, I had only been testing these things by listening to NPR Radio and TED Talks from my computer at max volume and it was impossible to make out anything.
This time, I was using the Petralex amplifier which actually gives you a hearing test first and then “fits” the amplification using several proprietary algorithms: Petralex, NAL, Berger, and POGO. I don’t know what the differences are but find that Berger and POGO perform best with higher pitches.
Previously, I had been using the HearYouNow app and I couldn’t understand my mom with these. However, this app performed best with the Apple earbuds. Really interesting.
Maybe I might not have to do any tweaking on the ActivBuds after all. Tomorrow morning I’m going to visit my mom’s workplace and I’m going to try the ActivBuds again with the Petralex app in real-time.
8/28/2016
Yesterday night, I went to a party and tried the ActivBuds/Petralex combo. It was actually quite good. We played board games and I could more or less keep up with the overlapping chatter. It is unclear why I can understand live human speech, but not speech from my computer.
Today, I got in touch with a hardware engineer who specializes in embedded stuff and hardware/software interactions and he cleared up a lot of things for me. (If you’re reading this, you’re great!) We discussed The Dash smart earphone that he owns, which are also IPX7. It has an Audio Transparency mode which amplifies the sounds of the ambient environment with a Master Volume setting. That was interesting, since it’s essentially what I’ve been trying to do. However, the Dash still uses the microphone internal to the Dash as the transparency feature’s signal doesn’t go to the phone over Bluetooth. Ultimately, the device has a lot of promise but doesn’t do as well on the connectivity and amplification side so I would not get it (and it’s $300).
We also discussed viable paths forward in my own project. Trying to modify the Bluetooth chip is hopeless, as the profiles are controlled by proprietary firmware. If anything, you would write a software that interfaces with the profiles that the chip supports. As a result, I am better off trying to write my own app would stream real-time audio from my iPhone’s via A2DP. Conceptually, it shouldn’t be difficult. I don’t see why streaming from a microphone to headphones is any different from streaming to a speaker and there are plenty of those apps.
There’s documentation in the iOS Developer Library with sample source code for aurioTouch. Also found Audiostream. Commercially, the RadioTunes SDK looks pretty neat. I’ve found a couple old threads, here and here. The best starting point looks like this StackOverflow question. Audiobus can send audio from one app to another to mix music.
It is 12:56 AM and I’m pretty tired right now. In the afternoon I have an appointment with my audiologist and I’m going to ask what the risks of this are to my ears.
8/29/2016
I talked to my audiologist today and she didn’t seem too concerned about my project, other than telling me to avoid prolonged exposure to more than 85 dB. It shouldn’t be difficult to build in a sound check.
A friend recommended that I reach out to professors at R.I.T. It hosts the National Technical Institute for the Deaf which is the largest technological college for the deaf and hard-of-hearing so in my friend’s words, “if there’s any group that’s doing research about this stuff, it’s them.” At the very least, they would have a better idea of the latest research, could provide me with better terminology, or lead me to someone else helpful.
8/30/2016
Today I got an email that my library books were due so I went over and wore the ActivBuds instead of my hearing aid. I’m getting more accustomed to how everything sounds (really weird, btw) and I’m going to the beach this weekend to conduct tests in saltwater. As for building my own app, well, there’s one week left of summer. Realistically, I have never built an iOS app before or written in Swift so between my job, finishing up my last year of school, and job hunting, I can’t see a prototype coming out until next summer.
For the forseeable future, my setup will be the Senso/Petralex pairing.
8/31/2016
Went to a party today and met a Physics major. We talked about some of the physics of electromagnetic waves. Haven’t really done anything on this project for a couple days.
12/03/2016
It’s been three entire months! I have bad news, good news, and great news.
Bad news: I spilled water on my laptop and didn’t get a new one until yesterday. That’s why I didn’t update for so long.
Good news: The laptop I got is the new Macbook Pro! I have been working hard all semester and my previous laptop was from 2010, so I felt like I deserved to treat myself.
Great news: The final week of summer, I did several rounds of live field tests: swimming in the pool, swimming in the beach, and swimming in the ocean. In all cases, my project was FUNCTIONAL! It was an amazing time and I went back to school on this high note.
On a whim, I had also decided to test the Swimbuds since they are wired and, as a bonus, IPX8-rated. (In comparison, the ActivBuds are IPX7.) Both products were tested in pool and ocean conditions.
Beach: Senso ActivBuds
The first trial was an afternoon at the beach with the ActivBuds. Honestly, I had been so excited for the field test that I didn’t even think about the logistics of how I would carry the iPhone while swimming. I had it in the aforementioned waterproof case and hooked it to my bikini on my hip with a carabiner, but that dragged the fabric down. It was so awkward, not to mention the fact that the maximum range was already just 17.31 cm (6.81 in) under the best of conditions so I definitely couldn’t be chest-deep and still expect to hear.
In the end, I figured that at least my head should always be above water so I fastened the case to the straps around my neck (with the case hanging on my back). Since the case was buoyant, it just floated behind my head as I waded through the water.
The next step was calibrating the amplifier. My very patient friend told random stories as I fiddled around. Unfortunately, I can’t remember the exact settings anymore but the sound took quite a bit to get used to. At close range, the amplification was enough to improve my lip reading accuracy. Twenty meters apart, I could not understand anything but could hear my friend yelling out to me.
Overall, we had swam out pretty far and the ActivBuds withstood some thirty minutes of swimming.
Pool: Swimbuds
The second trial was later that day at the pool with the Swimbuds. I hooked the case to my bikini’s neck strap and calibrated the settings with the same friend. WOW. It was a WORLD of difference! The sound quality was far clearer with the wired earbuds and I was able to comprehend my friend with almost perfect comprehension at near range (within one meter). My biggest complaints with the ActivBuds is how different things sounded. All the pitches and tones were completely “off.” With the earbuds, things sounded slightly more normal (but still different).
Ocean: Senso ActivBuds
The next day, my friend and I decided to try out snorkeling. Neither of us had done it before and this was a perfect setting to push the limits of my experiment. To recap, the ActivBuds held up with my head above water and the phone floating next to my head (yes, it’s an odd sight). With my head underwater the entire time (within the theoretical range), two questions arise.
- How does the connection hold up?
- Will the IPX7 rating hold?
Well.
For thirty minutes, my ear was:
“Connected… Disconnected… Connected… Disconnected…”
So that was a big flop. I ended up turning it off and just snorkeling in silence. On the second question, I’m listening to music with the ActivBuds as I write this post, so I can definitely attest to its build quality. Well worth the $33.97 current list price on Amazon.
Ocean: Swimbuds
We had such a blast that we went snorkeling again the following day! I brought along the Swimbuds and as expected, there were no connection issues. My head was completely submerged underwater while the phone floated along. We could not talk with the masks on so little verbal communication was needed. After a while, we found a low cave and swam inside. It was almost pitch black and I couldn’t see my friend’s face, but I heard him say, “I’m not comfortable with this.” It is exactly this kind of situation that that this whole project is meant for.
The field test results exceeded my expectations and I am so happy, but I also feel so silly that the solution was so simple. The semester ends in a few weeks and I want to try other conditions. In the preliminary field tests, my friend was the only audio source; there was no overlapping background chatter. How well would this perform under noisier conditions? Water parks, pool parties, any scenario that involves following overlapping conversations.
Last week, Jacoti Lola was demoed at the AuDacity 2016 audiology convention as a hearing assistance device that connected over Wifi technology. The reviews were promising:
In addition, 100% of Lola users who had hearing loss reported that Lola improved speech understanding, with a vast majority (86%) reporting that Lola helped “a lot.”
The company has already has a track record in this space: the Jacoti ListenApp is the first FDA registered medical device for hearing loss. Their product does not service my severity of hearing loss, but I want to try it out anyway.
4/10/2017
This update is long overdue. In my defense, I was really busy because I had an international competition to train for with my team, on top of my job and my schoolwork. Now I just have a few weeks left until the end of the semester :)!
Over winter break, my family and I went to the Caribbeans and I brought my setup along. There were two possible environments for field testing: the water park complex that my family stayed at and the deep ocean where where a sailboat took us snorkeling. To recap, the Bluetooth ActivBuds have been holding up well in normal use, with a few annoyances. The connection intermittently cuts in and out for brief periods at a time but then works fine the rest of the time. It is possible that some of the internal hardware rusted due to the snorkeling tests from the past summer. They are, after all, IPX7 and not IPX8. As a result, I used the SwimBuds for this set of field tests since they are truly IPX8.
The logistics were really annoying to deal with during the water park. It was uncomfortable having the iPhone hanging off from my bikini’s shoulder strap and the wires were frustrating to deal with. I also had to recalibrate the microphone several times while walking with my family because I didn’t have any of the presets saved. Once I set it up however, it wasn’t too bad. My family and I went a few rounds on the lazy river and I could hear my family members yelling to each other from their tubes. The intelligibility was pretty bad in the beginning as I was trying to get used to the different sounds. As I got used to it, I could start make out a few words at a time but overall my ability to distinguish speech between people on the tube was poor.
There isn’t much need to talk when snorkeling in the deep ocean. The warbles from the sound of the oceans were REALLY disorienting and I had to turn the volume way down. For the most part, I swam alongside my dad but then off in the distance, I saw my mom struggling with her mask. It seems like both my dad and my brother were too far off in the distance to hear her (and so was I, even with the Swimbuds). By the time I swam up to her, one of the guides from the sailboat had gotten to her and the three of us were all hanging onto a life tube. At that face-to-face distance, I was able to understand the entire conversation.
Overall, I am pleased that the Swimbuds continue to perform acceptably when conversation is required in close-proximity conditions. However, the logistics of having to tie a bulky case to my bikini straps is really annoying and I’m always a little bit afraid that the case will fail and damage my phone in the process. At the time of this writing, the current iPhone 7 has an IP67 rating – the same as my ActivBuds. In CNET’s field tests, the iPhone 7 seems to do OK but the iPhone 8 is rumored to be IP68 which would be a drastic upgrade. If a future upgrade of Apple AirPods sees an IP67 rating, I will have to try it out and see if the W1 chip in the AirPods results in a better connection quality.