TechTalk: Using the HiFiBerry sound card with other SBC’s
Customers sometimes ask us if they can use the HiFiBerry sound card with single-board computers (SBC’s) other than the Raspberry Pi. In most cases the answer is simply no. While some manufacturers claim their SBCs are compatible with the Pi, they are usually not. Let’s have a look what are potential causes for this.
- Physical layout
While many other SBCs use a 40-pin header exactly as the Pi, the physical layout of the board might not allow to plug the HiFiBerry sound card on to of it without interfering with other components. Large heat sinks can be a problem.
- Electrical problems
Even if you can connect the board physically, the GPIOs might use different voltages. Adding a board that uses 3.3V interface voltage as it’s used on the Pi with another SBC that only supports 1.8V interface voltage can damage this board. Boards that also power the SBC (as the Beocreate or the Amp2) might not be able to provide enough power for other SBCs.
- Interface issues
This is the most common problem: Other than PC’s bus systems, there is no standard what pins on the GPIO header support what features. It’s not like the bus you’re used from a PC were you can just plug a PCI card from manufacturer X into a PC from manufacturer Y.
The communication between the CPU and the sound card uses a protocol called “I2S”. This requires some hardware that’s usually only available on selected GPIO pins. On other SBCs that’s often not available on the same pins as on the Pi and can’t be remapped to these.
- Driver stack
Even if the GPIOs are compatible, there is more missing. While you might think it should be easy to just use the HiFiBerry driver (that is open source) with another Linux installation. In theory that’s right. You could extract the HiFiBerry Linux drivers from the official Raspberry Pi Linux and include it in other kernels. However, there’s not just a single driver. The HiFiBerry drivers depend on and underlying sound card subsystem that might not be available on other Linux kernels.
Asus’ Tinkerboard is and Intel’s UpSquared are rare examples of boards that are – at least partially – compatible. However, not all HiFiBerry boards might work and you might have to use specific distributions. You need to check directly with the manufacturer what’s the current state of the drivers as these are not maintained by us.
We’ve also heard a few success stories about other SBCs like the UpSquared and even users interfacing it with micro-controller boards like the ESP32 or even FPGA boards. While some of these might work, you should not expect this to be an easy job. Unfortunately we can’t help with projects like this, but feel free to share your experiences in our community area. We’re looking forward to your stories.
October 14, 2020