FriendlyELEC NanoPi Zero2 is one of the world’s smallest Arm Linux computers with the 45x45mm board featuring a Rockchip RK3528A quad-core Cortex-A53 processor, up to 2GB RAM, microSD and eMMC flash module sockets for storage, a Gigabit Ethernet RJ45 jack, an M.2 socket for WiFi, a USB Type-A port, and a 30-pin GPIO FPC connector for expansion.
When I went to find more information about the earlier NanoPi Zero, I quickly realized… it did not exist, and the closest thing we have is the ZeroPi released in 2019 with an Allwinner H3 Cortex-A7 processor and an even smaller 40x40mm form factor. The NanoPi Zero2 comes with a 64-bit processor, more memory, and optional support for an M.2 WiFi module among other improvements. It’s designed for headless applications since there’s no video output/display interface.
NanoPi Zero2 specifications:
- SoC – Rockchip RK3528A
- CPU – Quad-core ARM Cortex-A53 @ 2.0 GHz
- GPU – ARM Mali-450 GPU with support for OpenGL ES1.1, ES2.0, and OpenVG 1.1 APIs
- VPU – 4K H265/H264 60fps decoding
- System Memory – 1GB or 2GB LPDDR4/LPDDR4X
- Storage
- MicroSD card slot
- Socket for eMMC flash module
- Networking
- Gigabit Ethernet port
- Optional Wifi and Bluetooth vias M.2 Key-E 2230 module (PCIe 2.1)
- USB
- 1x USB 2.0 host Type-A port
- 1x USB 2.0 device Type-C port for eMMC upgrade
- Expansion – 30-pin FPC GPIO connector with up to 17x GPIO, 2x PWM, 2x UART, SPI, I2C, 2x I2S, SPDIF Tx, 5V, 3.3V, and GND
- Debugging – 8-pin debug UART, 3.3V level, 1,500,000 bps
- Misc
- 2x GPIO-controlled LEDs (SYS & LED1)
- 2-pin 1.27/1.25mm battery connector for low-power RTC
- RESET Button, RECOVERY Button, and MASK Button for eMMC upgrade
- Power Supply – 5V DC /2A, via USB-C connector or 2.54mm Header
- Dimensions and Weight
- PCBA – 45 x 45mm | 16.1 grams
- Metal enclosure – 49.5 x 49.5 x 25mm | 86.5 grams
- Temperature Range – 0C to 80°C
FriendlyELEC provides support for Debian 12 Core, Ubuntu 24.04, OpenMediaVault, and FriendlyWrt fork of OpenWrt 21.05 or 23.05 with all images based on Linux 6.1 LTS. You’ll find the OS images and other documentation on the wiki.
The NanoPi Zero2 SBC is sold for $18 in its basic configuration with 1GB RAM, and you can get a complete system with 2GB RAM, 32GB eMMC flash module, WiFi 5 (RTL8822CE) with two antennas, and a metal enclosure for $54 on the same page.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Another option for this would be to put an E-key 1TB SSD on it and use it for storage. Too bad there is a tiny serial flash for uboot. Instead you’d have to leave a tfCard in it to boot.
I guess you meant “too bad there is **not** a serial flash”. Another option might be the eMMC though. I was initially happy and thought this could replace my aging NanoPI-Neo2 that I’m using as a reverse proxy/mail gateway etc, until I realized that this one has no externally accessible console port AGAIN. I’m really starting to think that there’s someone in the FriendlyElec design team who wants to make sure their devices remain a pain to debug and recover from a failing boot. It’s totally amazing, they’ve been the first ones to provide very nice metal enclosures, yet they… Read more »
out of curiosity @Willy – have you tried messaging friendlyelec with your requirement – I mean after all you are not some random dude on the web but an important voice
They could add the requirement in the next revision of the SBC.
I also noticed in some circumstances armbian distro finished the kernel switch eg from legacy to edge and rebooted a board without giving user chance to check on it. And don’t know why I am the lucky one who mostly ends up with bricked system. For this cases I found essential to keep system root on microSD card even it was copied to emmc or nvme storage as backup.
Exactly. Let’s be honest, shit happens with kernel upgrades, and more commonly in the ARM world since they’re so tricky with DTB and very small details that are sensitive to tiny variations between many boards that are difficult to check before releasing. While irritating when it happens to you, all you generally want when your machine looks bricked is to be able to roll back without having to pick a screw driver or an eMMC flasher. And I agree with you that sometimes for rollback, SD is easier, but that’s a real shame! Also it allows to rollback but not… Read more »
I regularly exchange with them. Some of the ports on older boards were apparently added after my comments, and next boards dropped them… I really think that they’re putting them only upon request instead of understanding the problem it is not to have one. That is what is annoying. And that’s sad, because otherwise they’re doing really great and solid products! I don’t count the number of times I had to skip their products over the last 6-7 years just for absurdities like this, and other people I know who often need such devices to build monitoring probes or tiny… Read more »
Seems like this could be addressed with better software. I’ve made plenty of devices without consoles that could upgrade their kernels without bricking. For instance, have the bootloader detect a failed boot, or rather lack of successful boot, and after enough failures automatically switch back to old kernel. So if it doesn’t boot, just reset a few times and you’re back. And there is an external USB OTG port. Use fastboot in the bootloader to allow reflashing over USB. Then there is the SD slot. Maybe the boot ROM can give it first priority, but then fall back to emmc… Read more »
For the switch-on-multiple-failures I do that as well on appliances. But that doesn’t do everything. Sometimes you just need access to the boot loader to fix something or pass an option to the kernel, or even to capture the oops that’s stopping the boot while loading a module. Similarly it’s quite common when dealing with network configs (especially in devices you carry in your bag to use anywhere in the field) to not be able to recover access. In the past, console ports would require a DB9 connector which was taking some room and that many were already super happy… Read more »
There still the usb-c connector. The bootloader can use something like fastboot or USB MSC to allow recovery options that way, including bootloader commands.
I also see there’s a recovery button on the side. IDK if this interacts with the boot ROM, but the bootloader can surely use it to boot a recovery kernel if held down on boot.
There was one thing I really liked on the GL.iNet 6416A, it had a tiny web interface embedded in the boot loader (“pepe2k”). You would just hold the button for 6 seconds during boot and it would start it, and from which you could upload a flash image to replace everything. This is generally sufficient (and even better) for consumer devices as it allows to unbrick them and to flash already tested images that the vendor has validated on the exact same device. I’ve done that as well for many devices. However this was not the type of thing you’d… Read more »
The ZBT 5G/4G gateway I purchased has this feature as well and it is really nice, especially if you modify and flash OpenWrt much
I just unpacked a NenoPC T6. Could it be your comments have been used just for the more expensive boards? It includes a USB-C with ch341, Power button and mask key are accessible from the outside.
The R5C has the maskrom accessible, but lacks the ch341.
For the lowcost boards leaving out any spare connector lowers the resale price. And basically you are just grumbling they traded your time to lower the price. I’d say you get what you paid for (although for the R5C the ch341 + USB-C would be a nice addition).
Yeah I know it’s been available on a few models. I’d be willing to pay more to have this on smaller models. Really. Spending hours drilling holes in enclosures, finding connectors to solder and gluing modules is not worth a few dollars. The thing is, RK3588 still has very poor mainline support while RK3568 has a great one. For a router/fw I’d rather take the latter. FriendlyELEC’s enclosures are compact and well designed, and in general their devices are quite stable, which is why I look there first. And yes, I too asked for R5C+uart as well. It’s not just… Read more »
They do have the Debug UART at the edge of the board. It should have been simple to angle the pins and provide an opening in the case. Not as ideal has having a UART to USB-C like the NanoPi R6C but at least usable.
I agree, and that’s what I had done with some of their boards in the past. For others I have glued some USB adapters inside. But then you face stupid problems like the thickness of the enclosure making it difficult to establish contacts to your board, or you need to make a huge hole so that the entire connector passes through.
The full package cost as a RPI 5 2GB edition.
Of course the Pi price is for the bare board only.
Yeah, you need to count the enclosures, especially in this price range. And FriendlyELEC’s enclosures are really cool usually.
“1x USB 2.0 device Type-C port for eMMC upgrade”
What does this mean? I am trying to parse this but can’t think of how these two can be related.
It’s USB OTG and as such you can access/overwrite the internal eMMC via USB-C once you press the maskrom button.
I wonder if it’s only function is this? Or is it a standard USB OTG port with a Linux driver, that could be used for a number of things. External USB flash drive, console serial port, etc.
Standard OTG unless you press the maskrom button _while booting_. At least that’s ‘Rockchip standard’ since a decade but I haven’t dealt with anything RK3528 so far.
That’s what I’d expect. But there’s stuff like the Debug/JTAG USB port on the Espressif ESP32-C3, which is a dedicated USB peripheral that only does a USB CDC serial port. Can’t do anything else USB.
But the advantage is the driver is way simpler for it, so even the boot rom can do debug console over that USB port.
That would be because previous similar boards from FriendlyARM used the NEO naming. See for instance the RK3328 based NanoPi NEO3
The gpio flex connector looks really close to the edge of case. I wonder if there’s clearance to install a cable and fold it over the edge of the PCB around to the top side. Or if the case isn’t compatible with the gpio connector.
Also looks like there are NO gpios other than this connector!? And they don’t even sell a 30 pin FPC cable or breakout board. Which will cost about as much the board does.