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

Orange Pi Development Boards

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.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

11
Leave a Reply

avatar
2 Comment threads
9 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
Jean-Luc Aufranc (CNXSoft)Tom CubietkaiserNicoD Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
tkaiser
Guest
tkaiser

> 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 any more by removing the hub).

Tom Cubie
Guest

Apparently Nano Pi studied the ROCK Pi 4 carefully LoL

@ tkaiser

The patch is here:

https://pastebin.com/KnKpRGGR

tkaiser
Guest
tkaiser

This patch shall be applied against rk3399-vop-clk-set.dtsi which does not exist in mainline kernel: https://github.com/torvalds/linux/tree/master/arch/arm64/boot/dts/rockchip

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

Tom Cubie
Guest

Yes.

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

tkaiser
Guest
tkaiser

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…

NicoD
Guest

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 blue. Too hard to find between all same colored boards.
Still waiting for a model with the RK3399K. I want the upgrade. Maybe Tom Cubie @ Radxa could make a RockPi4B+?
Cheers.

tkaiser
Guest
tkaiser

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

BS. See https://github.com/leez-SBC/kernel/commit/ae184efcee635e3bc705bb47c8af211684f2c0bd 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
Guest

@NicoD

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.

Member

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

Tom Cubie
Guest

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