Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

blakespot

Administrator
Original poster
Jun 4, 2000
1,373
167
Alexandria, VA
I thought some might find interest in this recent project of mine.

I have two of Apple's long-discontinued Airport Express (v1) devices that I've used over the years to stream music from my Mac or iOS devices to two different bookshelf systems in the house via WiFi and the AE's analog audio out jack. (Long-discontinued, but longer unsupported; Apple removed Airport Utility's ability to see these devices on a network many years ago, inexplicably, making configuration quite a drill involving modified, older versions of Airport Utility.) The last of these devices has finally died sometime this year (capacitor failure is a common cause here, it seems). I like to listen to Christmas music around the holidays on our Tivoli Model 2 on the bookshelf in our living room by the fire, etc. So, I started looking for an alternative device to allow me to feed analog audio (via a simple 1/8-inch headphone in jack) to my "old" but nice bookshelf systems that lack WiFi or Bluetooth input.

Asking around on Twitter, I discovered a solution involving a Raspberry Pi Zero W (smallest, cheapest Pi featuring integrated WiFi (and Bluetooth)) and a little USB "sound card".

piv800.jpg


I went with the Vilros Raspberry Pi Zero W Basic Starter Kit and the Sabrent USB External Stereo Sound Adapter for Windows and Mac (Amazon links, $35 total at time of this post). The Pi starter kit come with a case, heat-sink, adapter cables for USB and HDMI, etc. Very nice.

The software glue that binds all this together is the open source Shairport Sync from Mike Brady. It is a set of programs you can run on various flavors of Linux (including the standard Raspbian Linux distribution targeting the Pi), macOS, or as a Docker image, which emulates AirPlay v1. It allows simple playback achieving precisely what I was after, as well as grander usage scenarios including passing and displaying meta-data, audio effect processors, triggering of apps at certain events (volume up / down, pause, etc.).

Getting the hardware together and wired to a display for configuration was a simple matter. Installing Shairport Sync was, as well, in the end. When I installed the setup as a package using "apt install..." from Debian's package archive, I had issues getting the software to run automatically on boot (via systemd). I posted a question to the developer and was advised to compiled the source code locally and install it that way. This was completely straightforward and was an exercise in simply following instructions, so even if you're not a developer you can do this without issue. Once that drill was complete, the system worked perfectly -- it has solved my problem, and cheaply.

pishelf800.jpg


As an interesting anecdote about the flexibility of the setup, I am presently sitting by the fire, listing to my Christmas mix on the bookshelf system behind me as I type this post. In the configuration file that I edited as part of the setup process, I told the system to play its audio to the bookshelf input at maximum volume always, disregarding the source device's volume setting (for whatever reason). After having to stand up and walk over to adjust the volume of a song that was a bit too loud, I thought for a moment...and then SSHed from this laptop into the RPi Zero hiding behind some books on the shelf just four feet behind me and edited the config file to obey the source device's volume level. I told the Pi to reboot itself, and in a few seconds I was back listening to my music on the speakers, but with full volume control. That was pretty slick, I must say!

I intend to put two more of these devices together (just copying the already-configured microSD card volume to two new cards), one for our bedroom and one for our daughter's. I've been using this setup for a few days now and have run into zero issues.

I hope this little account helps others who may find themselves in the same situation. And, thanks to Anthony / @adx for pointing me in the right direction.


bp
 
As an Amazon Associate, MacRumors earns a commission from qualifying purchases made through links in this post.
It would be cool if you had speakers around the house and you installed this at each location and then be able to sync the music across all speakers in the house.
 
I have seen many clever solutions like this - all using airplay 1. If anyone knows of one that works with airplay 2/multi-room-audio-from-iOS like my airport express does, please let me know!
 
  • Like
Reactions: Max48
Love seeing DIY projects in action. Out of curiosity, why didn’t you go with the 2nd gen AirPort Express (looks like an Apple TV)? Prices vary, but I bought one used for $55 shipped and another used for $38 shipped (both on eBay)

Plus they support AirPlay 2 so you can stream to multiple devices.
 
any advantage vs using a regular pi that already has sound output capabilities?

Not really. I have the same thing set up on a regular Pi, but I bought an external usb sound card anyway -- even the most basic ones (as in OP) blow the Pi's built-in sound quality out of the water.
 
I’ve got a bunch of AirPlay devices around my house (mostly AirPort Expresses, new and old) but I do have a Raspberry Pi 1 chugging along in the basement hooked up to some speakers too running Shairport Sync. But, if the older AirPorts were working fine for you all these years, why not pick up a few used ones? They’re dirt cheap nowadays for the earlier models, and the newest ones, which support AirPlay 2, are coming down compared to even a year ago lately. You could probably get a lot of 3 of the older ones for $30-40 online, similar to the Pi cost.

Definitely a neat project though, thanks for sharing!
 
I’ve got a bunch of AirPlay devices around my house (mostly AirPort Expresses, new and old) but I do have a Raspberry Pi 1 chugging along in the basement hooked up to some speakers too running Shairport Sync. But, if the older AirPorts were working fine for you all these years, why not pick up a few used ones? They’re dirt cheap nowadays for the earlier models, and the newest ones, which support AirPlay 2, are coming down compared to even a year ago lately. You could probably get a lot of 3 of the older ones for $30-40 online, similar to the Pi cost.

Definitely a neat project though, thanks for sharing!
Exactly. A used 2nd gen AirPort Express isn’t much more than the $35 spent here, supports AirPlay 2 and doesn’t require complicated setup.
 
Love seeing DIY projects in action. Out of curiosity, why didn’t you go with the 2nd gen AirPort Express (looks like an Apple TV)? Prices vary, but I bought one used for $55 shipped and another used for $38 shipped (both on eBay)

Plus they support AirPlay 2 so you can stream to multiple devices.
Is it “good” Airplay 2?
ie it’s an older device, does it stay in sync well with other devices?
 
And since it’s only airplay 1, and you may want to stream to multiple points, you can use your Mac as a distribution hub with https://www.rogueamoeba.com/airfoil/mac/

Before we finally upgraded everything to airplay 2 in the house, I loved using this app and assistants.

yeah, I’m actually a little bit sad that with airplay 2 I barely use Airfoil any more, lol. Really like Rogue Amoeba’s software.
 
  • Like
Reactions: whirldy and AJACs3
Love seeing DIY projects in action. Out of curiosity, why didn’t you go with the 2nd gen AirPort Express (looks like an Apple TV)? Prices vary, but I bought one used for $55 shipped and another used for $38 shipped (both on eBay)

Plus they support AirPlay 2 so you can stream to multiple devices.
I guess capacitors are more stable on v2? Years ago Apple selfishly removed the ability for Airport Utility to even SEE the v1 Airport Express. Can it see the Apple TV-looking V2 for configuration purposes?


bp
 
I set this up with Ubuntu/old desktop. For me, the goal is for my guests to be able to stream Multi-room from their iPhone. That’s seamless with the AE 2nd gen/TvOS.
AirFoil can be a decent workaround with limitations.
First, use airfoil on a Mac to connect to all airplay speakers. Then enable the same mac as an airfoil Satellite. Now the iPhone will see your computer as a receiver and can stream to all rooms.

IMO Airplay2’s implementation of multi-room streaming is far superior and in my experience ensures audio playback for each room is at the same time and not slightly delayed, which happens with my workaround.

While I think a used AE2 off eBay is a better solution for now, I hope more attention can be brought to this project, with the hope the Airplay2 Goal can be reached.
 
  • Like
Reactions: vjl323
They have some great projects at Balena. It's a docker based remote device management platform. It takes a little while to understand how it works, the process etc. But once you have it figured out you can easily deploy any of their projects to whatever RPI device.


 
  • Like
Reactions: vjl323
Can you use this to transmit from an analog device to a HomePod? Like I have a turntable with RCA output that I would love to play across a speaker as nice as a HomePod (or a house full of HomePod minis).
 
  • Like
Reactions: vjl323 and ibran
Apple removed Airport Utility's ability to see these devices on a network many years ago, inexplicably, making configuration quite a drill involving modified, older versions of Airport Utility.)
I have an Airport Express and it shows up on the Airport Utility and also can have sound sent to it from the standard right-clicked Sound icon on the menu bar. I'm running Big Sur on an intel Mini and it works great. No mods were done at all. It also shows up an works from my Catalina and High Sierra machines as well.


Screen Shot 2020-12-13 at 11.06.00 AM.png
 
Last edited:
  • Like
Reactions: vjl323
I have always thought this would be good for rear channel surround uses but the latency would be a problem even if you got the OS or player program to output the rear channels separately so you could send them to the devices.
 
Question, wouldn’t AirFly Pro do the same? It’s about $50 and I just ordered one cause I was looking for a similar solution to turn some older Bose speakers into smart speakers
 
  • Like
Reactions: vjl323
Awesome solution. I also used to work with Airport Express for a long time. Your way is clever!
(And your hedgehog is happy too. Best regards)
 
Question, wouldn’t AirFly Pro do the same? It’s about $50 and I just ordered one cause I was looking for a similar solution to turn some older Bose speakers into smart speakers
AirFly works the opposite way, getting audio out of the device to bluetooth headphones. This sends audio wirelessly into the device.
 
The good folks over at hifiberry sell both a legit DAC (the onboard pi one is terrible), and a raspberry pi distro that’s ready to go. Their DACs have a good variety.
 
I have an Airport Express and it shows up on the Airport Utility and also can have sound sent to it from the standard right-clicked Sound icon on the menu bar. I'm running Big Sur on an intel Mini and it works great. No mods were done at all. It also shows up an works from my Catalina and High Sierra machines as well.


View attachment 1693268
You probably have the A1264 model. The earlier ones will not show up with the latest AirPort Utility. See here: https://en.wikipedia.org/wiki/AirPort_Express#Models
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.