Geek Speak: NanoPi Neo, The $7.99 High Resolution Audio Endpoint
While the prices of many HiFi goods continue to go up, the prices of high tech goods continue to go down. In addition to prices going down, high tech goods almost always increase performance and features while decreasing in size for this reduced price. I wish the HiFi world was like the high tech world in this respect, but I completely understand the nature of building something by hand at the highest quality in low quantity versus building something for the lowest price at incredibly high volume in parts of the world where labor is extremely inexpensive. That may be a discussion for a different day because today is about the convergence of HiFi and high tech.
I've always recommended that people start by purchasing the least expensive products and move up the ladder until they are satisfied. It simply makes sense. Some people know they will only be satisfied with the best and possibly most expensive options while others feel rewarded by finding a the best value. Neither way is right, it's all about choice.
Before we get started with this cool new product, I want to address a misconception that some people have with CA covering items like a $7.99 audio endpoint. I've been told by some manufacturers that I shouldn't write about this stuff, it's too DIY and DIY'ers don't spend money, and that it isn't HiFi enough and that they don't like the direction of CA. I believe that type of small-minded thinking is what old-school HiFi is all about and it's something that old-school HiFi must get over if it wants to succeed in the future. CA isn't a DIY site, but we feature cool products when we seen them. Plus, these articles do wonders for bringing in a new audience to the CA community and HiFi in general. CA has a huge contingent of readers in Silicon Valley (and Australia, G'day mates) who love music, are a bit geeky, have technical aptitude, have disposable income, and would likely never have heard of most of our favorite HiFi brands without content like this that bridges the gap. Furthermore, when people purchase $7.99 audio endpoints, they need DACs to make music. Purchase five of these inexpensive endpoints for different rooms, and one will need five DACs. The money saved on endpoints can also be spent on other items such as software, music, amps, cables, loudspeakers, etc... I could go on, but I don't want to derail an otherwise cool product introduction with my rant about why products like this are good for HiFi. Either one believes it or not. The world is changing.[PRBREAK][/PRBREAK]
Anyway, using low cost components to accomplish specific tasks and using higher quality components to get one over the sonic finish line can be not only smart, but also rewarding. I've spent the last 36 hours using the new $7.99 NanoPi Neo from a company named FriendlyARM. It's not perfect, but it's well worth the price. Single and multi-zone high resolution audio from this tiny and inexpensive device isn't the height of living when it comes to sonic bliss, but it's just plain cool.
What is it? At a high level, the NanoPi Neo is a single board computer that runs Linux. The concept is the same as my favorite product of the year so far, the Sonore microRendu. The NanoPi Neo, for the purposes of the CA community, accepts audio via its Ethernet port and outputs that audio via its USB port.
On a more detailed level, the NanoPi Neo is one of, if not the, smallest quad-core ARM based single board computer. At 40mm x 40mm its size is almost laughable. it features a 1.2 GHz quad-core Cortex A7 Allwinner H3 system on a chip and comes with 256 MB of memory. A version with 512 MB of memory is also available for an extra $2. I have both versions here and so far my tests haven't revealed a single weakness that is resolved by the added memory. In other words, it's not needed as far as I know. The four main visual aspects of this board are all that most people will really care about, the 10/100 Mbps Ethernet port, USB A port, SD card slot, and micro USB power port. The NanoPi Neo requires a 5V / 2A micro USB power supply. These can be purchased from hundreds of locations online. I found a couple of them laying around my office that worked great.
Those who are a bit more geeky can take advantage of the GPIO (general-purpose input/output) pins on the board that provide 2x USB, IR, mic, line-out, SPDIF, power, UART, SPI, I2C, and PWM. There's also a four pin debug serial port header on the board for those who need full access that SSH can't provide. The optional $3.95 PSU-ONECOM can be used for TTL to RS232 connections.
As of this writing the only operating system image available for the NanoPi Neo uses Ubuntu Snappy Core and the fairly old Linux 3.4 kernel. It has been noted online that support for a newer kernel should arrive in Linux 4.7 or 4.8 in a few weeks. Why does this matter? The big issue for the CA community is better support for DACs and DSD.
The question then comes down to, how to turn this tiny single board computer into an audio endpoint? The answer isn't rocket science, but it's a bit geeky for many audiophiles. I'm not going to put full step-by-step instructions in this article, like I've done in the past for the Raspberry Pi and Beaglebone Black, but I'll give everyone the gist of what needs to happen. Please ask questions if necessary and I and the CA community will make sure everyone who wants to is able to get this up and running.
The NanoPi Neo ships with nothing for the $7.99 price. I know it's a bit misleading to say it's a $7.99 audio endpoint, but I'm using creative liberty and the fact that some people including myself will already have the other pieces needed for this puzzle.
When the NanoPi Neo arrives it isn't plug n' play. One must first download the operating system image and write it to a microSD card. I used both the Mac OS X terminal and Win32 disk imager tool on Windows to write the image to two different micro SD cards. Once the micro SD card is ready, just place it into the micro SD slot on the board and power it up.
The provided operating system image is pretty good for our purposes, but needs just a bit of fine tuning. Like most systems, it's a good idea to SSH into the board and run apt-get update and apt-get upgrade before moving forward. This will get the system up to date with the already installed software, including ALSA version 1.0.25. For some reason FriendlyARM installed the GUI framework Qt-Embedded on this system even though it has no option for a directly connected GUI. Sure one can port the GUI over a network, but let's be serious about this board. Nobody is going to do that. With Qt-Embedded, FriendlyARM starts QtE-Demo by default at system startup and uses a sizable percentage of CPU cycles. I disabled this by editing the file /etc/rc.local and commenting out /opt/QtE-Demo/run.sh&. I installed the Nano editor for this purpose as it doesn't come installed on this image by default.
The easiest audio endpoint to install and get working, and the one I've been using for the past 36 hours, is RoonBridge from Roon Labs. Installing RoonBridge on Linux is very easy. Once complete the Linux device appears within the Roon client software as an audio endpoint. All configuration is done through the Roon iOS, Android, or desktop GUI on Windows or macOS. Roon has a small list of dependencies that must be installed before RoonBridge can be installed. Fortunately the NanoPi Neo image already has the listed dependencies met. The only requirement I had to install was curl. A simple apt-get install curl command was all that was needed.
Installing RoonBridge for Arm devices is as simple as running these commands:
- curl -O http://download.roonlabs.com/builds/roonbridge-installer-linuxarmv7hf.sh
- chmod +x roonbridge-installer-linuxarmv7hf.sh
Note: It's possible to send audio to each NanoPu Neo running RoonBridge individually or grouped together for a great multi-zone experience.
NanoPi Neo - RoonBridge Results
I installed RoonBridge on both the 256 MB and 512 MB models of the NanoPi Neo. When playing 24 bit / 192 kHz uncompressed FLAC files to the 256 MB version, there was 96 MB of memory free (image). RoonBridge has a very small memory footprint that makes the $2 more expensive 512 MB version of the NanoPi Neo unnecessary for all but the biggest of big spenders and those dead set on conspicuous consumption (kidding of course). Both models of the NanoPi Neo have the same quad-core CPU. Streaming the same 24/192 music to the units caused RoonBridge (seen as mono-sgen when running the TOP command in Linux) to use about 22% of the CPU. I didn't test the network throughput maximum capabilities, but I am fairly certain that the 10/100 Mbps Ethernet port on the NanoPi Neo is plenty fast for streaming music at even the highest of high sample rates. If or when there is a problem, it's not because the Ethernet port is too slow.
Speaking of problems, for the most part everything works great, but I did find a couple issues. When playing PCM files at rates of 352.8 and higher I heard pops and ticks through my speakers at predictable intervals, every few seconds. I had one issue streaming DSD64 content to the NanoPi Neo with RoonBridge, but was unable to stream DSD at any higher rates without major stoppages during payback. Fortunately, I believe these issues can be resolved with a combination of the forthcoming kernel update to the OS and some minor OS tweaks.
Over the last 36 hours I've tested the NanoPi Neo with the Linux 3.4 kernel version of Ubuntu Snappy Core with USB interfaces / DACs from Berkeley Audio Design (Alpha USB), EMM Labs (DA2), Moon by Simaudio (Neo 380D DSD), AudioQuest (DragonFly Red, DragonFly Black) and Schiit Audio (multibit Bifrost). The Berkeley, EMM, and Moon products use XMOS USB chips, Schiit Audio uses C-Media, and Mytek uses its own USB receiver chip. As I wrote earlier, PCM up through 192 kHz works great. DSD64 worked well on the Moon Neo 380D DSD and EMM Labs DA2 but didn't work at all on the Mytek Brooklyn. Neither the Schiit nor the Berkeley support DSD at any rate. The DragonFlys worked up to their support PCM maximum sample rate of 96 kHz.
Of course every audiophile, including myself, wants to know how the tiny NanoPi Neo sounds when connected to a true HiFi system. For the most part it sounds good. The NanoPi Neo is by no means as good as the microRendu, but it's pretty good regardless of price. One downfall of the NanoPi Neo is its reliance on a micro USB power input. I have a feeling the 5V/2A power supplies I am using with these units are injecting some serious noise into my system. I've yet to see a well designed USB power supply. Again, the NanoPi Neo sounds good and may likely be all some music aficionados need to send music to another room of the house. But, you've been forewarned, the whole process of getting audio out of the NanoPi Neo is a bit geeky compared to purchasing a plug n' play off-the-shelf Ethernet to USB device.
- curl -O http://download.roonlabs.com/builds/roonbridge-installer-linuxarmv7hf.sh