FriendlyElec NanoPi R5C is a smaller version of the NanoPi R5S router with the same Rockchip RK3568 processor, but only two 2.5GbE ports and support for an internal M.2 WiFi and Bluetooth module, instead of just USB dongles for the earlier NanoPi R-series routers.
The mini router can also be used as a mini PC thanks to a built-in HDMI 2.0 video output port and two USB 3.2 ports and is offered in two versions with either 1GB RAM and 8GB eMMC flash, or 4GB RAM and 32GB storage for just $10 more.
NanoPi R5C specifications:
- SoC – Rockchip RK3568B2 quad-core Cortex-A55 processor @ up to 2.0 GHz with Arm Mali-G52 MP2 GPU, 0.8 TOPS AI accelerator, 4Kp60 H.265/H.264/VP9 video decoder, 1080p60 H.264/H.265 video encoder
- System Memory & Storage
- 1GB LPDDR4X and 8GB eMMC flash or 4GB LPDDR4X and 32GB eMMC flash
- MicroSD card socket
- Video Output – 1x HDMI 2.0 port up to 4Kp60
- Networking
- 2x 2.5GbE RJ45 ports (via 2x Realtek RTL8125BG PCIe controller) tested up to 2.30 Gbps (Rx) and 2.10 Gbps (Tx)
- WiFi and Bluetooth via M.2 Key E module (PCIe 2.1 x1 + 1x USB 2.0). Tested with RTL8822CE WiFi 5 and Bluetooth 5.0 module up to 276 Mbps (Rx) and 156 Mbps (Tx)
- USB – 2x USB 3.2 Gen 1 ports
- Debugging – 3-pin UART header
- Misc – Mask key for eMMC flash update, user button, 2-pin connector for RTC, 4x user LEDs
- Power Supply – 5V via USB Type-C
- Dimensions – PCB: 58 x 58 mm; enclosure: 62.5 x 62.5 x 29 mm
- Weight – 38 grams without the case, 170 grams with the metal enclosure and antennas
- Temperature Range – 0 to 70
Besides one lost Gigabit Ethernet port, the NanoPi R5C also does without the M.2 socket for NVMe SSD found in NanoPi R5S since the company makes use of the PCIe interface for wireless modules instead. All GPIO connectors are gone as well, and the board only supports 5V input, while its big brother would take USB PD adapters up to 12V.
FriendlyELEC provides several Linux images for the board/router, namely FriendlyWrt 22.03 64-bit based on the latest OpenWrt 22.03, Debian Buster Desktop, and FriendlyCore Lite based on Ubuntu 20.04 with all images relying on the Linux 5.10 LTS kernel. The company also supports buildroot for people wanting to roll out their own custom Linux distribution. More details can be found in the Wiki.
The NanoPi R5C router is sold on FriendlyElec’s store for $49 with 1GB RAM and 8GB storage, and $59 for the 4GB/32GB model, both shipping with the metal enclosure. The RTL8822CE WiFi and Bluetooth module (and antennas?) add $18 to the total. The company does not appear to sell the SBC separately.
Via Liliputing
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
sub-$50 is particularly cheap for an device with such specs, especially one that comes in a metal enclosure. As usual they’ve stuffed the board with as many connectors as they physically could, which is nice. And still no externally accessible serial console, but there’s HDMI as a partial compromise.
I thought you was exploring accessing serial console via usb from your previous posts discussions. Does it not work?
Also where placed on the case would you have a external serial console Willy ?
The only way that a USB console can work is if the box is actually booting properly to start with, and all you need to know is the IP address it got so you can SSH in to it.
If you need access to anything before the getty runs, like the bootloader or kernel logs, you’re out of luck, unfortunately, and need an actual serial console.
The “ideal” solution is therefore a USB-serial chip, wired up the real serial console, and exposed to the outside via USB-C or microUSB as a console port. Ideally, the device should not take power from this connection, as there would be guaranteed data loss while the USB host enumerates the chip, and connects to it and starts reading from it. This has the downside of the cost of the USB-serial chip and connector that 99% of people will never use, as well as the additional board space for the connector.
Next best is possibly a TagConnect-alike, that exposes the necessary serial lines via holes in the case (perhaps the bottom?), that can be accessed using pogo pins, and holds onto the case to stay in place. That has the advantage of being unobtrusive, low cost (for the manfacturer), etc. Even better would be a row of 0.1″ holes, and a slot on the bottom of the case “for cooling” that would also allow access to the RX/TX/Gnd lines, using e.g. a 3-pin dupont header (or jumpers). If you need the console long term, open up the case and solder your own header pins. Otherwise, perhaps a set of male jumper connectors would do a good enough job for a short term recovery.
There is a debug UART at the side of the 2.5 ETH near the USB C on top PCB side. ( see article photos ) So where should the pins best be brought out on case.
A hole with room for a plastic plug, a wire with plug on end, you self fit?
A small batch custom case or the present case, add-on?
Any suitable affordable helpful suggestions anyone?
Not ideal or elegant, but you could sacrifice one of the antennas to leave a hole open into the case and have 3 jumper wires sticking out of with is TX,RX and GND for serial. Same applies for the R6S (which lacks internal wifi hw but still has the antenna hole)
The R4S case had a screw hole for mounting, that also allows you to get some wires out for debugging.
I’ve been looking at a small circular socket that could be fitted in the antenna hole. Something like a LEMO would look really sleek. Unfortunately even the smallest LEMO sockets are 1 or 2 mm to wide (e.g. 00 series, 304 EGG is for an M7 screwhole, 7mm).
I think there are sockets out there for M5 or M6 but their offers are not as well documented and this is not my field, I kinda gave up after a while.
Small 3.5mm stereo jack work fine for serial ports and they’re easy to deal with.
The problem is that accessing it requires a screwdriver. And when you know you risk to need a screwdriver after updating a kernel… you never update it! Serial over USB allows you to regain access to the machine whose IP address you’ve lost, that’s already better than nothing. But as Rogan said, it doesn’t cover the boot loader. E.g. you can’t boot-test your freshly built kernel manally before flashing it (OK sometimes you can do kexec but even this isn’t always reliable, especially with BSP kernels).
I agree that the best alternative remains the exposed female connector into which you plug your wires. It’s already much better than nothing. But in the current situation, with everything enclosed inside the case, there isn’t any such option. And drilling a hole isn’t easy because there’s not much room left. For me the best option would be to have a few pins on the board to connect a mini-PCB featuring a CH340 that connects to USB-C and the internal Rx-Tx. If you connect that board, you get access to the serial from the USB-C. If you don’t connect it, it remains as-is. I’m fine with paying a few bucks more to have this optional board!
> all images relying on the Linux 5.10 LTS kernel
Nope, all images rely on Rockchip’s 5.10.110 BSP kernel fork that is a forward ported mess from 2.6 on and has only the version number in common with 5.10 LTS.
Mainlining efforts for RK3568 are that advanved that for the router use case using mainline 6.x is an option. Unfortunately NanoPi R5 is missing in this list but given driver support being ready in mainline all that’s needed is device-tree stuff.
They finally moved usb ports to side so two wifi-ax can be connected 🙂