Comparing the AI Capabilities of Single-Board Computers (SBCs)
During the start of the pandemic in 2020 and we were scrambling to do work-from-home set-ups, I recorded a short video on how to make an OPNsense/pfSense router using any spare desktop lying around and as many USB dongles you could get your hands on to extend your networking. The intent was to share the knowledge as quick and as fast not just to my team but to anyone who might have needed it:
I never got to publish a public follow-up about the recommended rules as requested from the user comments. Although, I just might at some point find the internal Zoom sharing session I did for my team in the archives.
Anyways, fast forward to 2022 and I'd found myself needing to move my virtual router from my hyper-converged Proxmox VE set-up due to it running hot on enterprise-class SAS spinning drives. In fact, some of those same drives had started failing or their backplanes failing since Dell R720xd models were released back in 2012 – a full decade earlier.
The half-dozen Raspberry Pi 3Bs from 2016 that I'd been using as dashboard heads had come home with me to be repurposed for something else but, alas, not compatible for *sense but perhaps as very (very, very,) underpowered OpenWRT when combined with a USB dongle and an external switch. Throughput would be quite poor, however, given that the top-end would barely achieve 100Mbps under load in real-world scenarios.
This led me down the path of alternative single-board computers and perhaps an upgrade. However, if you remember 2022, you'll remember the supply-chain issues and the price-gouging prices in the open market. It was so bad, the Raspberry Foundation blog an update to everyone about the current status of things. By July of that year I'd discovered a few alternative boards like the NanoPi R5S from FriendlyElec and a few others. I can attest to the industrial hardiness of the NanoPi and case combo given that those things sat (and still do) in the garage under the hot Texas summers of contiguous 100-degree Fahrenheit weather.
Now, with the 2nd (or was it the 4th) downing of this blog site, I'm looking for a bit more resiliency apart from being hosted online. My sights turned to maybe using a Kubernetes cluster using the aforementioned rPi 3Bs. How exciting, learning new technology + working use-case! But, trust me, this all just ended in Smurf tears the last time I attempted to do that sometime last year and all I got to do was make an SD-card performance graph (which I seem to have forgotten to re-post).
TL;DR
If you're still with me, then let's dive into the previous, current, and potential future hardware I plan to unleash my devious designs on:
Full Comparison Table
SoC and CPU
Feature | Raspberry Pi 3 Model B | Raspberry Pi 3 Model B+ | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) | NanoPi R5S (4GB model) | NanoPi R6S | NanoPi R6C (8GB model) |
---|---|---|---|---|---|---|
SoC | Broadcom BCM2837 | Broadcom BCM2837B0 | Broadcom BCM2712 (or latest) | Rockchip RK3568B2 | Rockchip RK3588S | Rockchip RK3588S |
CPU | 1.2 GHz 64/32-bit quad-core ARM Cortex-A53 | 1.4 GHz 64/32-bit quad-core ARM Cortex-A53 | Quad-core ARM Cortex-A76, 64-bit, 1.8 GHz | Quad-core ARM Cortex-A55, up to 2.0 GHz | Quad-core ARM Cortex-A76, up to 2.4GHz and quad-core Cortex-A55, up to 1.8GHz | Quad-core ARM Cortex-A76, up to 2.4GHz and quad-core Cortex-A55, up to 1.8GHz |
CPU Architecture | ARMv8-A | ARMv8-A | ARMv8-A | ARMv8.2-A | ARMv8-A | ARMv8-A |
Number of Cores | 4 | 4 | 4 | 4 | 8 | 8 |
Instruction Set | 64-bit (AArch64) and 32-bit (AArch32) | 64-bit (AArch64) and 32-bit (AArch32) | 64-bit (AArch64) and 32-bit (AArch32) | 64-bit (AArch64) | 64-bit (AArch64) and 32-bit (AArch32) | 64-bit (AArch64) and 32-bit (AArch32) |
GPU and Video
Feature | Raspberry Pi 3 Model B | Raspberry Pi 3 Model B+ | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) | NanoPi R5S (4GB model) | NanoPi R6S | NanoPi R6C (8GB model) |
---|---|---|---|---|---|---|
GPU | Broadcom VideoCore IV | Broadcom VideoCore IV | Broadcom VideoCore VII | Mali-G52 | ARM Mali-G610 MP4 | ARM Mali-G610 MP4 |
GPU Features | OpenGL ES 2.0, 1080p30 video decoding and encoding | OpenGL ES 2.0, 1080p30 video decoding and encoding | OpenGL ES 3.1, Vulkan 1.1, OpenCL 1.2 | OpenGL ES 1.1/2.0/3.2, Vulkan 1.0/1.1, OpenCL 2.0 | OpenGL ES 3.2, Vulkan 1.2, OpenCL 2.2 | OpenGL ES 3.2, Vulkan 1.2, OpenCL 2.2 |
Video Decoding | H.264/MPEG-4 AVC | H.264/MPEG-4 AVC | 4Kp60 HEVC decoder | H.265 4K@60fps, H.264 4K@30fps | H.265 8K@60fps, H.264 8K@30fps | H.265 8K@60fps, H.264 8K@30fps |
Video Encoding | H.264 | H.264 | H.265/H.264 1080p@60fps | H.265/H.264 1080p@60fps | H.265/H.264 8K@30fps | H.265/H.264 8K@30fps |
RAM and Storage
Feature | Raspberry Pi 3 Model B | Raspberry Pi 3 Model B+ | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) | NanoPi R5S (4GB model) | NanoPi R6S | NanoPi R6C (8GB model) |
---|---|---|---|---|---|---|
RAM | 1 GB LPDDR2 | 1 GB LPDDR2 | 8GB LPDDR4X-4267 SDRAM | 2GB/4GB LPDDR4X | 8GB LPDDR4X | 4GB/8GB LPDDR4X |
Memory Interface | LPDDR2 | LPDDR2 | LPDDR4X | LPDDR4X | LPDDR4X | LPDDR4X |
Storage | microSD card slot | microSD card slot | microSD card slot, supports high-speed SDR104 mode, M.2 PCIe 2.0 slot for NVMe SSD | microSD card slot, M.2 PCIe 2.0 slot for NVMe SSD | 32GB eMMC, microSD card slot | 32GB eMMC (optional), microSD card slot, M.2 PCIe 2.0 slot for NVMe SSD |
Networking and USB
Feature | Raspberry Pi 3 Model B | Raspberry Pi 3 Model B+ | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) | NanoPi R5S (4GB model) | NanoPi R6S | NanoPi R6C (8GB model) |
---|---|---|---|---|---|---|
Networking | 10/100 Ethernet, 802.11n Wi-Fi, Bluetooth 4.1 | Gigabit Ethernet (limited to ~300 Mbps), dual-band 802.11ac Wi-Fi, Bluetooth 4.2/BLE | Dual-band 802.11ac Wi-Fi, Bluetooth 5.0/BLE, Gigabit Ethernet with PoE+ support | 1 x Native Gigabit Ethernet, 2 x PCIe 2.5G Ethernet | 1 x Native Gigabit Ethernet, 2 x PCIe 2.5G Ethernet | 1 x Native Gigabit Ethernet, 1 x PCIe 2.5G Ethernet |
USB Ports | 4 x USB 2.0 ports | 4 x USB 2.0 ports | 2 x USB 3.0 ports, 2 x USB 2.0 ports | 2 x USB 3.0 Type-A, 1 x USB 2.0 Type-A, 1 x USB Type-C (power and data) | 1 x USB 3.0 Type-A, 1 x USB 2.0 Type-A, 1 x USB Type-C (power and data) | 1 x USB 3.0 Type-A, 1 x USB 2.0 Type-A, 1 x USB Type-C (power and data) |
Display and Audio
Feature | Raspberry Pi 3 Model B | Raspberry Pi 3 Model B+ | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) | NanoPi R5S (4GB model) | NanoPi R6S | NanoPi R6C (8GB model) |
---|---|---|---|---|---|---|
Display | Full-size HDMI, Composite video (3.5mm jack) | Full-size HDMI, Composite video (3.5mm jack) | Dual 4Kp60 HDMI display output with HDR support | HDMI 2.0 port supporting 4K@60Hz | HDMI 2.1 port supporting 8K@60fps | HDMI 2.1 port supporting 8K@60fps |
Audio | 3.5mm jack, HDMI | 3.5mm jack, HDMI | 3.5mm jack, HDMI | HDMI | HDMI | HDMI |
Other Features
Feature | Raspberry Pi 3 Model B | Raspberry Pi 3 Model B+ | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) | NanoPi R5S (4GB model) | NanoPi R6S | NanoPi R6C (8GB model) |
---|---|---|---|---|---|---|
Real-time Clock (RTC) | Not applicable | Not applicable | Yes | Yes | Yes | Yes |
Power Button | Not applicable | Not applicable | Yes | Yes | Yes | Yes |
PCIe | Not applicable | Not applicable | PCIe 2.0 x1 | PCIe 2.0 x1 | No | PCIe 2.1 x1 |
AI Module | Not applicable | Not applicable | Hailo AI module containing a Neural Processing Unit (NPU) with 13 TOPS, 28.8 GFLOPS | 0.8 TOPS NPU | 6 TOPS NPU | 6 TOPS NPU |
Thermal Management | Not applicable | Not applicable | Thermal pad pre-fitted between module and M.2 HAT+ | Not specified | Not specified | Not specified |
Power Supply | 5V/2.5A DC via micro USB connector | 5V/2.5A DC via micro USB connector | 5V/5A DC power via USB-C, with Power Delivery support | 5V/3A via USB Type-C | 5V/3A via USB Type-C | 5V/3A via USB Type-C |
Dimensions | 85.6mm x 56.5mm x 17mm | 85.6mm x 56.5mm x 17mm | Not specified | 62 x 90 x 1.6 mm (without Case) / 68 x 94.5 x 30 mm (with Case) | 90 x 62 mm | 62 x 90 x 1.6 mm (without Case) / 68 x 94.5 x 30 mm (with Case) |
Operating Temperature | Not specified | Not specified | 0°C to 50°C (ambient) | 0°C to 70°C | 0°C to 70°C | 0°C to 70°C |
Operating System | Raspbian (Raspberry Pi OS), various Linux distributions | Raspbian (Raspberry Pi OS), various Linux distributions | Raspberry Pi OS, various Linux distributions | FriendlyWrt (based on OpenWrt), Android, Debian | Android, Debian, Ubuntu, FriendlyWrt | Android, Debian, Ubuntu, FriendlyWrt |
Compliance | Not specified | Not specified | For a full list of local and regional product approvals, visit pip.raspberrypi.com | Not specified | Not specified | Not specified |
GPIO | 40 pins | 40 pins | 40 pins | 12 pins | 12 pins | 30 pins |
Average Price (USD) | $35 | $35 | $150 - $180 | $55 - $70 | $120 - $150 | $100 - $140 |
Summary of Average Prices
- Raspberry Pi 3 Model B: $35
- Raspberry Pi 3 Model B+: $35
- Raspberry Pi 5 System (8GB model): $150 - $180
- NanoPi R5S (4GB model): $55 - $70
- NanoPi R6S: $120 - $150
- NanoPi R6C (8GB model): $100 - $140
I'm doing some experiments with the Markdown function of this Ghost platform. The above was generated using GPT-4o after a few prompting nudges and having it parse the specs links from:
- https://datasheets.raspberrypi.com/rpi3/raspberry-pi-3-b-plus-product-brief.pdf
- https://datasheets.raspberrypi.com/rpi5/raspberry-pi-5-product-brief.pdf
- https://datasheets.raspberrypi.com/hat/hat-plus-specification.pdf
- https://datasheets.raspberrypi.com/ai-kit/raspberry-pi-ai-kit-product-brief.pdf
- https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R5S#Hardware_Spec
- https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R6C#Hardware_Spec
- https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R6S#Hardware_Spec
Here's that data again in a snapshot gallery:
I've decided for the now to keep both of my NanoPi R5S (with dual 2.5GbE ports and NVMe) each loaded with 512GB NVMe drives and 32GB SDXC cards.
While, they aren't the strongest of the bunch it would be a far cry even if I eventually managed to get all six-(6) of the rPi 3Bs working in tandem into a Kubernetes cluster:
Comparison:
Raspberry Pi 3 Model B Cluster (6 Nodes)
- SoC: Broadcom BCM2837
- CPU: 1.2 GHz 64/32-bit quad-core ARM Cortex-A53
- RAM: 1 GB LPDDR2 per node
- Total Cores: 24 cores (6 nodes x 4 cores)
- Total Clock Speed: 28.8 GHz (6 nodes x 4 cores x 1.2 GHz)
- Total RAM: 6 GB (6 nodes x 1 GB)
- GPU: Broadcom VideoCore IV (one per node)
- Networking: 10/100 Ethernet per node
- Storage: microSD card slot per node
- Operating Temperature: 0°C to 70°C (32°F to 158°F)
- Price per Node: $35
- Total Price: $210 (6 nodes x $35)
NanoPi R5S
- SoC: Rockchip RK3568B2
- CPU: Quad-core ARM Cortex-A55, up to 2.0 GHz
- RAM: 4GB LPDDR4X
- Total Cores: 4 cores
- Total Clock Speed: 8.0 GHz (4 cores x 2.0 GHz)
- Total RAM: 4 GB
- GPU: Mali-G52 1-Core-2EE
- Networking: 1 x Native Gigabit Ethernet, 2 x PCIe 2.5G Ethernet
- Storage: 8GB/32GB eMMC, additional 512GB NVMe
- Operating Temperature: 0°C to 70°C (32°F to 158°F)
- Price: $70 (4GB model) + $60 (512GB NVMe) = $130
Comparison Table
Feature | Raspberry Pi 3 Model B Cluster (6 Nodes) | NanoPi R5S (with 512GB NVMe) | Winner |
---|---|---|---|
Total Cores | 24 cores | 4 cores | Raspberry Pi 3B |
Total Clock Speed | 28.8 GHz | 8.0 GHz | Raspberry Pi 3B |
Total RAM | 6 GB | 4 GB | Raspberry Pi 3B |
GPU | Broadcom VideoCore IV (6 GPUs) | Mali-G52 1-Core-2EE | NanoPi R5S |
Networking | 10/100 Ethernet per node | 1 x Native Gigabit Ethernet, 2 x PCIe 2.5G Ethernet | NanoPi R5S |
Storage | microSD card slot per node | 8GB/32GB eMMC, 512GB NVMe | NanoPi R5S |
Operating Temperature | 0°C to 70°C (32°F to 158°F) | 0°C to 70°C (32°F to 158°F) | Tie |
Price | $210 | $130 | NanoPi R5S |
Summary
- Processing Power: Raspberry Pi 3B Cluster wins in terms of total cores and clock speed.
- RAM: Raspberry Pi 3B Cluster has more total RAM.
- GPU: NanoPi R5S has a more advanced GPU.
- Networking: NanoPi R5S offers superior networking capabilities.
- Storage: NanoPi R5S with 512GB NVMe offers faster and more reliable storage.
- Operating Temperature: Both are suitable for 100°F environment.
- Price: NanoPi R5S is more cost-effective.
Overall Recommendation
For hosting container applications in a 100°F environment:
- NanoPi R5S (with 512GB NVMe) is recommended due to its superior GPU, networking, and storage capabilities, along with a better price-performance ratio.
- Raspberry Pi 3B Cluster excels in raw CPU power and RAM, making it better for CPU-intensive and memory-intensive distributed workloads.
However, if I were in a future upgrading mode then the only real comparison to the current set of compared hardware would be between the rPi 5 (with M.2 HAT + AI Kit) and the NanoPi R6C:
The NanoPi R6S is shut-out from this comparison because it doesn't have an NVMe storage capability which severely hobbles it from any storage related processing which happens often enough in AI-related activity.
Comparison:
NanoPi R6C vs Raspberry Pi 5 Kit
SoC and CPU
Feature | NanoPi R6C (8GB model) | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) |
---|---|---|
SoC | Rockchip RK3588S | Broadcom BCM2712 |
CPU | Quad-core ARM Cortex-A76 (up to 2.4GHz) and quad-core Cortex-A55 (up to 1.8GHz) | Quad-core ARM Cortex-A76, 64-bit, 2.4GHz |
Winner | NanoPi R6C |
GPU and Video
Feature | NanoPi R6C (8GB model) | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) |
---|---|---|
GPU | Mali-G610 MP4 | VideoCore VII |
GPU Features | OpenGL ES 3.2, Vulkan 1.2, OpenCL 2.2 | OpenGL ES 3.1, Vulkan 1.2 |
Video Decoding | 8K@60fps H.265/VP9, 8K@30fps H.264 | 4Kp60 HEVC |
Winner | NanoPi R6C |
RAM and Storage
Feature | NanoPi R6C (8GB model) | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) |
---|---|---|
RAM | 4GB or 8GB LPDDR4X | 4GB or 8GB LPDDR4X-4267 SDRAM |
Storage | microSD slot, 32GB eMMC, M.2 PCIe 2.0 slot for NVMe SSD | microSD slot, M.2 PCIe 2.0 slot for NVMe SSD |
Winner | Tie |
AI Capabilities
Feature | NanoPi R6C (8GB model) | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) |
---|---|---|
NPU | 6 TOPS | Hailo AI module with 13 TOPS |
Winner | Raspberry Pi 5 Kit |
Connectivity and Expansion
Feature | NanoPi R6C (8GB model) | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) |
---|---|---|
Ethernet | Native Gigabit Ethernet, PCIe 2.5G Ethernet | Gigabit Ethernet with PoE+ support |
Wi-Fi | None | Dual-band 802.11ac Wi-Fi |
Bluetooth | None | Bluetooth 5.0/BLE |
USB Ports | 1 x USB 3.0 Type-A, 1 x USB 2.0 Type-A, 1 x USB Type-C (power only) | 2 x USB 3.0, 2 x USB 2.0 |
GPIO | 30-pin header | 40-pin header |
Winner | Raspberry Pi 5 |
Display and Audio
Feature | NanoPi R6C (8GB model) | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) |
---|---|---|
Display | HDMI 2.1 (up to 8K@60Hz) | Dual 4Kp60 HDMI display output with HDR support |
Audio | HDMI | 3.5mm jack, HDMI |
Winner | Tie |
Power Supply
Feature | NanoPi R6C (8GB model) | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) |
---|---|---|
Power | USB-C, support PD, 5V/9V/12V/20V input | 5V/5A DC via USB-C, with Power Delivery support |
Winner | Tie |
Real-time Clock (RTC)
Feature | NanoPi R6C (8GB model) | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) |
---|---|---|
RTC | Yes | Yes |
Winner | Tie |
Price
Feature | NanoPi R6C (8GB model) | Raspberry Pi 5 with M.2 HAT+ and AI Kit (8GB model) |
---|---|---|
Price | $100 - $140 | $150 - $180 |
Winner | NanoPi R6C |
Summary of Winners
- Processor and Performance: NanoPi R6C
- GPU and Video: NanoPi R6C
- RAM and Storage: Tie
- AI Capabilities: Raspberry Pi 5 Kit
- Connectivity and Expansion: Raspberry Pi 5
- Display and Audio: Tie
- Power Supply: Tie
- Real-time Clock (RTC): Tie
- Price: NanoPi R6C
Conclusion
- Overall Winner: NanoPi R6C offers excellent value with competitive performance, advanced video capabilities, and a more affordable price.
- Raspberry Pi 5 Kit: Excels in AI capabilities and connectivity, making it a strong contender for specific use cases requiring AI processing and wireless communication.
The final choice depends on your specific needs, such as AI processing power, video capabilities, and budget.
What about ....
Post publication of this article I started looking at SBC add-ons, specifically in the M.2 form factor. To note, that that AI kit for the rPi 5 which does NPU is currently the cheapest and ready to market which is the Hailo 8L (13 TOPS).
But, what really interested me was the possibility of leveraging the other beefier models that could help meet the AI PC/Copilot+ PC designation of 40 TOPS. And for that the Hailo 8 Century has in spades at 208 TOPS in a 16-lane PCIe slot. Its also possible to perhaps make a cluster of Hailo 8R (13 TOPS) in the mPCIe form factor.
As for Coral, unfortunately at the moment the dev boards are using TPU which is great for the more general ML and PyTorch but not directly comparable to NPU. You may, however, still be interested in picking up one or more of these prototyping boards if your applications are more geared to visual training such as for object identification. I'm actually considering to use the USB version in a Frigate set-up to augment the person identification of my smart home automation and security projects.