Category Archives: NanoPi Neo

NanoPi NEO Air Tips, Tricks, Info

My NanoPi NEO Air arrived a few days ago, I waited until I also received a wireless antenna to go with it (Not included with the board)  I was immediately excited to try out the 8 GB eMMC built onto the board, however that proved to be a challenge to research.  Using the images provided by FriendlyElec, and their instructions, a flash could be done, but I wanted to use my preferred distro at this point, Armbian.  After some forum surfing, I determined the work had been done for me.

Step 1:  Download a copy of the Armbian image and burn it to an SD card.  Stick it in the NEO Air.

Self explanatory I think.

Step 2:  Using a USB3 port (preferably), power your NEO Air.

There is a reason for this.  The good folks at FriendlyElec made the microUSB you associate with powering the device an active USB port.  The better folks over at Armbian made that default to a USB/Serial endpoint at 115.2 kbps.

***Caution***  If you’re getting a blue heartbeat, the device needs restarted, the serial port won’t be there.

Once you have a solid green, you should see a new serial port in your device list.  Talk to it, and you’ll be able to log into your NEO Air’s command line.

Step 3:  Create Users/Housekeeping

Step 4:  as su:    “/usr/lib/nand-sata-install/”

That will stuff the image onto the eMMC.  After a few questions, like what sort of filesystem to use, it will let you know when it can be shut down.  Pull out the SD, reboot.


The eMMC is *A Lot* faster than the SD card, so that is a plus.


One last note:  The analog audio is still available, although I’m not a skilled enough soldering master to attempt it.



See the 4 small round pads up next to the camera connector?  Yep, Line Out and Microphone In live there.  This was pointed out to me by the folks over at the Armbian forums, unfortunately their webpage is having some issues at the moment, so I can’t provide the link to the info.

NanoPi NEO Music Player – The Ultra Cheap

Extra lack of options on this one, I’m going to be using the onboard DAC.  The question came up from one of my friends that wants a small music player for sleeping purposes and doesn’t need the extra bulk.

This is essentially a much easier route, very little fooling around has to happen.

This entry assumes you looked through the more elaborate one to get the I2S DAC working.  If something seems poorly explained, look there to verify.

OS Installation

Same OS, Debian-based Armbian.  Easy setup and install, no issues there.  I am assuming the reader can handle SSH.  I then installed MPD and Samba

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mpd
sudo apt-get install samba

There Is No Hard Part

Seriously.  Type in “aplay -l”, the first device will be the one you want to add to /etc/mpd.conf

MPD Configuration

Configuring MPD is quite simple, assuming you know your way around a linux command line and nano.  (I assume, if you got this far, you’re good)

The MPD config file lives in /etc/mpd.conf

As before, this is a minimalist “how to get it working” writeup.  For more details about cool stuff you can do:  MPD User Manual.

sudo nano /etc/mpd.conf

Open mpd.conf for editing.  Look around, there are a lot of things that live in there.  The only 2 we’re going to look at today are music_directory and audio_output.

The music_directory entry is straightforward, put in the path to your music on the device.  In my case, I use a central file and media server, which MPD can handle without a mount point.  In the case of a windows network drive (samba), you simply type in

music_directory "smb://ServerName/path/to/music/"

The audio_output entry is the really important one, and has some tricks.

audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"        
        mixer_type      "software"      
        format          "*:32:2"

Your settings should look like this, we’re using the default output device.  

Hardware mixer didn’t work, so I went to software.  Again, you could use no mixer, but you lose the ability to control it from clients.

So, I had trouble with the “format” line.  The driver appears to have trouble scaling inputs, so  some songs were *very* quiet.  So, like before I made MPD change them all to 32-bit and threw that at the driver.  It seems to work, but be aware it may not be ideal.

Using The Thing

Well, that was simple enough.  Now you just need to hook a plug to the audio out port on your NanoPi NEO and send that to an amplifier.  See FriendlyElec diagram below, bottom left is the callout for the line out pins.

Diagram available from FriendlyArm

Something to note:  The audio header is *not* 0.1″ spaced like all the other headers.  I had to just solder wires to it.

NanoPi NEO Music Player

No frills here, this is the cheapest Linux music player I have attempted to create, period.

That said, initial results are promising.  I do not have “Golden Ears” by any means, however the sound quality and noise levels are acceptable to me (after I figured some things out), and I am listening through a pair of Audio-Technica ATH-M50x headphones.

Continue reading NanoPi NEO Music Player

NanoPi Neo Impressions

I picked up a few NanoPi Neo boards from FriendlyElec (also known as FriendlyArm, I also have a couple Mini2440’s from the time “Before ARM SBC’s were cool”). At $7.99 USD each, they were hard to pass up. The shipping certainly was though, so I got 3 of them to make it less painful. (Twist my arm, right?).

***Update:  These are available from a US distributor now)***

So, like most Chinese boards jumping on the “Pi” train, this is powered by an Allwinner SoC. In this case it’s the Allwinner H3, a slightly above average, but underwhelming processor manual is available.  It comes packaged with either 256 or 512 MB of RAM, it’s clearly not intended to replace anyone’s high-powered server, but could be fun for hardware experimenting, or as a quick and dirty CUPS print server.

There are reports this board gets very hot, so I got the heat sink, which amusingly came with a seemingly 5mm thick thermal adhesive pad.  In my light testing so far I’ve had no temperature issues, but I haven’t gotten all four cores really humming yet either.  I may look into a more aggressive option if it needs to happen (thermal adhesive with a copper spacer comes to mind, will probably cost as much as the board).

Simple Upgrade of I/O

The board alone has only 1 traditional USB port available, however 2 are broken out via the 0.1″ header, so I took  the liberty of slapping a quick breakout board together that happily fit quite nicely.   Make sure, as always, the D+ and D- wires are the same physical lengths, or else you’ll anger the differential signal gods.

Diagram available from FriendlyArm, not my original work.

I’m not sure what else I’ll add to my little breakout, maybe a small headphone amplifier or a simple line-out to see how the on-board DAC performs, maybe some buttons and sensors.  For now I’m glad I can hook up wifi and a USB drive at the same time.

Operating Systems

So far I have run the image provided on the FriendlyElec Wiki for the NanoPi Neo (Ubuntu Core) and DietPi.  DietPi has more interesting and friendly tools preloaded for beginners, and it is likely to be supported for a while.    ***Update 2/2017*** : I have also run Armbian with great success.