Using a Raspberry Pi Pico as a Bluetooth Audio Transmitter

Content:

With the introduction of bluetooth earbuds (such as the Apple AirPods), wireless speakers and audio systems, Bluetooth audio has become a common feature of audio-capable devices. While laptops and phones tend to include Bluetooth as standard, it is less commonly included in desktop PCs. Older audio systems may not include Bluetooth either.

Even devices with Bluetooth support are not without their limitations. Bluetooth devices need to be paired together to connect to one another, and the number of devices that can be paired at one time is often very limited.

That’s where the Raspberry Pi Pico W (or Pico 2W) comes into play.

While most Bluetooth audio solutions require proprietary hardware or complicated software setups, the Pi Pico provides a lightweight and flexible solution. It can plug directly into a USB port and transmit audio to any Bluetooth-enabled receiver—no extra adapters required. This simplicity comes with several advantages, particularly for Linux users, who often face compatibility issues with Bluetooth peripherals.

Benefits of using a Pico W include:

  • Broad compatibility: Just plug it into a USB port with basic audio support, and you’re good to go.
  • Easy versatility: It’s simple to connect the Pico to multiple devices, making it a perfect tool for a variety of setups.
  • Persistent connectivity: Once paired with a Bluetooth device, the Pico allows audio to be streamed without needing to re-pair, streamlining the user experience.

This guide will show you how you can use a Pico W/W2 as a Bluetooth audio streamer. For readability, well refer to them collectively as the Pico W thoughout the guide.

Flashing the Firmware

This functionality relies on specific firmware being flashed to the Pico W. PicoW USB Audio to Bluetooth Adapter firmware, developed by GitHub user wasdwasd0105, can be found in the GitHub repository linked below.

There’s a comprehensive README in the GitHub repository, so we’d suggest checking that out for more details. If you’re feeling adventurous, you can even download and build the source yourself.

Grab the latest release from the ‘Releases’ section. Be sure to get the correct version for your device, as the Pico W and Pico 2W have slightly different capabilities. If the latest release does not provide a version for your device, find the latest version which does.

At the time of writing, there are different versions of the firmware available, LDAC and SBC. We’d suggest giving both a try, and finding which one works best for you. You wont lose device pairing when you flash new firmware, so you can easily change the firmware later on.

Flashing this firmware to the Pico W is the same as any other. Plug the Pico W into a PC, while holding down the BOOTSEL button. The Pico W will now show up as a mass storage device on the PC. To flash the Pico W, copy the .uf2 firmware file downloaded earlier onto the Pico W. The Pico W will disconnect from the PC, and reconnect as a USB audio device once the firmware is flashed.

Connecting Devices

With the Pico W plugged in, you’ll see a new USB audio device available on your PC with a name beginning with TinyUSB. The exact name will vary depending on the firmware you are running. You’ll also notice that the LED on the Pico W is illuminated.

We’d recommend following the instructions on the GitHub page to pair your devices, as it’s possible this will change for newer firmware versions. We’ll give a brief overview below, correct as of v0.8.0.

Hold the BOOTSEL button on the Pico W for at least a second. When the button is released, the LED will begin rapidly blinking. This means the Pico W is now in pairing mode. Ensure that your wireless earbuds/headphones/audio device is in pairing mode. The two should automatically pair with one another, at which point, the LED on the Pico W will begin blinking more slowly.

No buttons to press, no options to select, it really is as simple as putting the two devices into pairing mode.

You should now hear audio playing through the paired output device. If not, ensure that you’ve selected the TinyUSB device as the audio output on your PC.

You can now plug the Pico W into any device which supports USB audio output, and begin enjoying audio through the paired output device.

Single Channel Mode

One issue we’ve encountered is that, when using only one wireless earbud, audio from the unused earbud is not rerouted to the earbud that is in use. To get around this, try using the older v0.5.1 release, which handles this correctly.

This older release shows up as a USB Audio Output device, rather than TinyUSB, so keep this in mind when choosing the output device.

We don’t recommend this though, as in our experience, we’ve found this version to be more sensitive to signal strength and more prone to stuttering playback.

Adding a Case

If you want to house your Pico W, you’ll ideally want to avoid metal cases, to prevent the Bluetooth signal from being weakened. A wide range of cheap plastic cases are available, and if you have a 3D printer, you can even have a go at printing your own. Just remember, you’ll need to access the reset button to pair new devices, so whichever case you choose needs to make this button accessible.

If you like what we do, consider supporting us on Ko-fi