Introduction: Air Play Speakers With Raspberry Pi and Hifi Berry Amp +

Objective of the project is to make simple Airplay enabled stereo speakers

The Speaker project is inspired from diy audio forums

I did not want to have a bulky amplifier for this build , so decided to have a raspberry pi 3 (although it is a overkill ;) ) had it laying around for some time un-used. For this build i have used hifi berry amp+ which is a decent sounding amp which fits directly on to the RPI3.

Step 1: Parts Required

Raspberry Pi3

Hifiberry amp+

2 Tang Band - W3-1053SC - 3" Full Range Driver

1 Dayton Audio soft dome tweeter

Speaker Cables

HDMI cable female to male for external display connection

USB cable ext cord to connect to RPI in case to change the IP address etc

you may also use a female to male audio cable to connect to other speakers if required.

Power Adapter

speaker driver parameters/details (from

Nominal Diameter 3"
Power Handling (RMS) 15 watts Power Handling (max) 30 watts Impedance 8 ohms Sensitivity 85 dB 1W/1m Frequency Response 100 to 18,000 Hz Voice Coil Diameter 0.875"

THIELE-SMALL PARAMETERS DC Resistance (Re) 5.98 ohms Voice Coil Inductance (Le) 0.44 mH Resonant Frequency (Fs) 100 Hz Mechanical Q (Qms) 4.77 Electromagnetic Q (Qes) 0.72 Total Q (Qts) 0.62 Compliance Equivalent Volume (Vas) 0.04 ft.³ Maximum Linear Excursion (Xmax) 1.5 mm

MATERIALS OF CONSTRUCTION Cone Material Poly Surround Material Rubber Magnet Material Neodymium

MOUNTING INFORMATION Overall Outside Diameter 3.19" Depth 2" Baffle Cutout Diameter 3" # Mounting Holes 4 OPTIMUM CABINET SIZE (DETERMINED USING BASSBOX 6 PRO HIGH FIDELITY SUGGESTION) Sealed Volume 0.06 ft.³ Sealed F3 128 Hz Vented Volume 0.1 ft.³ Vented F3 65 Hz

Tweeter parameters /details

Dayton Audio - 1" Soft Dome Neodymium Tweeter 4 Ohm

Speaker Type Tweeter Power Handling (RMS) 20 watts Power Handling (max) 40 watts Impedance 4 ohms Sensitivity 90 dB @ 2.83V/1m Frequency Response 2,500 - 20,000 Hz Voice Coil Diameter 25 mm

THIELE-SMALL PARAMETERS DC Resistance (Re) 3.2 ohms Voice Coil Inductance (Le) 0.48 mH Resonant Frequency (Fs) 1,350 Hz Mechanical Q (Qms) 3.87 Electromagnetic Q (Qes) 2.61 Total Q (Qts) 1.56 Surface Area Of Cone (Sd) 7.5 cm²

MATERIALS OF CONSTRUCTION Cone / Diaphragm Material Soft Dome Cone / Dome Diameter 1" Voice Coil Wire Material Copper Voice Coil Former Kapton® Dual Voice Coil No Magnet Material Neodymium Shielded No

MOUNTING INFORMATION Overall Outside Diameter 66 mm Overall Depth 35.9 mm Baffle Cutout Diameter 45 mm # Mounting Holes 4

you may also use any cross over circuit if needed , in the current build as of now i have used a 3 way cross over for this build , earlier in the first build i had not included the crossover.

Step 2: Box Build

I used normal MDF PLY for this build . The Box dimensions are as below :-

Height:- 8 In

length :- 20 In

Width :- 9.5 In

The speaker drivers are mounted in Centre , the box is made deeper and wider so that the inside wiring is easy to handle.

The box lid is kept mountable / removable as i wanted to upgrade the amp / raspberry pi later on.

There are three separate cabins made for the speaker as enclosures , the middle one can be used for placing the Raspberry pi along with a 12V battery if you wish to make it battery operated . I have opted not to use a battery on this build.

Step 3: Putting It All Together

The build is not yet fully completed , i will be mounting HDMI , USB and power on top of the lid .

The assembly is pretty straight forward .

Install Kodi / openelec / OSMC on the raspberry pi . If you are using openelec

I have used openelec for this build . You can install openelec or any other distribution of KODI / XBMC. I have chosen openelec as it is very fast and has very good response. You can utilize any add ons which you like on the openelec .

plug the amp+ on to the raspberry pi .

if you are using openelec , you will need to create advancedsetting.xml with the following contents

if the file is not existing you will need to create it in the following path.


in the advancedsettings.xml under network node you can have following parameters (look at the advxml.jpg)


buffermode 1

cachemembuffersize 139460608

readbufferfactor 20


the above settings are required to stream any video from online sources seamlessly.

in the audio source change the audio output to hifi berry amp + (Check screen shot)

Reboot the system.

Then , Just plug the speaker wires to the amp+ which fits on the raspberry pi.

You will have a decent air play speaker using this build , i was personally amazed to hear the output from such a small enclosure and the speaker drivers. I haven't measured the output yet , but it sounded very good.

to limit the max volume , you can use the commands below

There are 2 controls: Master and Channels. With the master control you control the overall volume while “Channels” can be used to set different volumes on the left and right channel. Note that excessive volumes can damage your speakers. Therefore it is recommend setting the volume not too high on startup.

on the command prompt/terminal give following commands

amixer sset Master 70%

amixer sset Channels 70%,70%

any comments are welcome to make the build more interesting.

Step 4: Using the Airplay Speakers

You can use any DLNA enabled app to operate from mobile or you can use software like apple itunes from your desktop to stream music / video to the speaker .

I have used bubble upnp on andriod mobile to stream music . Also you can use KORE (kodi app) as a remote to operate and control the streaming / volume etc .

There are no volume controls attached on the speaker as such . Intention is to use it hands free , all controls via mobile app.