It is official! The Raspberry Pi 5 is being released October 2023! (Official product page) I expect it will be some time before I can get my hands on one. Until then I will need to compare specifications. Lets take a look at the RPI5 and the Rock 5B.
NOTE: This article will compare the specification of the Pi 5 as is currently available. Some details may change. There has also been some elusion to new features that will be enabled down the road.
Over the past few years as Raspberry Pi stock has been hard to get a hold of I’ve started testing SBC’s from other vendors (Radxa, OrangePi, Banana Pi, Atomic Pi, Mango Pi, etc). I’ve currently settled on a Rock 5B with the Rockchip RK3588 as my primary board.
The Specs
I included the Pi 4B in addition to the Pi 5 and Radxa Rock 5B for comparison. I don’t believe anyone would argue that the Pi 5 isn’t a very welcome upgrade to the Pi 4B, but how does it stack up to the top line RK3588 based SBC’s that you can get from Radxa, Orange Pi or others?
Raspberry Pi 4B | Radxa Rock 5B | Raspberry Pi 5 | |
---|---|---|---|
CPU | Broadcom BCM2711 4x ARM Cortex-A72 (600Mhz – 1.8GHz) | Rockchip RK3588 4x ARM Cortex-A76 (408Mhz – 2.4Ghz) 4x ARM Cortex-A55 (408Mhz – 1.8Ghz) | Broadcom BCM2712 4x ARM Cortex-A76 (??? – 2.4Ghz) |
NPU | N/A | 6 TOPS INT4/INT8/INT16/FP16 TensorFlow/MXNet/PyTorch/Caffe can be easily converted 300Mhz – 1Ghz (per /sys/class/devfreq/fdab0000.npu/available_frequencies | N/A |
Memory | 1/2/4/8GB LPDDR4 3200Mhz 32-bit bus | 4/8/16GB LPDDR4 2112Mhz 64-bit bus | 4/8GB LPDDR4X 4267Mhz (at launch) |
GPU | Broadcom VideoCore VI 4 cores (200 – 500Mhz) | ARM Mali-G610 MP4 3D GPU 4 cores (300Mhz – 1Ghz) | Broadcom VideoCore VII 4 cores (?? – 800 Mhz) |
Video Decoding | H.264, H.265 HEVC (8/10bit), VP8, VP9, VC-1, AVC, JPEG | H.264, H.265 HEVC (8/10bit), VP8, VP9, VC-1, AVC, JPEG | H.264, H.265 |
Video Encoding | H.264, JPEG | H.264, H.265 HEVC (8/10bit), VP8, VP9, VC-1, AVC, JPEG | |
GPU FP16/FP32/FP64 | 64 / 32 / 8 GFLOPS | ? / 610 / ? GFLOPS | ? / 51.2 / ? GFLOPS |
Video Out | 2x micro HDMI + MIPI DSI | 2x HDMI + MIPI DSI | 2x micro HDMI + 2x MIPI 4-lane (can be used for cameras or displays) |
Video In | MIPI CSI | 1x micro HDMI + MIPI CSI | 2x MIPI 4-lane (can be used for cameras or displays) |
Storage | MicroSD USB 3.0 attached storage is supported | PCIe 3.0 x4 M.2 M-key (up to 2280) MicroSD eMMC socket (ODroid compatible) 16MB SPI flash bootloader | microSD (supports SDR104) |
USB | 2x USB 2.0 Type-A 2x USB 3.0 Type-A | 2x USB 2.0 Type-A 2x USB 3.0 Type-A | 2x USB 3.0 (supports concurrent 5Gbps) 2x USB 2.0 |
PCIe | N/A | PCIe 3.0 x4 M.2 M key (up to 2280 SSD for storage) PCIe 2.0 M.2 E key (for WiFi/Bluetooth module) | PCIe 2.0 x1 (requires M.2 HAT or other adapter) |
Networking | 1Gbps Broadcom (BCM54213PE) 802.11ac 2.4/5Ghz (Infineon CYW43455) | 2.5Gbps RTL8125 NIC No builtin wireless (requires PCIe M.2 E key module) | 1Gbps Broadcom (BCM54213PE) 802.11ac 2.4/5Ghz (Infineon CYW43455) |
Bluetooth | Bluetooth 5.0, BLE (BCM54213PE) | No builtin wireless (requires PCIe M.2 E key module) | Bluetooth 5.0, BLE (BCM54213PE) |
I2C | up to 6x | up to 5x | TBD |
SPI | up to 6x (however some SPI pins overlap with other SPI devices so all can’t be used at once) | up to 3x | TBD |
UART | up to 6x UART | up to 4x (5x listed on GPIO pinout, uart1 on pinout doesn’t have an overlay file. There are 2 additional overlay files that don’t match to pins on the GPIO header – uart 6 and 8) | TBD |
PWM | up to 4x (2 PWM controllers with 2 outputs each) | up to 10x (10x listed on GPIO pinout, 4 additional overlay files that don’t match to pins on the GPIO header) | TBD |
ADC (analog to digital) | N/A | 1x (could not find an overlay or any documentation for it yet) | TBD |
CAN Bus | N/A | 1x (listed on GPIO pinout but no builtin overlay and driver isn’t compiled in the default kernel) | TBD |
General GPIO / Other | up to 28x | up to 26x | up to 28x Builtin RTC w/ external battery |
Power | 5v DC with USB-C plug 3A 5v DC on pins 2&4 3A | USB PD 2.0 12/15/20v with 2amp or higher 9-20v DC power with USB-C plug 5v PoE power on pins 2&4 | USB-C 5v 5A Includes a power button |
Kernel Support | 6.1 (RPI fork, updates are pushed back to mainline) | 5.10 (Radxa fork, RK3588 mainline integration status) | |
Purchase Links | Amazon (1/2/4GB models) Amazon (8GB model) | Amazon (8GB model) OKDO (8GB model) |
CPU – Advantage Rock 5B
The 4x A76 cores of the Pi 5 are a big update from the 4x A72’s in the 4B. Personally I never felt that the Pi 4B was powerful enough for a GUI if you intend to use it as a regular desktop. The Rock 5B on the other hand has become my defacto standard desktop.
It is a bit disapointing to see that the RPI5 went with 4x A76 cores without the added 4x A55 cores of the RK3588. This seems even more odd when you look at the release dates of the different ARM cores:
- A72 – 2016 (RPI4)
- A76 – 2018 (RPI5 / RK3588)
- A78 – 2020
- A710 – 2021
- A715 – 2022
- A720 – 2023
It does take some time from an ARM release before new cores start showing up in devices, but I’m surprised that the RPI5 didn’t take advantage of the A78 to leapfrog the competition. Based on benchmarks of others with pre-release RPI5’s (https://www.youtube.com/watch?v=nBtOEmUqASQ) the RPI5 is coming out already at a performance disadvantage.
RAM – Draw
Both platforms are running LPDDR4. The Rock 5B lists 2112Mhz vs RPI5’s 4267Mhz, but don’t be fooled by that. From what I have seen, some platforms double the frequency if it is setup in dual channel. The 2112Mhz reported by the Rock 5B comes directly from UBoot. I have seen Radxa list it as 4224Mhz in some places.
Both platforms offer 4 and 8GB platforms. Rock 5B also offers a 16GB. Based on the datasheet the RK3588 is capable of addressing up to 32GB. I’m glad to see 4GB is the bottom end here. Given the CPU capabilities running 1 or 2GB of RAM seems like a waste. Personally I would run with 8GB unless there is a use case where you know 4GB will be sufficient.
NPU – Advantage Rock 5B
Personally I haven’t found an application to use the NPU available on the RK3588 yet, however it is surprising that in the day and age of everything AI that Raspberry Pi didn’t include one. This may come down to a Broadcom issue, but it does add another reason customers may choose a different platform. Given the number of years between Raspberry Pi releases, that means it could be 3+ years before we see a Raspberry Pi with an NPU.
GPU – Draw?
I generally don’t tax the GPU on my systems very heavily, and it is also difficult to compare GPU specs. Both systems seem to have a 4 core GPU. The Mali G610 MP4 on the RK3588 runs at 1Ghz and the Video Core VII on the RPI5 runs at 800Mhz. The Mali G610 MP4 data I could find reported 610 GFLOPS at FP32 vs the 51.2 GFLOPS for the Video Core VII. Does this mean that video is 10x better? Probably not. I’ll leave the video comparison to video experts.
Storage – Advantage Rock 5B
The Rock 5B comes with 3 storage options:
- Micro-SD with SDR104 support – Max at 104MBps
- eMMC port – Max at 400MBps
- M.2 PCIe 3.0 x4 supporting a standard 2280 SSD – Max at 4000MBps
Moving away from the typical SD card MASSIVELY boosts performance. The eMMC modules were quick, but nothing matches a PCIe SSD.
The RPI5 also has 3 options:
- Mircro-SD with SDR104 support – Max at 104MBps
- PCIe 2.0 x1 (requires a HAT with M.2 port as there is none onboard) – Max at 500MBps
- USB 3.0 (each USB3 port runs as a separate USB 3.0 controller with a full 5Gbps throughput) – Max at ~500MBps
The RPI5 increases the throughput on the MicroSD over the Pi4B, but doesn’t give anywhere near desktop level performance. This may be adaquate for a headless IOT device, but for anything running a desktop application this level of performance is abysmal.
PCIe 2.0×1 or USB3 could be used to increase storage throughput, but you are still maxed out at 500MBps. For comparison I have a Crucial P3 500GB SSD in my Rock 5B rated for 3500MBps read and 3000MBps write (PCIe 3.0 x4). I am surprised that Raspberry Pi didn’t provide any ability to handle the typical SSD’s that are available in desktops today.
I had to dig to find out that the Rock 5B / RK3588 does in fact support SDR104. For confirmation I popped a SanDisk Extreme microSD card in:
[4578960.554989] mmc_host mmc1: Bus speed (slot 0) = 198000000Hz (slot req 200000000Hz, actual 198000000HZ div = 0)
[4578960.665326] dwmmc_rockchip fe2c0000.mmc: Successfully tuned phase to 360
[4578960.665358] mmc1: new ultra high speed SDR104 SDXC card at address e624
[4578960.666296] mmcblk1: mmc1:e624 SN64G 59.5 GiB
The RPI5 still suffers from what I believe is the worst drawback to the PI4B, slow storage.
USB – Draw
The RPI5 documentation specifically calls out that the 2x USB 3.0 ports are controlled individually which means full 5Gbps on EACH port. This is great when you compare to the Pi 4B which has a single USB3 controller that supports both ports.
After digging through Rockchip RK3588 datasheets and testing different USB 3 devices on my Rock 5B, I can confirm that the Rock 5B also has dual USB3 controllers. It can be a bit tough to discern from the datasheet, but it appears that the RK3588 chip was designed to run displayport over those dual USB3 controllers (although I should note it does not appear that Radxa configured the Rock 5B to support displayport over USB3).
GPIO / I2C / SPI / UART / etc – Draw
I’m calling GPIO and other functions on the 40 pin header a draw. There is some variance on how many I2C and SPI buses each can handle, but both are highly configurable and can support multiple of each. The Rock 5B documentation does also call out an ADC sensor (which I have never found documentation or overlay files for) as well as a CAN bus (which I haven’t had a use for yet).
The only drawback I have for the Rock 5B is the issue I found will pull-up/pull-down (detailed here for the Orange Pi 5, but applies to the Rock 5B as well). I have been unable to get any information on why these don’t work or if they should. For now I’ve stuck to external pull-up/down resistors.
Power – Draw
It appears that Raspberry Pi has in fact added support for USB-C PD! That means the dreaded undervolt message may finally be a thing of the past! There does seem to be a drawback though. Using USB-C PD the PI5 does not have full power available for USB devices. I don’t have information on exactly what the limit is, but apparently this is not a factor with the 5V 5A official power supply.
I wish more companies would adopt USB-C PD! I’ve now acculumated quite a few power supplies that are looking for a new use!
Kernel and Software – Advantage RPI5
Software is where Raspberry Pi devices truely shine. They have by far the most mature and well maintained software ecosystem. Raspberry Pi 4’s are running kernel 6.1 while Rock 5B’s are stuck on 5.10. I also see VERY few kernel updates from Radxa which means we aren’t getting security updates even though 5.10 is an LTS release.
Raspberry Pi also has by far the best confguraiton tool (raspi-config) that other platforms are typically lacking. Radxa has no interface that can be used to select overlays or other board configuration options. The only other company I’ve seen with a near-peer tool is Orange Pi (covered it in detail here).
If you are new to SBC’s and GPIO’s, the Raspberry Pi is by FAR the easiest to learn on. If you are familiar enough with applying overlays, the Rock 5B provides a high level of capability, you just have to know where to look.
Networking – RPI5
Over the past few years we’ve seen a slow shift to 2.5Gbps Ethernet as a pseudo standard. More deivces are shipping with 2.5Gbps NIC’s, and retail switches are coming down in price to make it a reasonable option for home use. We are also starting to see 1Gbps+ home internet, so the shift to faster Ethernet switches is now starting to be a necessity.
That being said, the Rock 5B ships with 2.5Gbps Ethernet, but the RPI5 does not (1Gbps only). While I don’t count this as a big red mark against the Pi, it is an odd choice since it will likely be 3+ years before we get another Raspberry Pi.
While the Rock 5B does come with 2.5Gbps ethernet, it comes without WiFi or Bluetooth. There is a PCIe 2.0 x1 E-Key M.2 port (separate from the PCIe 3.0 x4 M.2 used for storage) for a WiFi / Bluetooth card so it can be added. This does just introduce additional cost if WiFi or Bluetooth is required, The RPI5 comes equipped with 802.11ac 2.4/5Ghz WiFi and Bluetooth 5.0 with BLE built-in.
Size – Depends on your need
The RPI5 follows the typical (now defacto standard) Raspberry Pi size: 85x56mm (3.370×2.224in). The Rock 5B actually follows the Pico-ITX form factor: 100x72mm (3.93×2.83in). This is a bit larger, but is still a compact system. If size is the biggest concern there is either the Pi Zero 2 W or multiple other similar sized boards available. There are also RK3588 boards that are smaller if size is truely a deciding factor. Personally I’m ok with the larger size coming with vastly increased storage speed, USB-C PD support, more and faster PCI-e, NPU, etc.
Summary
There are quite a few odd design choices with the RPI5 that I feel put it behind the curve:
- Quad core A76 – Missing the added 4x A55 cores of the RK3588, and not sure why newer A78 cores weren’t used.
- 1Gbps Ethernet – The standard today for new devices is moving to 2.5Gbps.
- No NPU – Other high end boards (i.e. anything based on the RK3588) include NPU’s. It would still be possible to add an external NPU via PCIe or USB3, it just consumes valuable ports.
- Faster storage! The SD104 update to the microSD is a nice addition, but the platform can’t compete with even years old desktop storage.
It seems like Raspberry Pi has become the slow moving Titantic and other vendors are pushing the boundaries further. I will certainly get a RPI5 as soon as I can find one. (I still haven’t found a Zero 2 W for less than an exorbitant price.) It is very unlikely that I’ll replace my Rock 5B as a desktop anytime soon.
Final Notes
If you are new to SBC’s the RPI5 (or even a PI4B if you can find them) is the best place to start. If you are looking for something with higher capacity to act as a file server, media server, etc, I think the Rock 5B and other equivalent RK3588 based systems are still the best option. Since the shortage of Pi’s during the pandemic, I’ve branched out and now don’t feel the Raspberry Pi is king of the hill any longer. I’m looking forward to seeing what the next generation of boards will bring!