- Find the local IP address of your Raspberry Pi (in my case 192.168.1.16):
- Install NodeJS 9. First I needed to remove the old default version of NodeJS:
- The normal way of installing NodeJS on Linux didn’t seem to work because of the particular ARM processor used on the RaspberryPi Zero, so I needed to download the armv6 binary directly and then install using these instructions:
- Add this to the bottom of .profile:
- Load the updated .profile:
- Install the airtunes Node library (I created a fork to work around a bug):
- Install and start BabelPod:
- At this point you should be able to open the BabelPod web UI from a computer or phone on your WiFi network by going to http://[raspberry_pi_ip_address]:3000/ (in my case http://192.168.1.16:3000/). Line-in should be available as an input (in my case it appeared as “USB Audio”), and your HomePod (and other local AirPlay devices) should be available as output (in my case it appeared as “Airplay: Office”).
- There are some more steps if you also want to get Bluetooth input working:
- Add this to main.conf:
- Load the updated main.conf:
- Make the Raspberry Pi discoverable via Bluetooth:
The BabelPod should now show up as “raspberrypi” when you scan for Bluetooth devices on your phone or computer (this name can be changed by opening bluetoothctl and running “system-alias BabelPod”). When you try to connect the Raspberry Pi needs to be set to trust your device. You can do this from the desktop interface, or from the terminal.
- Now you should be able to connect successfully and choose it as the audio output on your device.
- In the BabelPod web UI you should now be able to select your Bluetooth device as input and output it to your HomePod via AirPlay