Last Black Friday we finally decided to upgrade our 55” Vizio from 2016 to something newer. And after quick research we ended up with Hisense 75U65QF. But during assembly I realized that it is missing RCA connectors, and a pair of Klipsch RP-600M with Niles SI250 now just stand there. A month passed by and I finally got a chance to think on what to do with it.

Hardware

soundbox parts

Quick trip to the closet with all the hardware confirmed that I have a few unused RaspberryPis. RPi4 may be a bit overkill for what I wanted, but who’s watching.

Amazon query for raspberry pi rca hat showed a few options, and I ordered InnoMaker HiFi DAC HAT for about $30.

Software

Let’s talk software for a minute. RaspbianOS is a universal solution, and it already comes with batteries included. Let’s install and enable the service to serve as AirPlay device:

  sudo apt-get update
  sudo apt-get upgrade
  sudo apt-get install shairport-sync
  sudo systemctl start shairport-sync.service
  sudo systemctl status shairport-sync
  sudo systemctl enable shairport-sync

Important gotcha to keep in mind is to go to:

/boot/firmware/config.txt

And add this line to [all] section:

dtoverlay=allo-boss-dac-pcm512x-audio

And comment out dtoverlay in [cm5]. So the end of my file ended up looking like this:

[cm5]
#dtoverlay=dwc2,dr_mode=host

[all]
enable_uart=1
dtoverlay=allo-boss-dac-pcm512x-audio

After reboot we can confirm that our hat is available:

nick@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: BossDAC [BossDAC], device 0: Boss DAC HiFi [Master] pcm512x-hifi-0 [Boss DAC HiFi [Master] pcm512x-hifi-0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

And finally lets edit shairport config:

/etc/shairport-sync.conf

And add following values to appropriate sections:

general =
{
    name = "SoundBox";
};

alsa =
{
    output_device = "hw:BossDAC,0";
    mixer_control_name = "SoundBox";
};

Note that you can name it whatever you want. Just keep output_device as is. After reboot ensure that:

sudo systemctl status shairport-sync

Has no errors and consider software part as done.

Assembly

soundbox assembly

I 3D printed this case from @Eccodyne, and then violated it with a hot knife to make opening for RCA connectors.

Results

ios

As long as Pi exists in the same network as my iPhone now I can just go and select it as a sound device and play music.

overall