Rockchip has created a true revolution in the SBC market with their RK3588 and RK3588S SoCs. As more and more boards adopt these chips, it’s delightful to see differences in implementation, features and software support these boards have. Today, we’re taking a look at Banana Pi’s first RK3588-based board. Not even a full month after its release, we managed to get our hands on a review copy of the BPi ARMSoM W3 board (short for ARM System-on-Module), provided to us directly by the company.
The ARMSoM W3 isn’t a traditional SBC setup, as it comprises of a carrier board and an ARMSoM core board (boards like these are usually called “modules”) — similar to NVIDIA’s Jetson devices. Currently, Banana Pi seems to list three different core boards on their website, based on the RK3309, RK3568 and RK3588 SoCs. Each of these boards has the same 45 mm x 50 mm footprint in an LGA package, making them all compatible with the same carrier board. Our review unit had the RK3588-based module soldered down, which also has 8 GB of 3733 MHz LPDDR4X RAM, 32 GB of eMMC and a power management IC for these components. By packing all of the main compute components on the core board and exposing all of the processor lanes, the carrier board has to provide only peripheral support, simplifying the design and use of custom carriers purpose-built for a given application. This isn’t a rare setup in industrial embedded computers, further proving that it was this market which Banana Pi focused on when designing the W3. Sadly, core boards and carrier boards have to be soldered together, which significantly complicates replacements down the road compared to slot-based SoM systems.
As of this review, the system is still fresh on the market and is going through necessary certification steps. Banana Pi’s products are always CE, RoHS and FCC certified, and we were assured that the same will be the case with the ARMSoM W3 system in the near future.
The RK3588 is an octa-core SoC, featuring four Cortex-A55 and four Cortex-A76 cores, organised into three clusters (a four-core A55 cluster and two dual-core A76 cluster). The GPU is a decent Mali-G610 MP4, and there’s also a three-core neural network capable of up to 6 TOPS.
The RK3588 can process four independent video streams internally, three of which are 4K60 streams and one of which is a 1080p60 one (these are referred to by Rockchip’s documentation as “ports”). To achieve 8K60 video, the first two streams can be unified. This, naturally, comes at the cost of losing one independent video output, bringing the total down to three.
These streams can be forwarded to a number of integrated video controllers: the processor has seven of them, providing DP, HDMI, MIPI and even analog coaxial output. Of course, in order to actually utilise these, the board has to implement the required output hardware, meaning that in most cases, with a maximum of four (or three, when 8K video is used) concurrent display streams, boards won’t physically implement all seven possible connectors. The BPi ARMSoM W3 features two HDMI ports and one MIPI DSI video out, which makes sense given that three separate outputs are always possible with the chip.
There’s also an HDMI 2.0 video input can accept up to 4K60 signals, as well as several MIPI CSI camera inputs. All of the HDMI ports are mounted vertically, which enables tighter port packing and easier cable management.
There’s also a combined audio jack, connected using an Everest-semi ES8316 codec. It’s a dual-channel DAC and a single-channel ADC, with a three-band parametric equaliser. This sort of solution is a standard one used in many smart devices, offering stereo output and a single microphone input. We’ll use this opportunity to point out a little discrepancy we’ve found in the website schematic (which is a very useful resource to have, by the way). This schematic states that the onboard codec is an ES8388 one, which unlike the ES8316 has a dual-channel ADC. Given that a combined TRRS jack only supports mono microphone input, it makes sense why the chip got swapped.
There’s also a full set of USB peripherals: two USB 2.0 Type A ports, two USB 3.0 Type A ports and one USB 3.0 Type C port which can also be used for powering the board and flashing the eMMC. There’s also an M.2 Key M slot on the bottom side of the board meant for NVMe SSDs, as well as an M.2 Key E slot on the top for wireless cards.
It’s worth noting a few things here, mostly regarding the differences between the “full” RK3588 and its lesser RK3588S sibling. These two are identical in compute performance, having the same CPU, GPU and NPU. The differences are mostly in available peripherals. Aside from more USB controllers, the RK3588 also features a dual-lane PCIe 3.0 interface, something which the RK3588S lacks. This allows the beefier chip to achieve much better performance when working with NVMe drives, especially compared to the RK3588S’ PCIe 2.0 bus’ speed cap at around 300 Mbps.
We also commend the inclusion of a 2.5 Gbps ethernet port, driven by a RTL8125BS controller. Also noteworthy is the inclusion of a pair of connectors for attaching an external 12V PoE module (which allows for some flexibility depending on the standard which this module uses). This way of powering the board can be highly useful in some use cases.
Aside from PoE, the board can be powered by the aforementioned USB-C port, but also by a 5.5 mm 12V DC barrel jack.
There’s a debug UART header at the top-right corner (or bottom-left, if you’re holding the board upside down). Right next to it is a three-pin fan header which enables the board to do PWM fan control. There are mounting holes around the core board for a heatsink with a fan. We recommend mounting an active cooling solution when deploying heavy tasks on any RK3588-based system, as we noted performance benefits when we tested the IceTower active cooling system for the Orange Pi 5, a RK3588S-based system.
Instead of having several separate status LEDs, there’s an RGB one. Green is used to signalise the system being powered on, while blue and red can be assigned to over 20 different parameters. These can be tied to anything, including disk, GPU or NPU activity or even certain events, like keystrokes. Right next to this LED is a slot for an CR1220 battery which powers the HYM8563 real-time clock.
There’s a 40-pin GPIO header which runs along the edge of the board. This header is mostly Raspberry Pi-compatible. By “mostly” we mean that all of the GPIO pins and power rails are placed the same way as on a Raspberry Pi, as well as the main I2C and UART pins, but some interfaces which the Raspberry Pi does not have (and vice versa) had to, understandably, be rearranged.
Finally, the system also has four buttons: Power, Reset, Recovery and Maskrom. The latter two are generally used for flashing the onboard eMMC, each one depending on whether the onboard storage had an OS previously flashed, and thus contains a bootloader already. In general, we recommend formatting the eMMC before installing a new OS.
Aside from the aforementioned board schematics, there are also detailed guides for all of the peripherals and Android 12 and Armbian OS images on the manufacturer’s website.
Android 12 images come as regular Android and as media-oriented Android TV ones, both of which are meant to be flashed directly to the eMMC. Standard Android images on SBCs are great for testing out apps in development on actual hardware. However, thanks to the board’s rich set of multimedia peripherals, as well as storage options, Android TV makes a lot of sense. The Mali-G610 GPU fares well with high-resolution video playback across multiple displays, and speedy 2.5 Gbps ethernet enables playback of large cloud files.
Armbian isn’t officially supported by the OS’ development team, but there are some Banana Pi-made versions. Available for download are images based on Debian 12 “bookworm”, Debian 11 “bullseye” and Ubuntu 22.04 LTS (Jammy Jellyfish). All of these were stable enough and worked right off the bat, so we don’t have much to complain about when it comes to OS support.
OS installation was a breeze. The system can load images from an SD card, or have them flashed to the eMMC or NVMe using the RKDevTool and a USB-C cable.
We wish there was a bit more variety here, but what’s there works decently.
Looking at benchmark results, it’s fair to say that they are virtually identical to those we’ve seen on other RK3588 and RK3588S boards.
Starting off with Geekbench 5.4.0, we can see a pretty decent 583/2636 single and multicore result. This is standard for boards powered by this chip, and is a much better result than what can be achieved by RK3399 or BCM2711-powered SBCs.
Sysbench CPU, a benchmark which relies on CPU clock speed, we see the RK3588 pulling ahead of the competition thanks to its fast, modern cores.
OpenSSL tests also trump those of earlier ARM-based systems, and especially of the Raspberry Pi 4, whose BCM2711 chip has its hardware crypto accelerator disabled. Intel’s more advanced crypto tech still pulls ahead here, as can be seen by the great results scored by LattePanda 3 Delta’s Celeron N5105 CPU.
Interestingly enough, when testing RAM speeds, they didn’t quite match what we were expecting. Despite being higher-clocked than memory on the Orange Pi 5, the LPDDR4X chips used here seem to suffer from higher latency, thus bringing the overall performance down a bit, especially in tests which deal with multiple smaller reads and writes.
However, it’s important to note that this level of RAM performance is still more than adequate, and dare we say, excellent for an SBC.
Unixbench gives already expected great results. It’s worth noting that RK3588’s proper support for fast NVMe storage managed to net the ARMSoM W3 significantly better results in some file copy tests compared to RK3588S-based systems. Perhaps due to silicon lottery, or perhaps due to Rockchip leaving the best dies to be used in full-featured RK3588 chips, we got somewhat better Unixbench overall multicore scores here than on the Orange Pi 5. We’ll know for sure after we take a look at a few more systems on both platforms.
Finally, running one of our legacy tests, Octane 2.0, also paints the W3 in a pretty flattering light, putting it among some of the best-performing boards thanks to the beefy RK3588.
Don’t forget that this is a development kit first, meant to expose all of the interfaces found on the module, and not a standard SBC, so size wasn’t a consideration when designing it. The main purpose here is to enable comfortable development of software for the RK3588 platform and also facilitate easier development of custom solutions which integrate the core boards. This method has advantages over using traditional SBCs, as it enables much more control over the exact implemented IO options and general dimensions.
We’d like to have seen RS232, CAN/RS485 and other industrial connectors present on the stock carrier board. Sadly, those aren’t the only missing ports, as there are also no SATA ports available. Finally, a supercap would have been nice for the RTC clock, at least as a secondary, backup power source to avoid having to replace the battery.
For the 160 USD MSRP, the BPi ARMSoM W3 brings a lot to the table, giving users a powerful SoC, solid RAM, on-board storage and a decent set of IO. The build quality is, like most Banana Pi boards, good, and all of the provided OSs work well. For home users, there are better (and cheaper) solutions which offer less robust connectivity, but often are significantly smaller and come with built-in cooling. On the other hand, for industrial consumers, or those looking to create custom designs implementing Banana Pi’s ARMSoM series of core boards, the ARMSoM W3 represents a reference design and a great development starting point.