In this article I’ll be taking a look at the newly released NanoPC-T4 from the friendliest SBC makers on the market. I’ll be running through the usual lineup of tests that I do, but I reckon this board deserves two articles. So, this is Part 1.
The NanoPC-T4 is yet another SBC based on the RockChip RK3399 SoC.
In the past we’ve seen the AllWinner A80, Samsung S5P6818, HiSilicon Kirin960 and others, but they are all suffering from the lack of Linux driver support, especially when it comes to graphics. However, the RK3399 is one of the better supported 8-core SoCs around.
- A DisplayPort output
- PWM controlled fan output
- Boot & recovery buttons
- 2x USB2.0 host ports
- HDMI 2.0 out
- Audio Out
- USB 3.0
- 12v 3A DC jack
- Reset button
- USB TypeC that provides another DisplayPort out, but you can’t power the board from it
- RTC battery header
- Console UART
- A second MIPI-CSI1
- As well as a MIPI-CSI2 header
- Power button
- LEDs for power and status
- WiFI & Bluetooth external antennas
- Micro SD slot
- An almost compatible Raspberry Pi GPIO header
- And some extra ADC header pins thrown in.
When I say “almost compatible” this is due to the fact that the last 14 pins have GPIOs that work on 1.8v logic levels.
In terms of semis on the board, we have …
- U19 – RTL8211E – GbE transceiver.
- U30 – AP6356S – WiFi/Bluetooth module.
- U12/U40/U41 – RT9724GQW – MoSFET switch.
- U29 – ALC5651 – Audio CODEC.
- U8 – RK808 – PMIC
- U10/U11 – RT8010GQW – RT8010/A is a high efficiency PWM step-down DC/DC converter.
- U15 – NB680GD – 26v to 3.3v/8A DC buck converter.
- U16 – NB679GD – 26v to 5v/8A DC buck converter.
- U2 – RT9193 – Battery optimized 1.8v LDO.
- U38 – SYR838PKC – DC to DC converter.
- U28 – FUSB302MPX – USB TypeC controller.
- U94 – TXS0102DCU – I2C logic level converter.
- U27/U31 – TPD4E05U06 – ESD protection.
- LPDDR3 RAM
- eMMC flash
This board is a pretty decent design. There’s an adequate amount of ESD protection and all the required PMIC control for the RockChip SoC is there.
It’s so densely packed, I doubt you’d be able to fit anything else on.
Several years back the FriendlyARM guys weren’t that good on documentation, but they have improved a huge amount since. Their wiki website has pretty much everything you need to get started and hack around with this SBC.
There’s several ways of loading up the eMMC flash with an image. I chose to use the RockChip loaded tool, which uses the USB TypeC port.
If you’re running a 64bit O/S, then you may need to install the required 32bit libraries.
upgrade_tool ul friendlydesktop-arm64/MiniLoaderAll.bin upgrade_tool di -p friendlydesktop-arm64/parameter.txt upgrade_tool di uboot friendlydesktop-arm64/uboot.img upgrade_tool di trust friendlydesktop-arm64/trust.img upgrade_tool di resource friendlydesktop-arm64/resource.img upgrade_tool di kernel friendlydesktop-arm64/kernel.img upgrade_tool di boot friendlydesktop-arm64/boot.img upgrade_tool di rootfs friendlydesktop-arm64/rootfs.img upgrade_tool RD
So, checking out a few things first…
The wall-wart that comes with the NanoPC-T4 has a pretty long cable. About a meter long and the wires themselves aren’t that thick, so there would be a fair amount of voltage drop over that length. However, I didn’t see any power issues during testing. So, they seem to have that under control.
Moving on to GPIO tests.
The RK3399 does support parallel RGB output, but not all the signals are pushed out to headers. So, unfortunately I couldn’t test my PiProjector with it.
Before I launched into the full on testing I ran a couple of simple tests just to see what to expect.
Subjective desktop tests were OK, keeping up with a full 1080p YouTube video stream. Playback of one of my H264 encoded videos was very sluggish and of course, playing back a full 4K video was as slow as a wet week.
However, playing back the demo video that came with the FriendlyARM distro was fine.
So, there’s a few things that still need to be sorted out on the software side.
So after running a battery of Phoronix tests over a week, what results did I see? You can check these results out on OpenBenchmarking.org over here and here. With a huge side-by-side comparison here and here.
GLmark2 was roughly 27 times faster than an ODROID-XU4. I couldn’t find any ARM based OpenCV tests for comparison, but the NanoPC-T4 is around 4 times slower than the nearest high-end desktop.
Memory speed tests showed it out-performing everything else on CacheBench reads, but slowing down on writes.
The NanoPC-T4 was always at the top on RAMspeed tests, occasionally being pipped by the UDOO X86.
Which the Stream benchmark showed up a similar result.
As well as the Tinymembench test, being pipped by the Jetson boards.
System tests like the Apache benchmark showed it to out-perform at least the ODROID-XU4 and was regularly beating all other SBCs except the Jetson boards.
While the Stress-NG tests showed the ODROID-XU4 coming out way on top for certain results. I really wouldn’t want to use the T4 as a desktop replacement, because it regularly appeared to be 1/10th the performance of a mid-range desktop.
Computation tests had a mixed bag of results. Mostly coming out on top, but the slow cache write speeds seem to let things down.
I was surprised with the kernel compilation results. Having 4 more cores than the Raspberry Pi should have made it much faster.
Moving on to language benchmarks, the T4 was outperfoming everything again on GoLang, especially on the all-important garbage collection test.
Perl had the same result as well as PHP and Python.
Video decoding benchmarks puts the T4 on par with the ODROID-XU4 at least.
And database benchmarks puts the T4, once again, back on top, being beaten by the Jetson SBCs.
Overall the NanoPC-T4 out-performed every SBC except for the Jetson boards. The 8cores are great to have, but we saw that the RK3399 SoC was being let down by cache write performance. So, on to power consumption.
Bear in mind that this is at 12v, so it’s a bit on the high side, even for idling.
So, clearly the SoC needed a much better heat-sink.
- PhoronixRun2Power (current)
So, the NanoPC-T4 looks like a pretty decent SBC. A little pricey, but you’re getting a fair amount of features for your money and most of the time it beats all the other SBCs out there.
On the downside:
- It’ll be a while before we see some decent stock graphics drivers, especially 3D related.
- FriendlyARM should really have given the option of powering the board from USB TypeC.
- The lack of support for smaller M.2 cards might be an issue for some.
So, that wraps up Part 1 of this review. Stay tuned for Part 2.
If you like this YouTube channel please subscribe by clicking the in-video button, or the little red "Subscribe" button in your browser or app. You can also get updates by subscribing to me on Facebook, Twitter, Google+, Pinterest, and also Tumblr.