Getting Started with NanoPi NEO Development Board – Ubuntu Core Firmware

NanoPi NEO is an exciting ARM Linux board due to the power it packs into its small size, and its low price starting at $7.99. It’s made by FriendlyARM, and since I’ve read some people had never heard about the company before, I’d like to point out it has been providing development boards well before the Raspberry Pi board was launched, with products such mini2440 based on a Samsung ARM9 processor introduced around year 2010. Anyway, I asked the company if they were willing to send 2 samples for review, as I plan to remove the USB & Ethernet port on one of them. Instead I got a 4 boards and accessories, so I’m going to start reviewing the board by writing a quick start guide, showing how to setup it, and check out the Ubuntu core provided by the company. If you are a fan of armbian made Debian distribution, NanoPi NEO will soon be supported too.

NanoPi NEO Pictures

So company send the parcel by DHL, and for some reasons declared an $11 value for 6 boards in the invoice, despite the board selling for respectively $7.99 and $9.99, and the two PSU-ONECOM debug boards going for $4 each… This resulted in higher custom duties than expected…

Click to Enlarge
Click to Enlarge

I opened all packages, with the board stored in anti-static bags as they should.

Click to Enlarge
Click to Enlarge

The complete package content include two NanoPi NEO 512MB RAM, two NanoPi NEO with 256MB RAM, two PSU-ONECOM debug board (which I don’t recommend, more details below), two 5V/2A power adapter and corresponding USB cables, as well as two blank 8GB micro SD cards. Each NEO board package also features a piece of paper with the specifications, and a getting started guide partially written for NanoPi-T3 (no you can’t use HDMI with NanoPi NEO), but still two useful links pointing the NEO Wiki, and Friendlyarm github account.

Click to Enlarge
Click to Enlarge

The top of the board features Ethernet, USB host, and micro USB (power) ports, as well as the micro SD slot, and I/O headers, while we’ll find the only two main ICs on the back with Allwinner H3 quad core Cortex A7 processor, and a Samsung RAM chip.

In case you wonder how to differentiate between the 512MB and 256MB version in case you buy both model, there’s a 512M RAM sticker on the former, and no sticker on the latter.

NanoPi_NEO_512MB_vs_256MB

If for some reasons, the sticker is detached, or remove, just check the back of the board for the Samsung memory part number: 2G (2 Gbit) = 256 MB, and 4G (4Gbit) = 512MB. Easy enough.

Samsung_Memory_256MB_vs_512MBNanoPi NEO can be considered a competitor of several other small ARM or MIPS Linux boards including Raspberry Pi Zero, Orange Pi One, Next Thing CHIP, and Mediatek LinkIt 7688, so I’ve taken a “family pictures” to show the respective size of the boards, and NanoPi NEO is clearly one of the smallest, and more powerful than most other board save for Orange Pi One.

Click to Enlarge
Click to Enlarge

However, it’s also much thicker than most because of its RJ45 jack, and vertical USB port.

NanoPi_NEO_Ethernet_USBI had planned to shoot a video showing how to remove the Ethernet and USB port (and possibly serial header), but I’ll probably skip it, because the company has now decided to also sell NanoPi NEO 512MB without Ethernet nor USB for $9.98 + shipping.

Getting Started with Ubuntu Core image for NanoPi NEO

So now, that we’ve checked out the hardware, it’s time to play with the board. Eventually, armbian will release an image, and it may become the preferred option, because of community support, but in the meantime, I’ll use the “Ubuntu Core + Qt Embedded” image released by the company. The instructions below are to be follow in a terminal windows in Debian, Ubuntu, or Mint operating system, but if you use Windows 10 you can flash the image with Win32DiskImager just like with a Raspberry Pi, or install Windows Subsystem for Linux, and follow the exact same procedure as in Linux.

First, you’ll need to download the image (currently nanopi-neo-core-qte-sd4g-20160704.img.zip) through mediafire, and uncompress it:


Now insert a micro SD card into your computer, and check the device name (/dev/sdX, or /dev/mmcblkpX) with lsblk command:


That step is very important. In my case, my 8GB SD card (the 3.7GB image should also work on 4GB micro SD cards) is /dev/sdb, so that’s what I’ll use. If I used /dev/sda instead, the instructions would completely wipe out my hard drive, and I’d lose all my data and OS. Anyway, let’s go ahead, and umount the SD card, and flash the image, checking the progress with pv:


The third step should take a few minutes to complete. Now we can take the micro SD card out, and insert it into the board, connect an Ethernet cable and the power, and after a few seconds (about 5 to 10 seconds). you should be able to ssh to the board with its IP address, which you can get from your router DHCP list.:


All good that was easy, and the board works out of the box. What’s not so nice is that the image is based on Ubuntu 15.10, an unsupported version of Ubuntu at this time.

Another way to connect to the board, especially if you don’t plan to use Ethernet is through the serial console. I’ve first done so using the company’s PSU-ONECOM debug board, plus a NULL modem cable, and an RS232 to USB adapter, since my computer does not have a DB9 connector.

NanoPi_NEO_RS232_Board

That’s fun, and it works, but that’s what I’d consider the old way of doing things simply because most recent computers or laptop don’t have a COM port. So instead, I’d recommend to use a standard USB to TTL, which normally cost $1 shipped, to connect to your computer, as it’s just more convenient to most people.NanoPi_NEO_USB_to_TTL_BoardSimply connect GND, Rx, and Tx to GND, Tx and Rx pins on the serial header of the board as shown below.NanoPi_NEO_Serial_Header

That’s the board output in minicom connected to /dev/ttyUSB0 with 115200 8N1 settings. In Windows, you may want to use Putty.

Let’s type some other command to find out more:


So the image is using a Linux 3.4.39 legacy kernel (mainline support should be a few weeks or months away), the rootfs size is 3.6GB with 3.0GB free (You’ll want to resize it with parted + resize2fs), and the quad core Cortex A7 processor has a maximum frequency of 1.2 GHz, instead of 1.29 GHz for boards with a different voltage regulation, but that’s OK, as the board has been mostly designed for IoT applications, and not necessarily for maximum performance. The GPIO module is compiled, but an error is generated after I load it, and now GPIOs are exported, which differs from my experience with the images I used with Orange Pi Allwinner H3 boards, where GPIOs are listed and ready to use.

Power consumption on this type of board is a topic that will require a separate post, but since I’ve been asked I’ve taken some quick measurements using a “kill-a-watt” power meter, and power consumption at idle is around 2.0 watts. Since the platform should also support standby/sleep mode, I tried it with pm-suspend:


Power consumption only dropped to 1.4 watts, and I was not able to resume by connecting a USB keyboard. So either the method I used is not correct, and suspend is not fully supported in the kernel. I’ll have to study a bit more, but obviously tips or links that could help me are welcome in comments.

Finally, I also checked whether it would be feasible to install an heatsink for people who may want to push the board to its limits.

NanoPi_NEO_HeatsinkThe Ethernet jack pins prevents to simply put some thermal paste on the processor and RAM, so you’d have to add some thermal pads on both ICs before fitting a heatsink, unless you use a smaller heatsink that does not cover the area under the RJ45 connector. There’s also no obvious way to keep the heatsink in place.

If you are interested in the board, it sells for $7.99 with 256MB RAM, and $9.98/$9.99 with 512MB RAM without/with Ethernet and USB host ports, plus shipping which normally amounts to $4 to $5 by airmail.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
40 Comments
oldest
newest
Chris
Chris
7 years ago

Great article! …. but do you know whats about CE Mark happens? I try to get information since your last article… but get no precise answer. “it is sent for CE Verification…” – for real?, how long does this take? Expectations? … Will they get CE Mark for sure? Do you have contact with FriendlyARM? It’s not possible to import them into EU a legal way without CE Mark… Are you able to get more information about that?

Brendan
Brendan
7 years ago

Hey Chris, no makings on the board for CE but the box does have the logo. I can take pictures if you like?

Chris
Chris
7 years ago

@Brendan
Thank you!


Ok, that are really great news!!!!

tkaiser
tkaiser
7 years ago

Armbian will support the boards soon (FA’s tech support said they shipped today dev samples to Igor and me). If anyone wants to play he can take the Armbian image for NanoPi M1 and use this fex file: https://github.com/igorpecovnik/lib/blob/master/config/fex/nanopineo.fex Use fex2bin to convert/save it as /boot/bin/nanopineo.bin, then do as root a cd /boot && ln -sf bin/nanopineo.bin script.bin 1 cd /boot && ln -sf bin/nanopineo.bin script.bin Also in /etc/defaults/cpufreq-utils the 240MHz value has to be adjusted to 480MHz (I made a mistake when preparing NanoPi M1 support, now FA will send this board too so we’ll provide updates next week)… Read more »

TLS
TLS
7 years ago

@Chris
As it doesn’t have Wi-Fi, why does it need CE or FCC? The power adapter does (well CE/UL), but you only have to pass EMI certification otherwise afaik.

Chris
Chris
7 years ago


I am not responsible for Laws themselfs or if they make sense but: it has to have a CE Mark and a CE Certification if you want it to import to the whole European Union… which are some small countries which may be interessted in buying…

zoobab
7 years ago

kernel 3.4.39? any mainline kernel for the h3 yet?

Deets
Deets
7 years ago

Ethernet and USB ports only worth half a penny each these days, eh?

JM
JM
7 years ago

@Deets
the descriptions says “With USB-A Port & Ehternet Port Unsoldered” so maybe the parts are included in the package, just not soldered? I don’t know.

Sander
Sander
7 years ago

(second try):

“its IP address, which you can get from your router DHCP list.:”

On Linux and MacOS you can use:

I will post an oneliner on a next, separate post.

Sander
Sander
7 years ago

The one-liner (I wish I knew how I could put in a code-block):

tkaiser
tkaiser
7 years ago

@Sander
On OS X there’s no need for arp-scan (also not included). The following works there:

No idea about FA’s OS image but at least with Armbian and a DHCP server with dynamic DNS updates simply pinging the deivce’s host name should also work directly afterwards (‘ping nanopineo’ in this case)

theguyuk
theguyuk
7 years ago

All good news and while Friendlyarm, OrangePi have got better at communicating, supplying hardware to the likes of Armbian, more board and soc makers need to up their game and join in. Armbian has the potential to be a gathering of developers, makers with a resulting blooming of a vibrant strong healthy eco system of products. What the NanoPi Neo needs next is a version where all USB ports are brought out to separate micro USB ( lower weight, packet size for postage ) Ethernet and HDMI header not fitted but brought out to a second GPIO bank , 1GB… Read more »

tkaiser
tkaiser
7 years ago

@Jean-Luc Aufranc (CNXSoft) Using Phoronix test suite to compare different boards with same SoC is pretty much a waste of time. DRAM might make a difference with some workloads (NanoPi NEO has a single bank configuration and a very conservative DRAM clockspeed — to save on energy is still my assumption) but everything else is just settings (that’s why the first Orange Pi measurements done by Michael Larabel looked so horrible) and PCB design (copper layers to spread the heat for example). My usual quick test is installing Armbian (see above for the minimal NEO adoptions currently needed), then taking… Read more »

Sander
Sander
7 years ago

@tkaiser

Cool!

This works on Linux:

mdel
mdel
7 years ago

“the company has now decided to also sell NanoPi NEO 512MB without Ethernet nor USB for $9.98” well that’s better. wait.. you mean the same board with missing connectors ? not even a microsub in place of the usb port ? i give up, someone send them an rpi zero.. At least the 1 cent price difference made me laugh a bit (and the massive heatsink too). 80c at full load with that kind of cooling is respectable but still would not make the device safe for mobile use, i’ll try to heat my lipo batteries at that temp, see… Read more »

mdel
mdel
7 years ago

@Jean-Luc Aufranc (CNXSoft) well there’s not much to it, ease of use. I look at the rpi zero or arducam and i see something i can recognize, low profile board with only low profile connectors (microusb, dsi connector, unpopulated gpios). And considering the minimal form factor of the arducam, i would say it would have been understandable if they didn’t include microusb but they did and it probably didn’t made much difference in the final board size. Granted usb is only 4 wires so it’s not that hard to solder a cable to it, although if they only leave the… Read more »

tkaiser
tkaiser
7 years ago


Currently testing FA’s OS image. If DHCP/DNS is setup correclty simply accessing ‘friendlyarm’ after initial boot should suffice to login remotely via SSH for example:

tkaiser
tkaiser
7 years ago


Nope, this is an Orange Pi PC. Agreed, I should wait for the hardware to arrive and then check again 🙂

BTW: Wasted an hour to get RPi-Monitor with all tweaks up and running with this OS images. This is way more time than adding support for a new H3 board to Armbian 🙁

tkaiser
tkaiser
7 years ago

@Jean-Luc Aufranc (CNXSoft) If you already copied armbianmonitor you can use the script for CLI based monitoring too. On other OS images than Armbian just a symlink is needed (will be created automagically when running Armbian, we try to choose the correct thermal source on all the +40 SBC we currently support): wget -O /usr/local/bin/armbianmonitor “https://raw.githubusercontent.com/igorpecovnik/lib/master/scripts/armbianmonitor/armbianmonitor” mkdir -p -m 755 /etc/armbianmonitor/datasources/ ln -s /sys/class/thermal/thermal_zone1/temp /etc/armbianmonitor/datasources/soctemp chmod 755 /usr/local/bin/armbianmonitor Looks then like this: root@FriendlyARM:~# armbianmonitor -m Stop monitoring using [ctrl]-[c] Time CPU load %cpu %sys %usr %nice %io %irq CPU 10:11:42: 1008MHz 1.02 1% 0% 0% 0% 0% 0% 43°C 10:11:47:… Read more »

tkaiser
tkaiser
7 years ago

@mdel Check this thread here how easy it is to get a H3 device that idles at RPi Zero level (being as slow as an RPi Zero) and jump to RPi 2 performance within milliseconds: http://forum.armbian.com/index.php/topic/1614-running-h3-boards-with-minimal-consumption/ Then even the unsoldered variant provides a Micro USB port (that can be used to both power the board and be used at the same time — for example to be used as g_ether network connection) and 2 more USB ports are available for easy soldering on the 12 pin header at the side (H3 has 4 real USB ports + 1 real Ethernet… Read more »

Tony
Tony
7 years ago

Hi. I have loaded this onto my SD card, but I can’t figure out how to make my TPlink TL-WN722N to work. I can see it in LSUSB but it does not load.

Can anyone point me in the right direction?
Thanks,

tkaiser
tkaiser
7 years ago

@Tony
Use Armbian, the TL-WN722N should work out of the box. Only minor modifications are needed as outlined here: http://forum.armbian.com/index.php/topic/1580-nanopi-neo/?view=getlastpost

As soon as NEO developer samples arrive here we will support the board officially (maybe with 2 images, one optimized for minimal consumption and a multi-purpose image for normal/most use cases)

Tony
Tony
7 years ago

Thanks @tkaiser – got it going – looking forward to a minimal armbian release for the neo.

tkaiser
tkaiser
7 years ago

FYI: Armbian released 2nd preview images for NEO: http://www.armbian.com/nanopi-neo/ We did a lot of testing and came to the conclusion to focus on low consumption. With new NEO settings the board does not exceed 2W consumption even in worst case conditions since we currently limit CPU clockspeed to 912 MHz to let the voltage regulator remain at the lower level which helps a lot with lowering consumption. In real world applications the performance drop is around 20-25% compared to 1200 MHz cpufreq which is negligible unless one wants to do HPC with the NEO. But then he chose the wrong… Read more »

tkaiser
tkaiser
7 years ago

As a result of finding optimal settings for the NEO and all the consumption/performance testing the last weeks we finally figured out which settings provide which savings (eg. disable Ethernet PHY in H3 –> 200 mW less, disable HDMI/GPU –> 210 mW less and so on). We added a new tool to Armbian called h3consumption that allows to adjust this stuff. On NEO not that useful since there Armbian settings are already optimized for lowest consumption possible (unfortunately NEO needs more than the other small H3 devices) but on other H3 boards huge savings are possible based on use case:… Read more »

John Gibson
7 years ago

Thanks for the baud rate info , 115200 8n1, no hardware flow control. I am planning to use this as flight controller of a micro helicopter. All other boards are too heavy. After desoldering the ethernet and usb , this nano board is half the weight of Raspberry Pi Zero. Finally it fits my weight budget for the heli.

Mal
Mal
7 years ago

Has anyone seen a Hilsch Ranques vortex tube being used for cooling these? The cold air would be quite free of any moisture, so I figured that this moving gas, being that it is a decent insulator, could be a possible static charge builder . Does anybody know of any reasons that using this type of cooling might be or is not a good idea ?

theguyuk
theguyuk
6 years ago

The NanoPi Neo Core and Core 2 and a mini shield are now available to buy on Friendlyarm store.

Димитър «Topper» Мазнеков
5 years ago

Does anybody did power suspend/standby/hibernate NanoPi NEO or NanoPi AIR ?

Khadas VIM4 SBC