A better Bluetooth Speaker

A Stereo speaker with SPDIF, analog and Bluetooth inputs and DSP

Similar projects worth following
I realized that Bluetooth-enabled speakers are either really terrible or really expensive. I want to make something respectable, versatile, and most importantly, my own. So I set off to design an easily tunable, nice-looking, unique Bluetooth speaker that packs a lot of audio in a tiny package.

I wanted something in the range of half a cubic foot or so and shallow enough to put on a decently-sized window sill or shallow bookshelf. I wanted to use separate woofers and tweeters to get the best sound quality possible in the smallest package. I wanted Bluetooth audio that supports AAC and Apt-X if possible, SPDIF, and analog inputs so I can connect multiple devices.

The core of this project is the Analog Devices ADAU1701. It's a stereo audio codec that has a nice DSP core, analog inputs and outputs, as well as digital inputs and outputs. This enabled me to go all-digital from SPDIF and Bluetooth up to the amps. No issues with determining full-scale amplitudes then!

Here's the quick once-over for some project details:


-Bluetooth audio input, capable of AAC and Apt-X transport if possible

-SPDIF input, stereo, 28kHz 24-bit

-3.5mm jack


2 tweeters, stereo

2 woofers, paired together (mono)

Why the two woofers paired together instead of rocking stereo? Well, you see my speaker cabinet design requires drivers opposing each other, front-to-back to cancel out vibrations. Plus I think it looks pretty sweet that way. I plan on driving the woofers pretty hard, so the opposing driver layout should work pretty well (hopefully).

The DSP core:

This is where the ADAU1701 and Analog Devices' Sigma Studio software really shines. I need several things for make this speaker system work: mixer, EQ, dynamic bass boost, digital crossover, volume control, and switchable inputs, both analog and digital. The ADAU1701 fits the bill perfectly. I'll talk about the DSP program in a later post.

The Box:

My speaker box, which also houses the amplifier board, will be around 6" x 12" x 6". Small enough to be inconspicuous and unintrusive, but large enough to get quite a bit of healthy bass and roomy enough to fit 2 4" woofers and 2 1" tweeters.

The Amps:

I'm using the great TPA3116D2 class-D amplifiers for a few reasons:

1) They are absolutely fantastic to lay out on a 2-layer board and require very few external components

2) They are plenty powerful (50W RMS into 4 ohms, 35W RMS into 8 ohm) and extremely efficient

3) I've used them before in different projects with great results.

I'm configuring one amp to run both tweeters in BTL mode and the other in PBTL mode and connecting both woofers in parallel. Since I am using 8-ohm drivers, I need all the voltage headroom I can get to get maximum driver excursion to get the best deep bas that is possible from a pair of 4" drivers. Also, the max power into an 8-ohm load with a 24V power supply is only 35W anyways.

So there's a quick overview. This is also my first board done with CircuitMaker, I will be providing my thoughts on that soon. I just finished the board and placed my OSHPark order ($45 for three) today.

  • 1 × ADAU1701 Analog Devices codec with DSP core. Does all the DSP magic and input muxing.
  • 2 × TPA3116D2 50W Class-D audio amplifier. Simple, powerful, and quality amp. Works best at 4 ohms.
  • 1 × WM8804 Cirrus (Wolfson) SPDIF to I2S converter
  • 1 × BC127 Bluetooth 4.0 + EDR module with I2S and AAC/AptX decoding
  • 2 × Tymphany BC25SC06-04 50W 4-ohm 1" tweeter

View all 6 components

  • Just a quick update (with errors!)

    Stiggalicious07/24/2015 at 04:44 0 comments

    Apologies those few people following this project, as I have had to take a nice vacation in Alaska. Motorcycling through that state definitely is the best way to explore the vast, untouched expanses of the world.

    Sometimes, you just have to get away from the bustling tech-filled life and enjoy the true outdoors for a week.

    Anyhoo, I got boards back, placed components on the PCB with hours of non-sober soldering, turned on the power supply, and realized it was hitting its current limit pretty quickly. No smoke, but definitely warm components. I've identified it to be somewhere near the SPDIF receiver (which is strange because I've used that same part before). Right now it pulls ~100mA, where it should be pulling only 25mA or so.

    I also noticed that I completely forgot to assign the pins to the PLL power supply on the ADAU1701. Whoops, but that's why I prototype with leaded packages!

    Modifications are on the way, but work is busy and I am moving in the next two weeks. Don't expect miracles =]

  • Have Some Pictures

    Stiggalicious06/30/2015 at 06:15 0 comments

    I've been having a little bit too much fun with OmniGraffle (which rocks, by the way for making block diagrams and simple 2D designs and such) lately, so I just posted some renderings of top/bottom/side views of this thing with some dimensions. I'm pulling the trigger now on buying the speaker components now that the board is in fab.

    Speaking of board fab, I am now 3 for 3 when it comes to automatic upgrades to Super Swift Service from OSHPark! Shameless plug for them, they are awesome and have always provided excellent-quality boards with legit ENIG finish (not the old-school tin plating which corrodes after a long time). Also with free shipping, they aren't that much more expensive than Chinese vendors and they arrive in much less time. If you're building less than 10 units, I say it's worth the extra 15-30% to get cool purple quality PCBs. And no, I don't work for or have friends that work for OSHPark, they are just a wonderful little company.

    I've found that ordering boards on a Sunday has worked out for me very well. They should ship next Monday.

    In the meantime, please have a look at my subpar drawings and comment away!

  • Update 1: Board Complete

    Stiggalicious06/29/2015 at 16:03 0 comments

    Sunday 6-28-15:

    I just finished the board and placed the order though OSHPark. Only $45 shipped for three boards!

    I've also finalized my speaker driver decision as well. Due to my limited access to tools, I wanted to be able to simply cut holes in wood with a scroll saw and mount the drivers on the outside to cover up any nonuniformities. I found some great drivers on Parts Express that will do the trick:

    Tymphany BC25SC55-04 1" Square Frame Tweeter

    Dayton Audio DS115-8 4" Designer Series Woofer Speaker

    I'll be ordering these shortly as well as a bass port. Considering I just started actually working on a schematic perhaps a week ago, this is coming along pretty quickly! Here's hoping my boards find a spot on an almost-full panel and I get a free upgrade to their super-quickturn service again...

View all 3 project logs

Enjoy this project?



Stiggalicious wrote 07/03/2015 at 18:26 point

Just posted my component list for the speakers. I'll be using the woofers up to 1500 or 2000 Hz, then afterwards the tweeters will take over. The woofers get pretty inefficient above 1kHz and after 3kHz or so they begin to fall off in frequency response.

I'll be putting the woofers in front and back and both tweeters in front. I'll have a bottom-mounted bass port.

By the way, my design was done with CircuitMaker, so I just ran my first release. The project is called DigitalAmp.

  Are you sure? yes | no

Jrshaul wrote 07/18/2017 at 09:30 point

You might want to consider placing all speakers on one side and going full stereo or switching to mid-tweeters like the Vifa TC6FC00. Two high-frequency transducers so close won't give you stereo, but it will give you comb filtering.

If you can get the gee-dee board finished (and maybe do a 2x2 stereo version...), I'll build you a box myself. 

  Are you sure? yes | no

Joel Santos wrote 07/03/2015 at 08:56 point

Just a couple of weeks ago I found an old radio in the recycling bin and I'm doing something similar. Of course, my skills aren't even close to yours, so I won't be able to design a board for mine and I have settled with a raspberry pi + DAC+AMP shield. 
Anyway, I will follow your project, I am very interested on it, maybe for "new old radio" v2.

  Are you sure? yes | no

technolomaniac wrote 06/30/2015 at 18:10 point

Ok...this is too cool!  I love the layout detail.  Keen to see the design files if you ever make them public!  Hadn't realized how capable that ADAU1701 device was.  Very cool chip, esp. for something so highly integrated.  Nice choice.  :)

  Are you sure? yes | no

gaebu wrote 06/30/2015 at 10:42 point

Which cut off frequency do you plan to use? I guess for woofers on the front and back, the maximum cut off will be around 100...200 Hz to achieve a good sound quality. But this is far to low for a tweeter. I think in this case two full range speaker instead of the tweeters would be a better choice (F.A.S.T). Or even better you put both woofers at the front. 

Your argument to cancel vibration with this front-to-back configuration is not wrong but at my opinion, if you make a strong, compact housing, either way vibrations will be at a minimum and almost not audible.

But that's just a guess, perhaps your design will sound good as it is.

  Are you sure? yes | no

Joel Santos wrote 07/03/2015 at 08:56 point

I am also interested in your choice of speakers and x-over frequencies.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates