My first attempt at creating functional Bluetooth Headset was rather improvised and somewhat poorly planned. After it unexpectedly brought a lot of attention and with some very useful comments from other Instructables members I've decided to make an improved version of this device with some additional features.
It took me awhile to get this project finally rolling mostly due to parts availability, but it is finally here!
The old design did not have a proper charging ability, nor did it allow to use headphones in passive wired mode. It only allowed an initial installation and was too fragile for further improvement or even simple tinkering (we'll try to fix that).
My present goals are:
Step 1: Preparations: Gathering tools and materials
The list of tools and materials will be a little longer than for original build. There will be also an additional step to prepare a PCB to house the BLK-MD-SPK unit.
Depending on which parts you already have and which distributor you get your parts from the total cost of this project may vary from as low as $10.00 to approximately $20.00 in worst case (tools not included).
PCB for this project will be made using toner-transfer technique, but any alternative(e.g. photoresist) will suffice.
Step 2: PCB
There are many ways to make a custom PCB at home. If you are an electronics enthusiast - you probably already have everything at hand. If not, you can easily purchase everything online including chemicals.
This was the first time I made a custom PCB, so I can tell from personal experience that it is very easy. The entire process takes at most 40 minutes, so if you mess something up - you can always start from square one.
I am using toner transfer method, so the list of tools and materials is composed accordingly. There are many tutorials here on instructables about making custom PCBs; I will only focus on critical moments of this process.
You can also check out my detailed tutorial on this topic:
Making custom PCB for DIY projects
TOOLS / EQUIPMENT:
Basically the entire process consists of the following steps:
Note: do not press to hard or set the temperature too high (toner melts at ~110C)! You can damage the PCB.
Once you got this done you can start working on the etching process. Most of tutorials deal with Iron Chloride, because it is easy to acquire and cheap, yet in my case it was easier to acquire Sodium Persulfate for about half the price ($1.20 for 100g package). Another big plus of sodium persulfate is that it provides better edges and it is transparent (you can see exactly what's going on inside the etching bath).
Before you start - make sure all paths on PCB are connected. Any small flaws can be fixed with a thin black marker. Sharpie might be a bit too thick, so the best option for thin path correction is a 0.4mm marker pen, which you can get in any office supply store. Short-circuit spots can be corrected with an XActo knife, scalpel or a regular needle.
Dissolve 50g of sodium persulfate in 250ml of warm water(~40-45C). Submerse the PCB. Cook until done.
Normally the entire process takes about 20 minutes. Faster if you have a hotplate to maintain the temperature.
When etching is finished you can remove the toner with acetone and clean the PCB afterwards with a paper towel or a napkin.
Then cover the surface with soldering flux and start covering copper tracks with solder. Soldering wick is very helpful for tasks like these, because it allows to spread solder evenly, without leaving significant bumps or damaging thin copper lines with excessive heat.
You can solder a bluetooth module to PCB with either soldering iron or hot air rework station.
To make things easier I've attached EagleCAD files and PDF printout of this PCB.
Step 3: Installing volume control buttons
Elecfreaks website has a nice reference on BLK-MD-SPK module itself and even has a simple diagram on how to connect buttons. That's what we are going to use in our design.
As you can see, there are several button configurations we can use. I've decided to make a simple 3 button configuration: VOL+, VOL- and MFB(multi-functional button used for play/pause/mute).
The construction itself is very simple: I've used a leftover piece of prototyping board and three 7mm pushbuttons.The only thing you need to pay attention to is that volume and playback controls are triggered from a 1.8V source(pin 24) and MFB button is connected to VBAT(pin 12).
After that we need to drill three holes to match our buttons. The control board is then installed and firmly glued to the earpiece cover. The end result is seen on the third image. Looks nice, but we are still too far from being done.
Step 4: Final assembly
This time, in order to compensate for weight difference between left and right sides I've decided to put a battery with Li-Ion charger into the left earpiece, and the control board with bluetooth module into the right one. Pulling additional wires might be tiresome, but having your headphones constantly slide to one side during lengthy MMO session or a cool movie is much more frustrating :)
Due to the fact that this time we are also connecting 3 buttons, 2 minijack ports and a charge controller, there is gonna be a lot of things going on inside of your headset. You can see a semi-finished result on the picture above: it is going to get a lot worse! It is almost impossible to make a good pictures or video of this process, considering the size of the work area and the amount of connections we need to make, so I will include a detailed schematic with some annotations.
There will be 2 pairs of wires going from left to the right side: one for power and the other one for the left speaker. Optionally you can add another pair of wires for a microphone (if you are planning on using one).
A minijack for passive(wired) mode is connected directly to speaker wires, which means you have to disconnect it and turn the power switch off before charging (which is a normal thing for any battery-powered device).
Step 5: Evaluating and Testing
Connecting headphones to your phone or computer is quite easy: turn it on and start pairing, once you get the PIN pop-up, just enter "0000".
To demonstrate how everything works I've decided to make a short video, so enjoy!