Radxa ROCK 3B (Rockchip RK3568)

Radxa ComputerSBClinux

⚡ The essentials in 60 seconds

The Radxa ROCK 3B is a compact single-board computer that bridges the gap between hobbyist experimentation and industrial deployment, built around the Rockchip RK3568 system-on-chip. While the project was initially unveiled in 2021, it underwent significant redesigns based on community feedback before becoming available for purchase in November 2023. This delay allowed Radxa to refine the hardware, resulting in a board that offers a compelling balance of performance, connectivity, and mechanical flexibility. The ROCK 3B is distinct in its form factor, adhering to the Pico-ITX standard with dimensions of 100 by 75 millimeters. This size is notably smaller than many standard development boards, allowing it to fit into compact enclosures typically reserved for industrial controllers. Despite its small footprint, the board does not compromise on connectivity, featuring a rear-edge port layout that facilitates cable management in tight spaces. It is important to clarify that while the ROCK 3B includes a 40-pin header reminiscent of Raspberry Pi boards, it is not a direct clone of the Raspberry Pi Compute Module form factor. Instead, it is a standalone Pico-ITX board that maintains a degree of pinout compatibility with the Raspberry Pi 3 and 4, though users must verify specific signal mappings before attaching hardware add-ons, as the pinout is "mostly" but not exactly compatible.

At the heart of the ROCK 3B is the Rockchip RK3568, a quad-core processor based on the ARM Cortex-A55 architecture, capable of reaching clock speeds up to 2.0 GHz. This processor is manufactured using a 22-nanometer process, which generally offers a good balance between power efficiency and performance. For graphics tasks, the board utilizes an Arm Mali-G52-2EE GPU, which supports modern graphics APIs including OpenGL ES and Vulkan, making it suitable for graphical user interfaces and light gaming. A key feature of the RK3568 is its Neural Processing Unit (NPU), which provides 1 TOPS of performance for artificial intelligence tasks. This allows the board to run lightweight machine learning models for applications such as image recognition or voice processing, using frameworks like TensorFlow Lite or PyTorch via the RKNN toolkit. The system also includes a Video Processing Unit (VPU) capable of decoding 4K video at 60 frames per second, ensuring smooth playback of high-resolution media. Memory options vary, with the board available in 2 GB, 4 GB, or 8 GB configurations of LPDDR4 RAM, providing sufficient resources for multitasking and running complex applications.

One of the most distinguishing features of the ROCK 3B is its extensive connectivity options, which are unusually comprehensive for a board of its size. It features three M.2 slots, allowing users to expand the board’s capabilities without the need for additional carrier boards or complex wiring. The M-Key slot supports NVMe SSDs via PCIe 3.0 x2, offering fast storage solutions that are significantly quicker than traditional microSD cards. The E-Key slot is designed for wireless modules, supporting Wi-Fi 6 and Bluetooth, although these modules are not soldered onto the board and must be purchased separately. The third slot, an M.2 B-Key, is dedicated to cellular connectivity, supporting 4G LTE and 5G modules, and includes an onboard SIM card slot. This integration makes the ROCK 3B an excellent choice for mobile or remote applications where wired internet is unavailable. Additionally, the board features dual Gigabit Ethernet ports, a rare feature in this class of device. One of these ports supports Power over Ethernet (PoE) when used with the optional Radxa 25 W PoE HAT, allowing the board to be powered and connected to the network through a single cable, which simplifies installation in industrial settings.

The ROCK 3B is available in two primary editions: the Community Edition and the Industrial Edition. The Community Edition is designed for general use and operates within a temperature range of 0 to 60 degrees Celsius. The Industrial Edition, however, uses the RK3568J variant of the processor and is rated for a much wider temperature range of -40 to 85 degrees Celsius, making it suitable for harsh environments such as outdoor kiosks, factory floors, or automotive applications. Both editions share the same core hardware design, ensuring that software developed for one will generally work on the other. The board also supports flexible power input options, including USB-C with USB Power Delivery (PD) and Quick Charge (QC) standards, as well as fixed voltage input and PoE. This flexibility allows the board to be integrated into various power infrastructures, from standard USB chargers to industrial 12-volt power supplies.

Software support for the ROCK 3B is robust, with official images available for Radxa OS, a Debian-based distribution tailored for Radxa hardware, as well as Ubuntu and Android. The board has also seen significant progress in mainline Linux support, with device tree support added in Linux kernel version 6.11. This means that users can run standard, upstream Linux distributions on the board, although some peripheral features, such as certain display interfaces or the NPU, may require vendor-specific drivers or additional configuration. U-Boot, the bootloader used by the board, is also supported in mainline, further enhancing the board’s appeal to developers who prefer open-source software stacks. However, users should be aware that some features, particularly GPU acceleration, can be complex to configure on non-Radxa distributions due to differences between vendor-specific binary blobs and open-source drivers like Panfrost. It is generally recommended to use the official Radxa OS for the best out-of-the-box experience, especially for beginners or those requiring full hardware support without extensive manual configuration.

Despite its strengths, the ROCK 3B does have some limitations and considerations. The lack of onboard Wi-Fi and Bluetooth means that users must purchase and install separate M.2 modules for wireless connectivity, which can add to the overall cost and complexity. Additionally, while the 40-pin header is compatible with many Raspberry Pi accessories, it is not a perfect match, and users should consult the specific pinout diagram before connecting any hardware to avoid damage. The board’s compact size and high port density can also make it challenging to work with in tight spaces, and the need for separate modules for wireless and cellular connectivity requires careful planning of the system architecture. Nevertheless, the ROCK 3B remains a powerful and versatile platform for a wide range of applications, from home media centers and network-attached storage devices to industrial control systems and edge AI deployments. Its combination of processing power, extensive I/O, and industrial-grade reliability makes it a strong contender in the competitive landscape of single-board computers.

Forum (1 topic) →

AttrSpecsverified
socRockchip RK3568 (industrial SKU: RK3568J), 22 nm. CPU: quad-core Arm Cortex-A55 (ARMv8.2-A, DynamIQ) @ up to 2.0 GHz. GPU: Arm Mali-G52-2EE — OpenGL ES 1.1/2.0/3.1/3.2, OpenCL 2.0/2.1, Vulkan 1.1 (product page; docs list ES 1.1/2.0/3.2 + OpenCL 2.0). NPU: 1 TOPS @ INT8, INT8/INT16/FP16/BFP16 hybrid MAC; TensorFlow/TF-Lite/PyTorch/ Caffe/ONNX/MXNet/Keras/Darknet via RKNN (CNX; product page). VPU: 4Kp60 H.265/H.264/VP9 decode, 1080p60 H.264/H.265 encode, 8 MP ISP with HDR (CNX; docs). > ? unverified
ram64-bit LPDDR4, 2 / 4 / 8 GB (docs intro table).? unverified
storagemicroSD slot; pluggable eMMC module on the 3B's SO-DIMM-style eMMC connector (onboard eMMC on the 3B+); M.2 M-Key 2280 NVMe SSD slot. The docs intro table and the mainline DTS (which enables the pcie3x2 PCIe 3.0 x2 controller for the M-Key) say PCIe 3.0 x2; CNX's intro paragraph says "PCIe 3.0 x1" while its own spec list says x2 — trust x2 (docs + DTS).? unverified
networking2× Gigabit Ethernet (mainline DTS binds gmac0 + gmac1, both rgmii-id; one port supports PoE with the optional Radxa 25 W PoE HAT, on the port near the USB stack — power-supply doc). (rock-3b-rk3568_defconfig), suggesting Realtek PHYs, but the exact model is not stated in the sources fetched. No soldered Wi-Fi/BT: wireless comes from a user-installed M.2 E-Key module (PCIe 2.0 x1 / SDIO / UART interfaces; Radxa advertises Wi-Fi 6 module support) (docs intro; CNX). Cellular: M.2 B-Key 3042 socket (USB/PCIe/SATA) + SIM slot for 4G LTE / 5G modules (docs intro; CNX).✔
usb2× USB 2.0 host, 1× USB 3.0 host, 1× USB 3.0 OTG (docs intro; CNX).? unverified
video_outHDMI 2.0 up to 4Kp60 (+ HDMI audio); 2× MIPI DSI (one 4-lane, one 2-lane), eDP, touch-panel connector; triple display from HDMI / 2×DSI / eDP (docs intro; product page also lists an LVDS/DSI combo). Camera: 1× 2-lane MIPI CSI (docs; CNX).? unverified
audio4-ring 3.5 mm jack (RK809 codec on I2S — sound card "Analog RK809" in the mainline DTS) + HDMI audio.? unverified
gpio_40_pin_headercolor-coded 40-pin header, "mostly compatible with ROCK Pi 4 and Raspberry Pi 3/4" (CNX) — i.e. not an exact Pi pinout; check the color code before plugging HATs. Radxa's official table: 27× GPIO, 3× I2C, 7× PWM, 6× UART, 1× SPI, 2× CAN, 1× ADC (docs intro). CNX's launch summary lists slightly fewer (5× UART, 2× I2C, 1× CAN, 6× PWM, 1× ADC, plus PCM/I2S and a USB 2.0 pin) — > ✔
powerUSB-C with USB PD 2.0 (9 V/2 A, 12 V/2 A, 15 V/2 A, 20 V/2 A), QC 3.0/2.0 (9 V/2 A, 12 V/1.5 A), or fixed 5.3–12 V on USB-C; alternatively 5 V on GPIO pins 2/4, or PoE via the 25 W HAT (power-supply doc). Quick start recommends a 12 V/2 A-or-better PD adapter (quick start). CNX's launch spec says fixed-voltage range 6–24 V — > ✔
miscRTC (Hym8563 in mainline DTS) + backup-battery connector, IR receiver (gpio-ir-receiver in DTS), RGB LED (heartbeat LED node in DTS), 2-pin 1.25 mm 5 V PWM fan header, power + recovery buttons, factory ID EEPROM (BL24C16A, read-only, added to DTS Dec 2025), CE/FCC certified (CNX).? unverified
temperatureconsumer grade 0–60 °C; industrial grade −40–85 °C (product page).? unverified
  • Manufacturer: Radxa Computer (Shenzhen) Co., Ltd. Product name ROCK 3B ("Rock 3 Model B"); devicetree compatible is radxa,rock-3b, rockchip,rk3568 (mainline DTS, retrieved 2026-10-13).
  • Year introduced: first unveiled 2021 in Radxa's own design-discussion thread (forum.radxa.com/t/rock-3b-ideas-and-discussion/6810), redesigned after community feedback, and only became purchasable in November 2023 (CNX Software, 2023-11-27, retrieved 2026-10-13). >
  • Launch price (Nov 2023, Arace Tech, per CNX): 2 GB — $45 · 4 GB — $55 · 8 GB — $75 (CNX 2023-11-27).
  • Status: Active — current product page and full documentation set live as of 2026-10-13 (radxa.com/products/rock3/3b, docs.radxa.com/en/rock3/rock3b).
  • Form factor — important correction: the ROCK 3B is a Pico-ITX / "PI-CO ITX" 100 × 75 mm board with all main ports on the rear edge and a Raspberry-Pi-style 40-pin header — not a Raspberry Pi CM4 clone. > CM3/CM4/CM5 SOM line (docs.radxa.com/en/som/cm). CNX's intro text says "100x72mm" while its own spec list and Radxa docs say 100×75 mm — treat 100×75 mm as authoritative.
  • Variants: - Community Edition — RK3568, consumer grade, 0 °C ~ 60 °C (radxa.com product page). - Industrial Edition — RK3568J, wide temperature −40 °C ~ 85 °C (radxa.com product page, mainline add-commit). - RAM SKUs 2 / 4 / 8 GB LPDDR4; eMMC options (see SoC & specs). - ROCK 3B+ — newer sibling documented on the same pages, distinguished by an onboard eMMC module instead of the 3B's eMMC connector (docs.radxa.com introduction table). - Hardware revisions are tracked officially (Revision Details); the published schematic is V1.51 (see Resources).

+ Strengths

  • Three M.2 sockets + SIM on one SBC: M-Key 2280 NVMe (PCIe 3.0 x2), E-Key for Wi-Fi (up to Wi-Fi 6)/BT modules, B-Key 3042 for 4G LTE/5G cellular with on-board SIM — no carrier/expansion board needed (docs intro; CNX). Most rivals need an IO board or HAT.
  • Dual Gigabit Ethernet with PoE (one port, via the 25 W Radxa PoE HAT) — unusual outside router-class boards (power-supply doc; CNX).
  • PI-CO ITX mechanical design: Pico-ITX 100×75 mm with all main ports on the rear edge — drops into Pico-ITX enclosures while keeping a Pi-style 40-pin header (CNX; docs).
  • Triple display: HDMI 2.0 + 2× MIPI DSI + eDP simultaneously (docs intro; product page).
  • Community + Industrial editions of the same board (RK3568 vs RK3568J, −40–85 °C), aimed at HMI/industrial control with long-term supply (product page; mainline commit).
  • 1 TOPS NPU (RKNN) for light edge-AI, plus 4Kp60 VPU decode (CNX; product page).
  • Flexible power: PD/QC USB-C, fixed-voltage USB-C, 5 V GPIO, or PoE — designed for industrial panels with 12 V wiring (power-supply doc).
  • Open hardware: full schematics published (see Resources), open-source firmware (github.com/radxa).
  • Factory read-only ID EEPROM (BL24C16A) used by Radxa tooling (kernel commit e3b12fc).

− Weaknesses

  • Second Ethernet port dead on some mainline/alternative distros — "Rock 3B 6.12 Kernel, only one Ethernet port working — Road to DietPi", root-caused to an old bootloader and [RESOLVED: update U-Boot]; a 2026 follow-up documents the rk_gmac-dwmac … eth1: Failed to reset the dma failure on mainline 6.19-rc and its fix (forum.radxa.com/t/25181). Practical rule: on any non-Radxa image, flash a recent U-Boot (mainline rock-3b-rk3568_defconfig or current Radxa SPI image) first.
  • GPU acceleration confusion (libmali vs panfrost) — user reports that neither vendor libmali nor panfrost worked out of the box on self-built Armbian images for Rock 3B / Rock 3A (forum.radxa.com/t/20646); RK3568 sits in the awkward zone where the vendor blob and mainline Panfrost don't mix — pick one stack per OS.
  • Vendor CLI-image boot failure (GPU driver packaging) — a long-standing RK356X BSP bug made CLI images fail to boot; Radxa fixed it in radxa-repo/bsp commit 17340a7 (Jan 2024) (forum.radxa.com/t/19740).
  • Display/touchscreen overlays unreliable on the 3B — Radxa's own screen worked over HDMI but the touchscreen overlay failed, with complaints that the wiki is not tested per board (forum.radxa.com/t/24225); related GT911 touch INT-pin conflicts reported (forum.radxa.com/t/26548).
  • MaskROM access is fiddly — users report being unable to enter MaskROM with the documented button procedure when trying to rkdeveloptool-flash eMMC (forum.radxa.com/t/29701); the docs even carry a "Clear SPI Flash manually" page for stuck bootloaders (install-system docs).
  • OpenWrt on NVMe is DIY — community thread "Radxa 3B - nvme boot" documents SPI-image updating and NVMe-boot trial-and-error on OpenWrt 24.10 (forum.openwrt.org/t/225022).
  • No Wi-Fi by default + accessory discoverability — wireless requires buying and installing an M.2 E-Key module; CNX explicitly criticized Radxa's accessory catalog UX ("not always clear which one is compatible… some are simply missing") (CNX 2023-11-27).
  • Spec drift between revisions and docs — 40-pin function counts and the fixed-voltage input range differ between CNX's launch spec and today's Radxa docs (see SoC & specs notes); the design itself changed between the 2021 unveiling and the 2023 release (CNX). Check the Revision Details page and your board's schematic revision.
  • 40-pin header is "mostly" Pi-compatible, not fully — Radxa's color-coded pinout differs from the Raspberry Pi in places; forcing Pi HATs can miswire signals (CNX; compare the header color code before plugging anything) (CNX 2023-11-27).
  • Retour d'expérience expert expert — expert-pi-like
    • Petit retour d'experience sur la Rock 3B. Le format Pico-ITX 100x75mm avec les ports a l'arriere est vraiment pratique pour les boitiers, et les 3 slots M.2 (NVMe, Wi-Fi, 4G) sont un gros plus. Par contre, attention au réseau : sur les distros non-Radxa, le deuxième port Ethernet est souvent mort a… — expert-pi-like
    • Merci pour le rappel sur le U-Boot, j'ai passe une soiree a chercher pourquoi eth1 ne levait pas link sous Armbian. Concernant les ecrans tactiles, j'ai eu le même souci que les forums mentionnent : l'overlay GT911 ne marche pas bien sans bricoler les pins INT. Ca m'a fait perdre beaucoup de temps.… — hobby-maker-88
    • Pour le double affichage, evite les overlays officiels si tu as deja des conflits GPIO, ca peut être instable comme indique dans les problèmes connus. Pour le reste, le format Pico-ITX est top mais attention : les HATs Raspberry Pi ne sont pas tous compatibles, le pinout est seulement "mostly" comp… — linux-tinkerer

Community feedback and projects

  • OpenWrt dual-GbE router / 2.5 GbE-less NAS gateway on NVMe

    OpenWrt dual-GbE router / 2.5 GbE-less NAS gateway on NVMe — official OpenWrt support (unverified au 2026-10-13) — internal hosted on internal site, live status verified on 2026-10-13. Project documented in the radxa-rock-3b (SBC) sheet; role: deepen familiar…

  • Second Ethernet port dead on some mainline/alternative distros — "Rock 3B 6.12 Kernel, only one Ethernet port working — Road to DietPi", root-caused to an old bootloader and [RESOLVED: update U-Boot]; a 2026 follow-up documents the rk_gmac-dwmac … eth1: Failed to reset the dma failure on mainline 6.19-rc and its fix (forum.radxa.com/t/25181). Practical rule: on any non-Radxa image, flash a recent U-Boot (mainline rock-3b-rk3568_defconfig or current Radxa SPI image) first.
  • GPU acceleration confusion (libmali vs panfrost) — user reports that neither vendor libmali nor panfrost worked out of the box on self-built Armbian images for Rock 3B / Rock 3A (forum.radxa.com/t/20646); RK3568 sits in the awkward zone where the vendor blob and mainline Panfrost don't mix — pick one stack per OS.
  • Vendor CLI-image boot failure (GPU driver packaging) — a long-standing RK356X BSP bug made CLI images fail to boot; Radxa fixed it in radxa-repo/bsp commit 17340a7 (Jan 2024) (forum.radxa.com/t/19740).
  • Display/touchscreen overlays unreliable on the 3B — Radxa's own screen worked over HDMI but the touchscreen overlay failed, with complaints that the wiki is not tested per board (forum.radxa.com/t/24225); related GT911 touch INT-pin conflicts reported (forum.radxa.com/t/26548).
  • MaskROM access is fiddly — users report being unable to enter MaskROM with the documented button procedure when trying to rkdeveloptool-flash eMMC (forum.radxa.com/t/29701); the docs even carry a "Clear SPI Flash manually" page for stuck bootloaders (install-system docs).
  • OpenWrt on NVMe is DIY — community thread "Radxa 3B - nvme boot" documents SPI-image updating and NVMe-boot trial-and-error on OpenWrt 24.10 (forum.openwrt.org/t/225022).
  • No Wi-Fi by default + accessory discoverability — wireless requires buying and installing an M.2 E-Key module; CNX explicitly criticized Radxa's accessory catalog UX ("not always clear which one is compatible… some are simply missing") (CNX 2023-11-27).
  • Spec drift between revisions and docs — 40-pin function counts and the fixed-voltage input range differ between CNX's launch spec and today's Radxa docs (see SoC & specs notes); the design itself changed between the 2021 unveiling and the 2023 release (CNX). Check the Revision Details page and your board's schematic revision.
  • 40-pin header is "mostly" Pi-compatible, not fully — Radxa's color-coded pinout differs from the Raspberry Pi in places; forcing Pi HATs can miswire signals (CNX; compare the header color code before plugging anything) (CNX 2023-11-27).

Code library — examples written for this board

  • clignotante.py Python

    The getting-underway script on an SBC: an LED on the GPIO header blinks at 1 Hz. python3-gpiod drives the GPIO chip straight through the kernel, with no proprietary library.

  • bouton-gpio.py Python

    A button on the GPIO header triggers an action on press and release. Generic version that polls the gpiod line directly, with a 30 ms software debounce filter.

  • capteur-i2c.sh Bash

    The Linux reflex for any I2C sensor: scan the bus with i2cdetect, confirm the chip is there, then read a few registers with i2cget. Direct terminal output without writing a line of application code.

  • surveillance-temperature.sh Bash

    With zero dependencies, this script reads the thermal sensor exposed by the Linux kernel, logs CPU temperature and frequency to CSV and prints an alert past a threshold. Perfect to size passive cooli…

  • capteur-dht11.py Python

    The Adafruit CircuitPython driver runs on stock Linux: it bit-bangs the DHT 1-wire protocol through libgpiod. The script prints temperature and humidity every 2 s, shrugging off invalid frames withou…

  • servo-pwm-sysfs.sh Bash

    The Linux kernel PWM interface (sysfs) is identical on every board: 20 ms period, 0.5-2.5 ms pulse. This bash script sweeps a servo over 3 cycles then cuts power to stop the buzzing.

  • serveur-web-capteur.py Python

    With no external dependency, the board becomes a web server: an HTML page shows SoC temperature and uptime, a JSON endpoint exposes them to dashboards. The network reflex for monitoring a headless SB…

  • wifi-station.sh Bash

    NetworkManager is the standard tool of modern board distributions: two commands are enough to join a WPA2 access point and check the obtained IP. The script also lists visible networks with their sec…

  • journal-cron.sh Bash

    The cron + short-script pair is Linux' universal scheduler: every minute, CPU load and temperature are appended to a CSV with built-in rotation. Zero dependencies, zero daemons, survives reboots on i…

  • veilleur-systemd.py Python

    A heartbeat LED plus a per-second service check: the script becomes a systemd daemon with Restart=always, started at boot. The robustness pattern for a headless embedded board.

Examples and repos found online