DIY AirPlay 2 Active Subwoofer

AirPlay 2 and more bass, name a more iconic duo..

AirPlay 1 is so 2021. Can only play to one speaker? Unacceptable. We have new standards in Q4 2022. Thanks to shairport-sync and moOde’s latest update, AirPlay 2 has been liberated from Apple’s MFI and shared with all us DIYers to have a play.

The previous few sentences explained

AirPlay (referred to as AirPlay 1 retroactively once v2 was released) is the name for Apple’s old video and audio streaming protocol. To build a device (speaker, screen etc) that can receive an AirPlay stream, you’ll need to be a manufacturer and apply to become a member of Apple’s MFI program. Well, that was until the (audio portion of the) Airplay 1 protocol was reverse engineered. Since then, DIYers have been able to add Airplay 1 support to their speaker projects. The most popular project for this is shairport-sync. Many projects (eg. moOde, the software running my Table Speakers) use it. AirPlay 1 allows streaming to a single speaker but in 2018, Apple released AirPlay 2 which can stream to multiple speakers. Since then, the work has proceeded to reverse engineer AirPlay 2. A few weeks ago, shairport-sync received a really big update, AirPlay 2 support was here!

The Plan

I’ve already upgraded the hardware and software on my Table Speakers and they’re working great with AirPlay 2. There’s not enough bass though. I need a sub with AirPlay 2 so I can group it with my Table Speakers. It’s time to turn a free passive subwoofer into an AirPlay 2 Active Subwoofer!

Parts List (with costs @ 25/11/2022)

Purchased:

  1. IQaudIO DigiAMP+ – R499.90 – PiShop.
  2. Raspberry Pi Zero 2 W – R339.90 – PiShop.
  3. DC Socket 2.5×5.5×0.9Mantech KZN
  4. Chassis Mount DC PlugMantech KZN
  5. DC Socket Line in with LeadMantech KZN
  6. Lenovo 20V 90W DC Power Supply – R250 – Second hand – Gumtree
    • The power output of the amplifier scales with voltage so use the highest voltage DC power supply you can get (up to 24V) with a power output ideally > 70w.

Salvaged/Free/Old:

  1. Micro SD Card – Samsung EVO+ U1 32GB SD.
  2. Passive Subwoofer – Free Samsung PS-WTZ215 passive subwoofer.

Software Used

  1. moOde™ audio playerv8.2.2 (64 bit)
    • Use the latest version of the software available to you. Guide is based on version above.
  2. Etcher – To write the disk image to the micro SD.

Other Requirements

  1. Micro SD Card Reader
  2. Soldering Iron + Solder + Heatshrink
  3. Screwdrivers
  4. Wires for subwoofer

Hardware and Software Setup

Basic Raspberry Pi + moOde + DigiAmp+ Setup

First, cut off the plug on the laptop power supply and replace it with a 2.5×5.5×0.9 one. Then follow the steps in moOde Installation and Setup on Raspberry Pi using the DigiAMP+ as the HAT.

If you’re lucky, it’ll all just work perfectly. Unfortunately I experienced WiFi crashes with one of my new Zero 2Ws and after some debugging, this fix worked for me.

Subwoofer Setup

The plan is to move the Pi + Amp into the sub and wire it like so:

First, remove the speaker:

3Ω on sticker, 4Ω on sub, weird

Drill, wire, solder, heatshrink and mount the 12v Plug:

Superglued screws are a DIY standoff mounting method:

Pi and AMP mounted with power connected:

Last photo before closing up, speaker outputs connected:

CamillaDSP Setup

At this stage, I can play music to the Table Subwoofer and group it with my Table Speakers using AirPlay 2. The issue of course is that it’s sending all frequencies of the Right audio channel to the speaker driver and all frequencies of the Left audio channel to the speaker terminals. This is where CamillaDSP comes in:

Corrections/Clarifications can be found in a pinned comment here.

Since CamillaDSP adds a delay, these speakers are now out of sync with my other AirPlay 2 speakers. To remedy this, click m, ⚙ Configure, ▶️ Renderers, Edit under AirPlay and add a latency offset on to correct this delay. A value of -0.264 on my Table Subwoofer and Table Speakers got them to a decent not-that-echoey sync with other speakers in different rooms.

Testing + Conclusion

Ah yes, that sub-100Hz rumble is now there. The mono output is also working perfectly, handy to have for speaker testing or to easily add another matching sub if I want stereo bass. It’s a flexible, upgradeable, 35w x 2 amplified quad core Linux subwoofer that I can SSH into. And if I can get my hands on a higher quality passive sub, all the parts can easily be transplanted.

The Future

My desk setup now sounds amazing, PROJECT COMPLETED. However, having played with CamillaDSP, I’m now entering the world of audio signal processing, room correction and other fun stuff. Save me..

If you have any questions/would like to share your experience with Raspberry Pis, AirPlay 2 or DIY Audio leave a reply below. To receive an email when I publish a post, subscribe here.

(Featured image remixed from this photo)

2 thoughts on “DIY AirPlay 2 Active Subwoofer

Add yours

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑