NanoPi M4B Rockchip RK3399 SBC Drops the USB 3.0 Hub, Adds Bluetooth 5.0, an ADB Switch

NanoPi M4 was launched last year (2018) as a Rockchip RK3399 SBC following Raspberry Pi 3B+ form factor with 2 or 4GB DDR3 RAM, and was followed by NanoPi M4V2 this September with 4GB LPDDR4 memory, and power & recovery buttons.

FriendlyELEC has been working on yet another revision with NanoPi M4B mixing some of the features of M4 and M4V2 such as DDR3 memory and power & recovery buttons, but the biggest change is the removal of the USB 3.0 hub which allowed for four USB 3.0 port, and now the company is going native leveraging the two USB 2.0 interfaces and two USB 3.0 interfaces inside Rockchip RK3399 processor which should lower the BoM cost, and in some cases improve performance.

NanoPi M4BNanoPi M4B specifications:

  • SoC – Rockchip RK3399 big.LITTLE hexa-core processor with 2x Arm Cortex-A72 @ up to 2.0GHz, 4x Cortex-A53 @ up to 1.5GHz, a Mali-T864 GPU with support OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11, and AFBC, and a VPU with 4K VP9 and 4K 10-bit H265/H264 decoding
  • System Memory – Dual-channel 2GB DDR3
  • Storage – eMMC module socket, MicroSD card slot
  • Video Output
    • HDMI 2.0a up to 4K @ 60 Hz with HDCP 1.4/2.2 support
    • 4-Lane MIPI-DSI connector (multiplexed with 1x MIPI CSI)
  • Audio – 3.5mm headphone jack with stereo audio, HDMI digital audio output
  • Camera – One or two 4-lane MIPI-CSI connector(s) (one multiplexed with MIPI-DSI), dual ISP up to 13MP
  • Connectivity – Gigabit Ethernet, dual-band 802.11 a/b/g/n/ac WiFi 5 1T1RBluetooth 5.0 via AP6256 module, 1x IPX antenna connector
  • USB – 2x USB 3.0 ports, 2x USB 2.0 ports, 1x USB 2.0 type-C port with OTG mode and for power input
  • Expansion
    • 40-pin GPIO header with 3x 3V/1.8V I2C, up to 1x 3V UART, 1x 3V SPI, 1x SPDIF_TX, up to 8x 3V GPIOs,  1x 1.8V 8-channel I2S
    • 24-pin extension port with 2x USB 2.0 interfaces, PCIe x2, 1x PWM, Power key, IR Rx
  • Debugging – 4-pin UART header (3V 1.5Mbps)
  • Misc – Power key, recovery button, power LED, 1x user LED, 2-pin header for RTC battery, ADB switch
  • Power Supply – 5V/3A via USB-C port or GPIO header; RK808-D PMIC
  • Dimensions – 85 mm x 56 mm (8-layer PCB)
  • Temperature Range – -20°C to 70°C

RK3399 Raspberry Pi 3 SBCThe company also changed the wireless module to Ampak AP6256 which brings Bluetooth 5.0 (vs 4.1) to the board but at the cost of losing 2×2 MIMO for WiFi.  Finally, an ADB switch was added, I assume to ease Android development and firmware flashing.

There were some issues in terms of bandwidth and software compatibility with the LPDDR4 found in NanoPi M4V2, so it may explain why the company went back to DDR3 memory meaning third party OS like Armbian built Debian or Ubuntu should work out of the box, or with minimal modifications. The company will provide its own firmware images for Ubuntu Desktop 18.04 64-bit, Lubuntu 16.0432-bit, Ubuntu Core 18.04 64-bit, and Android 8. You’ll find more technical details on the Wiki.

At the time of writing, NanoPi M4B is not up for sale yet on FriendlyElec website, but I’d expect the price to be slightly lower than for NanoPi M4 (2GB) which currently sells for $50.

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 PayPal, become a Patron on Patreon, or buy review samples
Notify of
newest most voted
9 months ago

> now the company is going native leverage the … two USB 3.0 interfaces … which should … in some cases improve performance Well, in the past with RK3399 both USB3 ports shared a bandwidth limitation of 5 Gbps in total, then Tom Cubie told me a year ago there would be a kernel fix flying around allowing for both ports to achieve 5 Gbps individually. At least I haven’t seen this patch yet… and unless this is resolved no performance gain can be achieved (though other issues like limited count of endpoints couldn’t be that much of an issue… Read more »

Tom Cubie
9 months ago

Apparently Nano Pi studied the ROCK Pi 4 carefully LoL

@ tkaiser

The patch is here:

9 months ago

This patch shall be applied against rk3399-vop-clk-set.dtsi which does not exist in mainline kernel:

So is this ‘fix’ supposed to work only with Rockchip’s smelly 4.4 kernel?

Tom Cubie
9 months ago


Rockchip will bump to 4.19 for next version of product kernel.

9 months ago

I wonder whether RK mainline maintainers (Heiko?) are even aware that there is a performance difference of factor two wrt dual port USB3 usage comparing Rockchip’s BSP kernel and mainline…

9 months ago

If it’s cheaper, and not too much difference I’m all for. Only issue I see for Armbian is the bluetooth module. Simple fix, but could make the need for another buildmodel for the M4B instead of keep using the M4 images. Otherwise I think everything should work out of the box. If USB3 ports are native then no controller problems can be had. Maybe they’ll have to disable the controller driver of the M4 too not to have conflicts of some sort. The Radxa way of using the USB is the better way. I wished they kept the board color… Read more »

9 months ago

> If USB3 ports are native then no controller problems can be had.

BS. See for example (which is just another great example why Linux on ARM sucks).

> The Radxa way of using the USB is the better way.

So you completely fail to understand that NanoPi M4B is implementing USB with RK3399 exactly like Radxa’s RockPi 4?

Tom Cubie
9 months ago


Why RK3399K? RK3399K is just wider temperature(-20 to 85 °C) version of RK3399(0~ 80 °C). Maybe you want to use it outdoors 🙂 Don’t mislead by the board announced with RK3399K.

9 months ago

RK3399K would be better for overclocking, I believe the device by a larger margin for it?

Tom Cubie
9 months ago

No, RK3399K is just wider temperature. better for overclocking is OP1.