I have been thinking how I could minimize the size of my prototype and maximize the effect of it. Then, what I came up with was to make my previous bone conduction glasses to the attachable type. Fortunately, there was upcoming maker faire in 9/3/2017 after I came up with this idea so I had a chance to see people’s reactions to my new prototype.
In order to make attachable device, I needed 3d printer and some skills of 3d modeling. What I have done was to attach an amplifier PCB (middle), a battery connecter (left) and 3.5 headphone jack (right) on the top side by measuring each PCBs and calculating each positions. Of course, I could not make it only once. I failed to print a couple of times, and I remeasured, recalculated, redesigned, and reprinted many times until it fitted.
On the bottom side was very simple. It just attaches a bone conduction transducer.
In this San Jose Mini Maker Faire, I exhibited two types of my prototypes which are the bone conduction glasses and attachable bone conduction device. I wanted to get any feedback from people.
Many people came the booth I was exhibiting my bone conduction devices, and many people told me that these were awesome. Some of them who really were into these took my business card, so these reaction of people and actions really really made me happy like I was grad to make this!
Advantage and Disadvantage of the attachable bone conduction device
These are what I realized and got feedback from people during the Maker Faire.
It can attach almost any types of glasses, so the users do not have to buy the glasses itself.
It is lighter.
It can not make a balance. Either side is heavier.
I cannot tell you the detail but I am currently working on my own PCB to make device itself as lighter as I can. See you in next Maker Faire.
After testing bone conduction headphone 1.0, I had an issue which the device itself was not stable on user’s head because of the shape that I designed in Fusion 360. However, I got a hint from one of my friend. Why do not you put your prototype onto glasses? I was shocked at what I have not even thought of such a simple solution. After all, I started working on new project called Bone Conduction Sunglasses 2.0. While I am soldering new thing, one of my teachers of electrical engineering recommended me to exhibit my prototype in Maker Faire Bay Area 2017.
I did not expect the prototype accepted, but I got accepted! Therefore, I would be able to introduce my prototype in public. Thank you for everyone involved it, and Maker Faire!
There are two transducers which generate some vibrations based on the audio input from 3.5mm headphone jack.
Basically, these transducers that I am using on the bone conduction sunglasses are called surface transducers. What the surface transducers do is to vibrate any object to make sounds. As you can see on this video, sounds go outside. This is something I need to fix for next prototype.
In Maker Faire
There was a faire for makers from May 19 to 21. I also exhibit my bone conduction sunglasses in my booth. I had a desktop to explain what bone conduction is and how it works with an image.
While I was exhibiting my prototype, I met 9 deaf people. These people gave me really good feedback after they tried. In addition, I got 10 times better result than I expected. Here is the result that I got through the Maker Faire. 8 of them could hear sounds through my device. One man who had an issue of Cochlea could not hear sounds. What I got from them is sounds through the bone conduction was better than some hearing aids that they are using.
After all, I have come up with an idea to next step. I might be able to exhibit the Bone Conduction 2.1 in upcoming mini Maker Faire in San Jose. See you there!
Since I started working on many bone conduction experiments and learning the details of the bone conduction, I have finally done my first prototype of the bone conduction headphone.
Struggling with Fusion 360
First thing I did was to make the box to cover the sensitive materials because the wires I soldered were really easy to torn. In order to make the box and fix that problems, I needed to study how to use a CAD called Fusion 360. In addition, what I wanted to output from my 3D printer was the top of the box and the body of the box, so it was really difficult to make these fit perfectly. After I failed it more than 10times, I finally could make these fit!!!
・Top of box
・Body of Box
Probably my 3d design is not good enough yet, but at least, it is ok because my objective which I want these to fit perfectly was accomplished.
My 3D printer, Da Vinci Jr 1.0w, worked perfectly like this picture below. Thanks.
Bone Conduction Headphone Prototype 1.0 is DONE!!!
After I made the box for my bone conduction headphone, I got my awesome dude.
Plus my bone conduction headphone,
I feel like I should have made the flame of speakers and wires… But it will be next time!
What I will do to improve my prototype from now
・Design the better and more beautiful box, and design the flame for these two speakers.
・Design my own PCB layout to make the device lighter and smaller.
・Study deep learning (Maybe Tensorflow) to make something interesting happen.
The more things I studied about TPA2016, the further curiosity I had got such as what is going to happen what if I connect bone conduction speaker instead of a speaker. In addition, while reading the data sheet of TPA2016D2, I had been stuck on some words which were Automatic Gain Control (AGC) and Dynamic Range Compression (DRC) because I have never heard of these words before. However, these words DRC and AGC seem to be really important to know to do the further experiment like the aim of this tutorial which is the experiment of bone conduction speaker using I2C.
○About AGC and DRC
Automatic Gain Control is able to make an output signal constant despite its input signal. For example, when multiple people use a microphone at the same time, the sound input levels are different because some of them might be farther than other people, but some of them might be using the microphone closer. In this case, AGC automatically adjusts the input level and makes the output level constant. The point is, the weaker input signal is, the stronger output signal is, and the stronger input signal is, the weaker output signal is. In addition, the gain on the TPA2016D2 can be selected -28dB to +30dB. Of course, -28dB outputs a silent sound and +30dB can output a louder sound.
Dynamic Range Compression is able to prevent a clipping noise when the sound volume is extremely high by compressing the dynamic range of audio signal and speaker. In addition, DRC can automatically adjust the audio signal level for the sound range that you want.
Once you understood these words, let’s get started with bone conduction speaker using I2C experiment.
・Bone Conduction Transducer
・3.5mm Headphone Jack
・3.5mm Audio Cable
・Some Jumper Wires
Assembly the components by following this circuit diagram. Remember that the goal of this experiment is to use I2C. I2C pins on the Arduino are A4 pin (SDA) and A5 pin (SCL), so connect each pin to the pins on TPA2016.
Before you look up the code below, you should download two libraries which are wire library and TPA2016 library. (Go to Arduino IDE -> Sketch -> Include library -> Manage Libraries -> Search these libraries and download them). After restarting Arduino IDE, go to File -> Example -> then you see “Adafruit TPA2016 Library and click on it. You will get the exactly same code below.
Serial.println("TPA2016 Audio Test");
// update the gain, from -28dB up to 30dB
Serial.print("Gain = ");Serial.println(i);
Serial.println("Left On, Right off");
Serial.println("Left On, Right On");
Serial.println("Setting AGC Compression");
Serial.println("Setting Limit Level");
Serial.println("Setting AGC Attack");
Serial.println("Setting AGC Hold");
Serial.println("Setting AGC Release");
In the serial monitor, you should get this result.
TPA2016 Audio Test
Gain = -28
Gain = -27
Gain = -26
Gain = -25
Gain = -24
Gain = -23
Gain = -22
Gain = -21
Gain = -20
Gain = -19
Gain = -18
Gain = -17
Gain = -16
Gain = -15
Gain = -14
Gain = -13
Gain = -12
Gain = -11
Gain = -10
Gain = -9
Gain = -8
Gain = -7
Gain = -6
Gain = -5
Gain = -4
Gain = -3
Gain = -2
Gain = -1
Gain = 0
Gain = 1
Gain = 2
Gain = 3
Gain = 4
Gain = 5
Gain = 6
Gain = 7
Gain = 8
Gain = 9
Gain = 10
Gain = 11
Gain = 12
Gain = 13
Gain = 14
Gain = 15
Gain = 16
Gain = 17
Gain = 18
Gain = 19
Gain = 20
Gain = 21
Gain = 22
Gain = 23
Gain = 24
Gain = 25
Gain = 26
Gain = 27
Gain = 28
Gain = 29
Gain = 30
Left On, Right off
Left On, Right On
Setting AGC Compression
Setting Limit Level
Setting AGC Attack
Setting AGC Hold
Setting AGC Release
The sound from bone conduction speaker worked well! While the gain increases from -28dB to +30dB, the sound correspondingly becomes louder and when the speaker does not touch anywhere, you cannot hear any sound. Which means I2C also worked well between TPA2016 and Arduino. Pretty cool!
When I have been looking around a website called Adafruit, I could find an interesting board which made me excited and buy it immediately. Until TPA2016 ships to my home, I was googling how to use it. However, I could not find the simple tutorial which is used with Arduino, so I am trying to show you my experiment about TPA2016 with Arduino.
・TPA2016 (Stereo 2.8W Class D Audio Amplifier)
・3.5mm Stereo Headphone Jack
・3.5mm Audio Cable
・A Speaker ( 8rm, 0.5W )
・Some Jumper Wires
There are 10 pins on the TPA2016, so combine with the male headers which come with the kit from Adafruit to the 10 pins. Besides that, there are two terminal blocks in the kit, so do the same as the males headers. After all, solder them to completely connect with the TPA2016.
(The terminal blocks might not be required because it depends on what types of speaker you have. In my experiment, I use the speaker above, so there is no way itself can connect to the terminal block, so I am NOT going to use that.)
The setup looks like this. Put the TPA2016 and 3.5mm Headphone Jack on a breadboard.
I wrote the circuit diagram that is easier to see how it looks like. In this circuit diagram, the Arduino could be working as a power supply (5V).
If you can connect everything correctly, you get a similar one like the image above. Well, the phone that is being connected with the 3.5mm headphone jack was supposed to be on the image… But I took the picture by using the phone, so it is not on there.
I could make a sound through my phone, but the sound was very small and the sound quality was horrible. Do you have any advice to make this experiment better? If so, let’s discuss about this topic in the comment area.