Instructables

RaspbAIRy - the RaspberryPi-based Airplay speaker

FeaturedContest WinnerContest Winner
Picture of raspbAIRy - the RaspberryPi-based Airplay speaker
With the delivery of my second RaspberryPi I finally got the chance to start this long-planned project:

I wanted to replace my old bathroom radio with a  more contemporary device by building a network-enabled speaker. Because I'm a user of several iDevices, the idea of making the speaker AirPlay-compatible became the basis of my further work.
After some googling I discovered James Laird's amazing shairport client for Linux. The initial installation on the RasPi worked like a charm, so I decided to take the project one step further by making it wireless. With a little help from Google again and some twiddling I finally got it to work and started writing this Instructable.

Have fun reading how it all went down and maybe build your own version of the raspbAIRy.
 
Remove these adsRemove these ads by Signing Up

Step 1: Parts & Tools

This Instructable is based on the metric system and originates from Germany, thus dimensions are in millimeters and line voltage is 220V. I got most of the parts at my local electronics retailer or already had them laying around. The RasPi was ordered online at Farnell, the speaker cloth was found on eBay and the MDF was bought and already cut in width at a local hardware store.
 
  • RaspberryPi
RaspberryPi Model B with SD Card
Supported USB WiFi Adapter, like my LogiLink Nano Adapter
220V AC to 5V DC power supply
 
  • Sound
3,5W Mono Amplifier, in my case a Kemo M031N
Broadband speaker
White LED, 5mm
5x 475Ω resistors
2x 20kΩ resistors
10kΩ rotary potentiometer with knob
Power switch
Dip switch
3,5 mm audio socket and cable
220V AC to 12V DC power supply
Cable with power plug
 
  • Case
250 x 250 mm speaker cloth
1500 x 200 x 5 mm Medium Density Fibreboard (MDF)
600 x 200 mm artificial leather
Wood glue
 
  • Tools
Saw
Screwdriver and screws
Soldering iron and solder
Stapler
Other typical workshop equipment
Banana Joe19 days ago

hi Zwuckl,

i have one question to the quality of the sound. i builded a similar Box like yours. and just was wondering if your speaker makes backgrund nioses or interferenes after power on the box.

Dinobe2 months ago

I absolutely love the idea and have been thinking about this as well for a while. Was thinking of switching from Squeezebox to Sonos, but I love this solution.

Quick question: how is the (audio) output from the RPI connected to the Kemo amp? Did you use the 3,5mm² socket from the RPI with a cable or did you connect some of the pin on the RPI? (if so, which ones?)

zwuckl (author)  Dinobe2 months ago

Hi Dinobe, sorry for the late reply. The amp is connected via a soldered on 3.5mm plug that fits the standard analog audio output of the Pi.

So no magical GPIO wiring involved here...

waters993 months ago
What was the diameter of the speaker used?
mbertei4 months ago
Hi!
is compatible with ios7?

THANK YOU!!!!
zwuckl (author)  mbertei4 months ago
Hi mbertei, sorry for the late reply.
I've not tested this setup under iOS 7, but I'm quite sure that if you keep the software update it should be supported by now. Alternatively, have a look at: https://github.com/abrasive/shairport
There are some comments on iOS 7.
TexyUK4 months ago
Nice!
Any way of getting the iD3 tag information on the Pi, ie from the streaming audio?

Texy
zwuckl (author)  TexyUK4 months ago
Good thought. I'm not quite sure if there's shairport support for that. Since my built is headless I haven't really checked.
l19bal7 months ago
this looks so neat and professionally made!
amalething8 months ago
I too am really interested in a script to power on and off the amplifier. I've built a circuit with a relay by copying a tutorial over at OpenHomeAutomation (http://openhomeautomation.net/control-a-relay-from-anywhere-using-the-raspberry-pi/), but I've found no instructions on the internet on how the Pi can activate (and deactivate) the switch.
Obscuredude8 months ago
Hi - that is just what I have been looking to do for some time now. Have you managed to get it working?

PS - I currently use a separate device to detect the audio signal and switch a power relay - this works well but it would be great to be able to get rid of a box.

PPS - using Raspbian with Shairport
nickb8009 months ago
Beautiful build! I'm thinking about doing something similar, using the GPIO pins on the Raspberry Pi to control a relay which turns on (and off) the amplifier circuit, so that the amp turns on when you start streaming audio to the Pi, and off when you stop streaming
zwuckl (author)  nickb8009 months ago
Thanks! I like your idea a lot, as it would simplify the operating a lot. How would you check if there's something streaming? Do you periodically check mpc's status or is shairport itself capable of that?
louieaw10 months ago
Quick question. Trying to do a similar project. Is it necessary to have the two inputs (The RPi and Aux) on separate grounds? Why not just connect the two and have one SPDT switch?
zwuckl (author)  louieaw10 months ago
Hi.
I guess you could use common ground for both inputs and then just integrate one summing circuit after the SPDT. I did it the "complicated" way because I had all those parts laying around and needed to fresh up my soldering skills ;)
Rick Pinman11 months ago
Hi !
Thanks for your job i'm very interested into make my own one !!
But i'm pretty interested about your future plans in particular for the bluetooth support.
When will you adapt your article about that change ?
zwuckl (author)  Rick Pinman11 months ago
Hey Rick. Thanks for your interest.
Unfortunately I haven't realized the bluetooth concept to date.
I just looked around this website after reading your comment and found two promising Instructables describing this idea:

http://www.instructables.com/id/Turn-your-Raspberry-Pi-into-a-Portable-Bluetooth-A/
http://www.instructables.com/id/Bluetooth-Speakers-using-Raspberry-Pi/

If I get the time I will definitely add the bluetooth section soon...
fwonkas12 months ago
I'm basing a project on your work here and I noticed an error. In step three, where you're installing the shairport dependencies, you're missing a dash. Instead of "libio-socket inet6-perl", it should be "libio-socket-inet6-perl".

Thanks for the instructable; it's been very helpful!
zwuckl (author)  fwonkas12 months ago
I just corrected this :) Thanks for the input and good luck with your project!
R1671 year ago
Quite possibly cheaper than any other airplay speaker
legit, awesome project. I will definitely be making this when I have the time
faab1 year ago
A quick tip:
It's very easy to install a remote-desktop server.
By doing this you no longer need to plug in a screen and keyboard but you can configure your speaker remotely from your lap- or desktop.

code #sudo apt-get install tightvncserver

just install a remote desktop client on your desktop to log in on your RaspbAIRy
Windows comes standard with a client.
I use remmina on Ubuntu. works like a charm
zwuckl (author)  faab1 year ago
Great idea, thank you :)
Since the speaker is only configured via command line I chose SSH from my remote Mac. SSH-support comes naturally with Raspbian and even works when you don't know your RaspPi's IP address, simply by connecting to "raspberrypi.local".
danny1141 year ago
also on the wiring diagram the L R should not be connected to gnd
zwuckl (author)  danny1141 year ago
Thanks for your input. I corrected the diagram according to Dennis Bohn's original circuit.
danny1141 year ago
i do not have a angled jigsaw and my dad wont buy one do you think this would still work with out it
zwuckl (author)  danny1141 year ago
Hey Danny. This should definitely work aswell... The parts are tightly connected by the staples and covered by the artificial leather.
Great work, the cabinet is looks better than most manufactured ones!
PaxDesigns1 year ago
Love it! Looks great! I think I am going to use allot of this info to make an outdoor speaker!
oldmicah1 year ago
Beautiful work.. I had wondered if such a thing was possible but didn't know about the Linux client.
sisisisi251 year ago
I don't want to ruin your day but the power LED is shorted. You have to connect it to ground.
zwuckl (author)  sisisisi251 year ago
Oh my, you're absolutely right, thanks. I will have the diagram corrected by tomorrow. The actual LED is wired correctly ;)
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!