Deciding on a SBC.

We at Rasa decided that we will use two Platforms one for Affordable
RASA Player and one for High End Reference Player. Our needs were a powerful SBC hardware with good Software stack.

Features we identified for our affordable player included

1) Powerfull Quad or higher core SBC ( 1.2 gHz or higher ) with atleast 1GB RAM.
2) Ethernet port.
3) USB port.
4) I2S Port.
5) Mature OS and Distro.
6) Good Software support.

We Evaluated the following SBCs for the RASA Player.

Allo Sparky
This had the same form factor as RPI and had good performance.
Had I2S and the RAM we required, but we were not comforable with the
maturity of the Software stack.

Orange PI (PC)
Good inexpensive boards but unsatisfactory sofware support

Banana PI
They are similar to Orange PI and use somewhat similar SOCs
from Allwinner on the low end ones.

Raspberry PI 3


We decided to go with this because it was inexpensive with
very good software support and a vibrant community. It had I2S for
connecting to DACs. Companies such as allo have good Reclockers and
DACs.
For RASA we will be using the I2S on RPI3 to drive the DAC
directly. With a custom analog section built using high quaity
discrete components. We would be using low tolerence thru hole
components for all passives. For the DAC we have selected
the PCM 5102a . There is a blog article on how we chose this
DAC here.

We Evaluated the following SBCs for the Reference Player.

Features we identified for our High End player included

1) Powerfull Quad or Octa Core SBC ( 1.6 gHz or higher ) with atleast 2GB RAM.
2) Ethernet port.
3) USB port.
4) I2S Port (Optional).
5) Mature OS and Distro.
6) Good Software support.

 

BananaPI M3

We decided to go with this because it had an Octacore chip
with 2GB ram. The cores automatically throttle down when not in use
but do get very hot when you push them. We had to comeup with a good
heat sink to allow all the cores of the M3 to run at full speed for
long times. If the heat sink was not adequete, the cores would hit the
thermal protection and scaled down their speed (clock frequency).

When we used it continually we started noticing issues like boot problems when USB DAC is inserted .

Getting to compile the kernel was painfull to say the least.
The compiled kernel will not boot , so after contless hours of researching
we found that you have to use an older version of GCC to compile.
The GCC that comes with the SDK wont do.

RPI3
Not enough horsepower to run our Remote Browser Player.

Intel Atom Motherboards.
Too big and too power hungry , would require a ATX SMPS
or noisy DC to DC converters.

Intel NUC Board

We finally decided to use this since it was compact and easy to power.

In the player we decided to use the USB to I2S XMOS solution.
As XMOS reclocks the data based on the sample rate (44.1 or 48) we found
this to be a better solution than to use I2S directly from the SBC. We
use high quality clocks on the XMOS board to ensure very low jitter.