I think we all wish the Switch was naturally capable of Bluetooth audio transmission. If only Nintendo hadn't neglected it, then I wouldn't have to do this...
This is rather quick mod for using bluetooth headphones/speaker with the Switch. Of course you can always plug in a battery-powered dongle, but this mod is invisible once installed and you never have to mess with it later.
It is inspired by the New 3DS Bluetooth mod by @EddCase.
Here's a video of it in action:
Now for all the details. I bought this transmitter because it's one of the very few out there that DOESN'T use a battery, meaning there's no power button to press every time you want to use it. It starts working as soon as you give it power. It's pretty unique in that it's all integrated on one board, whereas most transmitters use a separate Bluetooth module on a regular board.
The headphone jack and crystal are on the back. I had to remove these because they add so much thickness (the crystal is relocated to the front).
I trimmed off the edges and added a microcontroller (the black chip right next to the antenna). The microcontroller is programmed to do a couple things; it detects when a connection is made and tells the Switch there is a headset connected, and it also allows you to hold down the VOL+ and VOL- buttons on the Switch to put the transmitter in pairing mode.
Taking apart my Switch for the first was time nerve-wracking, to say the least. But I love seeing the inside of this thing. Nintendo made incredible use of the space with the way they built it... but there's no space to put a transmitter. They didn't give me anything to work with.
Originally, I planned to put the transmitter under the motherboard, in the flat space between the main processor and the USB C port. But it turns out the transmitter is too wide and way too thick to fit there.
Finding a place to draw power for the transmitter was actually difficult. There are very few power sources that offer the 5 volts or 3.3 volts that the transmitter needs, and those that do don't offer power all the time. I couldn't use 5V from the USB C port because a real USB device needs to be attached before it offers 5V. I discovered that the power source for the fan is 5V, and it's always on unless the Switch is in sleep mode or off, so it's perfect for the transmitter.
This is also where I attached 2 wires to connect the VOL+ and VOL- buttons to the microcontroller.
I found that the transmitter can sort of fit on top of the RAM, above the EMF shield. I didn't want to put it here, but I just couldn't fit it anywhere else.
The large EMF shield on the back had to be cut to accommodate the thickness of the transmitter. This isn't a great place to cut it because it is right in the middle of the path for air intake, but this is a sacrifice that must be made (unless you find a smaller transmitter).
I used a dremel sanding disk to cut this. The edges of the hole are pretty smooth after sanding. The chips on the transmitter just barely make contact with the back plastic housing when you close it, which is why the EMF shield had to be cut.
4 wires are soldered directly to the headphone jack (I couldn't solder to the motherboard because the pins are impossibly small): Left, Right, Common, and Sense. The Sense pin is what connects the microcontroller, telling the Switch when a headset is connected. This is done by pulling the Sense pin down to 0V. Some electrical tape holds the wires down.
I put more electrical tape on the edges of the transmitter so the EMF shield doesn't short any components or connections.
I relocated the antenna to the corner of the Switch where there's some space. The antenna I used is a chopped up Wii antenna. It has great range in portable mode (better than my Joy Con), but the range in docked mode is limited because the antenna is right next to the electronics in the dock.
I covered the hole I made with tape so I can hopefully improve airflow. Leaving it open would leave a really rough surface that would prevent any kind of smooth airflow.
Finally closed it back up!
The microcontroller I used is the PIC16F1503 (this one, to be exact), and the code I wrote for it is attached to this post. You can use the code by copying it into a project in MPLAB X IDE, compiling it, and programming it with a PIC Kit 3. The code contains an LED output that turns solid when a device is connected, which I didn't use in this mod.
This is rather quick mod for using bluetooth headphones/speaker with the Switch. Of course you can always plug in a battery-powered dongle, but this mod is invisible once installed and you never have to mess with it later.
It is inspired by the New 3DS Bluetooth mod by @EddCase.
Here's a video of it in action:
Now for all the details. I bought this transmitter because it's one of the very few out there that DOESN'T use a battery, meaning there's no power button to press every time you want to use it. It starts working as soon as you give it power. It's pretty unique in that it's all integrated on one board, whereas most transmitters use a separate Bluetooth module on a regular board.
The headphone jack and crystal are on the back. I had to remove these because they add so much thickness (the crystal is relocated to the front).
I trimmed off the edges and added a microcontroller (the black chip right next to the antenna). The microcontroller is programmed to do a couple things; it detects when a connection is made and tells the Switch there is a headset connected, and it also allows you to hold down the VOL+ and VOL- buttons on the Switch to put the transmitter in pairing mode.
Taking apart my Switch for the first was time nerve-wracking, to say the least. But I love seeing the inside of this thing. Nintendo made incredible use of the space with the way they built it... but there's no space to put a transmitter. They didn't give me anything to work with.
Originally, I planned to put the transmitter under the motherboard, in the flat space between the main processor and the USB C port. But it turns out the transmitter is too wide and way too thick to fit there.
Finding a place to draw power for the transmitter was actually difficult. There are very few power sources that offer the 5 volts or 3.3 volts that the transmitter needs, and those that do don't offer power all the time. I couldn't use 5V from the USB C port because a real USB device needs to be attached before it offers 5V. I discovered that the power source for the fan is 5V, and it's always on unless the Switch is in sleep mode or off, so it's perfect for the transmitter.
This is also where I attached 2 wires to connect the VOL+ and VOL- buttons to the microcontroller.
I found that the transmitter can sort of fit on top of the RAM, above the EMF shield. I didn't want to put it here, but I just couldn't fit it anywhere else.
The large EMF shield on the back had to be cut to accommodate the thickness of the transmitter. This isn't a great place to cut it because it is right in the middle of the path for air intake, but this is a sacrifice that must be made (unless you find a smaller transmitter).
I used a dremel sanding disk to cut this. The edges of the hole are pretty smooth after sanding. The chips on the transmitter just barely make contact with the back plastic housing when you close it, which is why the EMF shield had to be cut.
4 wires are soldered directly to the headphone jack (I couldn't solder to the motherboard because the pins are impossibly small): Left, Right, Common, and Sense. The Sense pin is what connects the microcontroller, telling the Switch when a headset is connected. This is done by pulling the Sense pin down to 0V. Some electrical tape holds the wires down.
I put more electrical tape on the edges of the transmitter so the EMF shield doesn't short any components or connections.
I relocated the antenna to the corner of the Switch where there's some space. The antenna I used is a chopped up Wii antenna. It has great range in portable mode (better than my Joy Con), but the range in docked mode is limited because the antenna is right next to the electronics in the dock.
I covered the hole I made with tape so I can hopefully improve airflow. Leaving it open would leave a really rough surface that would prevent any kind of smooth airflow.
Finally closed it back up!
The microcontroller I used is the PIC16F1503 (this one, to be exact), and the code I wrote for it is attached to this post. You can use the code by copying it into a project in MPLAB X IDE, compiling it, and programming it with a PIC Kit 3. The code contains an LED output that turns solid when a device is connected, which I didn't use in this mod.