Orange Pi 5 Plus (Rockchip RK3588)

Shenzhen Xunlong Software CoSBClinux

⚡ The essentials in 60 seconds

The Orange Pi 5 Plus, introduced by Shenzhen Xunlong Software Co., Ltd. in May 2023, stands as a significant milestone in the single-board computer landscape, marking the brand’s first full implementation of the Rockchip RK3588 system-on-chip. Unlike its predecessors, the Orange Pi 5 and 5B, which utilized the RK3588S variant with reduced input/output capabilities, the 5 Plus leverages the complete RK3588 architecture. This distinction is crucial for users requiring extensive connectivity, as the full chip enables a robust array of interfaces that define this board’s utility. At its core, the device features an octa-core processor configuration comprising four high-performance Cortex-A76 cores running at up to 2.4 GHz and four efficiency-focused Cortex-A55 cores at up to 1.8 GHz. This heterogeneous computing approach allows the board to handle demanding tasks such as video encoding or complex calculations on the powerful cores while managing background processes efficiently on the lower-power cores. Graphics and artificial intelligence workloads are supported by an Arm Mali-G610 MP4 GPU and a dedicated Neural Processing Unit capable of 6 trillion operations per second, making it suitable for edge AI applications and multimedia processing.

One of the most defining characteristics of the Orange Pi 5 Plus is its networking capability, specifically the inclusion of two 2.5 Gigabit Ethernet ports. This feature positions the board as a compelling option for building high-speed home routers, firewalls, or network-attached storage devices. Both Ethernet ports are driven by Realtek RTL8125BG controllers connected via the PCIe interface, ensuring that network traffic does not bottleneck through slower USB channels. It is important to note that the board does not include onboard Wi-Fi or Bluetooth; instead, it provides an M.2 E-Key slot where users can install optional modules, such as the officially documented AP6275P or RTL8852BE, to add wireless connectivity. This modular approach allows for flexibility but requires additional hardware for wireless needs. The board’s power requirements are also specific, demanding a 5V supply at 4A. Users must be cautious when selecting power adapters, as many standard USB Power Delivery chargers may not provide the necessary fixed 5V current, potentially leading to instability or brown-outs under heavy load. Furthermore, the board features two USB Type-C ports that look identical but serve different functions: the port adjacent to the Ethernet jacks is dedicated solely to power input, while the other supports data and DisplayPort output. Confusing these two is a common pitfall that results in the board failing to boot.

Storage and expansion options further enhance the board’s versatility. An M.2 M-Key slot supports NVMe solid-state drives connected via PCIe 3.0 x4, offering theoretical transfer speeds of up to 2,000 MB/s. This high-speed storage interface, combined with the option to boot from QSPI NOR flash, allows for fast and reliable system performance, ideal for server applications. The board also includes a microSD slot, though official documentation caps supported card sizes at 128 GB. For developers and hobbyists interested in hardware interfacing, the 40-pin GPIO header provides 28 general-purpose input/output ports operating at 3.3V. Notably, this header supports two CAN bus interfaces, a feature rarely found on consumer-grade single-board computers. However, utilizing CAN requires an external transceiver chip to convert the logic-level signals to the differential signals used by automotive and industrial networks. The header also multiplexes other common protocols such as UART, I2C, SPI, and PWM, offering extensive flexibility for robotics and automation projects.

Software support for the Orange Pi 5 Plus is comprehensive, bridging the gap between proprietary vendor support and open-source community efforts. The official images provided by Xunlong run on a downstream Linux kernel, typically version 5.10, which includes closed-source drivers for the Mali GPU and Rockchip-specific multimedia codecs. These images are necessary for users who require immediate access to hardware-accelerated video decoding, encoding, or the NPU for AI tasks. Conversely, the board has gained full support in the mainline Linux kernel, with the device tree added in version 6.7. Mainline support continues to improve, with critical fixes for power management, audio, and HDMI input functionality landing in subsequent kernel releases up to version 6.18. Armbian, a popular third-party distribution, offers a supported tier for this board, providing a more standardized and up-to-date Linux experience with mainline U-Boot and kernel options. This dual-path software ecosystem allows users to choose between the convenience of vendor-optimized drivers for multimedia and the stability and security of the mainline kernel for server and networking applications.

Despite its strengths, potential users should be aware of certain documentation inconsistencies and hardware quirks. For instance, there have been discrepancies regarding the number of MIPI DSI display connectors and the exact PCB dimensions between official pages and third-party reviews. Additionally, early mainline kernel versions had issues with proper power-off functionality and headphone audio detection, which have since been resolved in newer releases. The board’s thermal management is also a consideration; while it includes a 5V fan connector and thermal trip points defined in the device tree, sustained high-performance workloads may require active cooling. Overall, the Orange Pi 5 Plus represents a powerful, I/O-rich platform that excels in networking and multimedia tasks, offering a compelling alternative to other single-board computers by providing dual 2.5GbE ports and high-speed NVMe storage in a compact form factor. Its success depends on matching the board’s specific power and connectivity requirements with the appropriate software environment, whether that be the vendor’s BSP for maximum hardware feature access or the mainline kernel for long-term maintainability and security.

Forum (1 topic) →

AttrSpecsverified
socRockchip RK3588 (the full part, not RK3588S), 8 nm LP. CPU: 4× Cortex-A76 @ up to 2.4 GHz + 4× Cortex-A55 @ up to 1.8 GHz (ARMv8.2-A, 64-bit), plus separate NEON co-processor (official page). GPU: Arm Mali-G610 MP4 — OpenGL ES 1.1/2.0/3.2, OpenCL 2.2, Vulkan 1.2 (official page). NPU: 6 TOPS, INT4/INT8/INT16/FP16 mixed precision (official page). VPU: 8Kp60 H.265/VP9/AVS2 10-bit decode, 8Kp30 H.264 decode, 4Kp60 AV1 decode, 8Kp30 H.265/H.264 encode (CNX spec table). PMIC: RK806-1 (official page; rockchip,rk806 on SPI in the mainline DTSI, plus RK8602/RK8603 CPU/NPU regulators on I²C).? unverified
ram4 / 8 / 16 GB LPDDR4/LPDDR4x (official page); 32 GB SKU announced Oct 2023 (CNX).? unverified
storagemicroSD slot (official page caps cards at 128 GB); eMMC module socket (16–256 GB); 16/32 MB QSPI NOR; M.2 M-Key (2280) slot wired to PCIe 3.0 x4, official claim "up to 2,000 MB/s" (official page; the mainline add-board commit likewise says "PCIe 3.0 on the bottom for NVMe" — &pcie3x4 enabled in the shared DTSI with its own vcc3v3_pcie30 regulator).? unverified
networking2× 2.5GbE RJ45 via RTL8125BG controllers, both hung off PCIe — the add-board commit: "2x 2.5G ethernet ports - onboard NIC hooked to PCIe 2.0 interface"; mainline enables pcie2x1l1 (right port) and pcie2x1l2 (left port) (DTS comments). No GMAC/RJ45 combo — there is no 1GbE port. No onboard Wi-Fi/Bluetooth: "there is no WIFI module on the Orange Pi 5 Plus development board, and an external PCIe network card or USB network card is required" (official wiki); the M.2 E-Key (2230) slot carries PCIe 2.0 x1 / USB 2.0 / I²S / I²C / UART and officially takes Wi-Fi 6 + BT modules AP6275P or RTL8852BE (wiki E-Key sections).✔
usb2× USB 3.0 (host, over a USB 3.0 hub per the add-board commit), 2× USB 2.0, and two Type-C ports: one data/OTG-capable USB 3.x Type-C with DisplayPort alt-mode (FUSB302 CC controller in mainline DTS, fcs,fusb302 on i2c6), and one power-only Type-C next to the Ethernet stack (wiki: "the one next to the network port is the power port, and the other Type-C port has no power supply function").? unverified
video_out2× HDMI 2.1 up to 8K@60, 1× Type-C DP-TX 1.4a up to 8K@30, 1× MIPI DSI 4-lane up to 4K@60 (official page). Up to four different displays (official page).? unverified
video_in1× HDMI 2.0 input up to 4K@60 (RK3588 HDMI-RX block; &hdmi_receiver in mainline, enabled since Linux 6.18) + 1× MIPI CSI 4-lane camera input (official page).? unverified
audioES8388 codec (I²S0, everest,es8388 in mainline DTSI) + speaker amp, 3.5 mm jack with mic, onboard mic, speaker connector, HDMI 2.1 eARC (official page; CNX names the AW8733ATQR amplifier). Mainline wires headphone/speaker amps + HP detect (the detect polarity was initially inverted — see Problems).? unverified
gpio_40_pin_headerdual-row 40-pin, 28 GPIO ports, all 3.3 V (official wiki §3.16), multiplexing UART, I²C, SPI, CAN (×2: CAN0 + CAN1), I²S, PDM, AUDDSM, SDIO, PWM, GPIO (official page). CAN needs an external TTL→CAN transceiver — the wiki §3.18.7 wires a standalone transceiver to the header's 3.3 V/GND/TX/RX. Example pin: header pin 7 = GPIO1_D6 = wPi 2 (wiki §3.18.1).? unverified
miscIR receiver (gpio-ir-receiver on GPIO4_B3 in mainline DTS), HYM8563 RTC with 2-pin backup-battery connector, 5 V PWM fan connector (mainline thermal map: fan stage at 55 °C, full at 65 °C — package_thermal trips in the shared DTSI), 3-pin debug UART header, MaskROM/Recovery/On-Off buttons, RGB side LED ("R is always on" per the add-board commit) + green status LED (PWM, pwm2 in mainline).? unverified
powerUSB Type-C, 5 V @ 4 A (official page; wiki §2.1 recommends 5 V/4 A or 5 V/5 A). The 40-pin 5 V pin can also power the board as an official alternative (wiki §2.17, "remember not to reverse the connection"). The Type-C data port's PD controller is wired as a 5 V/1.4 A source for peripherals in mainline (source-pdos = <PDO_FIXED(5000, 1400 …)>, try-power-role = "source") — the board is not bus-powered through it.? unverified
consumption? unverified
temperature? unverified
pcb100 × 75 mm, 86.5 g (official page). CNX says 100 × 70 mm — see Problems.? unverified
  • Manufacturer: Shenzhen Xunlong Software Co., Ltd. (brand: Orange Pi). Devicetree compatible string is xunlong,orangepi-5-plus, model "Xunlong Orange Pi 5 Plus" (mainline DTS, retrieved 2026-10-13).
  • Year introduced: 2023. Announced 2023-05-10 (CNX Software launch article, retrieved 2026-10-13). It is Orange Pi's first full-RK3588 board, succeeding the RK3588S-based Orange Pi 5 and 5B; the I/O-rich RK3588 (vs the I/O-cut RK3588S) is what enabled dual 2.5GbE + dual HDMI-out + 2 M.2 sockets (CNX). Armbian's board config records INTRODUCED="2023" (armbian/build config/boards/orangepi5-plus.conf, retrieved 2026-10-13).
  • Launch prices (May 2023, per CNX): 4 GB — $89.90 · 8 GB — $109.00 · 16 GB — $129.00, sold via the company's Amazon and AliExpress stores (CNX 2023-05-10).
  • 32 GB RAM variant: added 2023-10-13 alongside 32 GB versions of the OPi 5 and 5B — "besides the higher RAM capacity, nothing else has changed" (CNX 2023-10-13, retrieved 2026-10-13). The official product page still lists only 4/8/16 GB (see Problems → documentation drift).
  • Status: Active. Listed on the official product page (fetched live 2026-10-13): orangepi.org Orange Pi 5 Plus.
  • Variants: RAM SKUs 4/8/16 GB LPDDR4/LPDDR4x (official page) + 32 GB (CNX, Oct 2023); optional eMMC module 16/32/64/128/256 GB; 16 or 32 MB QSPI NOR. No Wi-Fi variants — Wi-Fi is only ever an optional M.2 E-Key module (official wiki). Not to be confused with the RK3588S-based Orange Pi 5 (shared mainline .dtsi!), the Orange Pi 5 Pro/Max/Ultra, or the 2025 CIX-P1-based Orange Pi 6 Plus (CNX).

+ Strengths

  • Dual 2.5GbE on an SBC at ~$90 — both RTL8125BG ports on PCIe, plus QSPI NOR small enough to hold a full OpenWrt image (the vendor ships OpenWrt images and a dedicated "burn OpenWRT image to SPI FLASH" procedure, wiki §2.7/§8). This is the board's headline use case: a compact soft-router/firewall. CNX paired it feature-for-feature with FriendlyElec's NanoPC-T6, launched the day before (CNX, retrieved 2026-10-13).
  • HDMI input (4K@60) alongside dual HDMI 2.1 outputs — capture/loop-out on the same box; RK3588 HDMI-RX with eARC on the output side (official page; mainline &hdmi_receiver since 6.18).
  • M.2 M-Key NVMe at PCIe 3.0 x4 (up to 2,000 MB/s claimed) — unlike the x1-limited M.2 on the plain Orange Pi 5 or the 3B; also takes other 2280 PCIe modules "e.g. AI accelerators" (CNX spec table).
  • Wi-Fi 6 by module (M.2 E-Key, AP6275P/RTL8852BE officially documented) — flexible but bring-your-own (see Problems).
  • 6 TOPS NPU + 8K VPU + Mali-G610 — full RK3588 multimedia/AI block (official page; RKNN SDK: airockchip/rknn-toolkit2, HTTP 200 verified 2026-10-13).
  • Two CAN buses on the 40-pin header (CAN0 + CAN1, wiki §3.18.7) — rare on Pi-class boards; needs an external transceiver.
  • Real PMIC power control: RK806-1 is the system power controller (mainline since the April 2024 fix), so poweroff actually cuts power; RTC (HYM8563) + IR receiver + PWM fan with DT thermal trips round out an unusually complete board feature set.
  • UEFI option: Armbian's EDK2 extension (orangepi-5plus board ID) can drop a UEFI layer on top of U-Boot (Armbian config above).

− Weaknesses

  • Two identical-looking Type-C ports; only one powers the board. "The one next to the network port is the power port, and the other Type-C port has no power supply function" (official wiki §2.1, retrieved 2026-10-13). Plugging the supply into the data port = dead board.
  • 5 V/4 A supply required — PD chargers can disappoint. Official spec is 5 V @ 4 A (product page); the mainline Type-C controller advertises only 5 V/1.4 A source and a ~0 sink PDO, i.e. no PD contract is negotiated for board power. A "PD" adapter that defaults to 5 V/2 A or offers only 9/12/20 V PDOs can brown-out the board under NVMe + 2.5GbE + USB load. Use the official 5 V/4–5 A supply or a fixed-5 V supply ≥4 A.
  • No onboard Wi-Fi/Bluetooth. Explicit wiki warning (§3.6.2): external PCIe or USB card required; officially documented E-Key modules are AP6275P and RTL8852BE. On mainline kernels before the Aug-2024 rfkill commit the module had no rfkill binding (Florian Klink's commit, 2024-08-10; sha recovered from the GitHub commit-history API for the board DTS path).
  • Headphone audio dead on mainline until Linux 6.17. "The logic of the headphone detect pin seems to be inverted, with this change headphones actually output sound when plugged in" — fix merged for 6.17 (v6.17-rockchip-dtsfixes2), Fixes: 236d225e1ee7 (merge commit, retrieved 2026-10-13).
  • No clean power-off on kernels 6.7–6.9-ish. The PMIC was only marked as system power controller in April 2024: "so the board will shut-down properly" (commit d1b8b36a, Fixes: 236d225e1ee7). Symptom on early mainline: board stays powered after poweroff.
  • HDMI-in missing until Linux 6.18. The receiver node was only enabled 2025-08-24 ("Enable HDMI receiver on orangepi 5 plus", verified present at tag v6.18, absent at v6.17). On the vendor images HDMI-in is disabled by default and must be switched on via sudo orangepi-config → System → Hardware → hdmirx + reboot, then tested with test_hdmiin.sh (wiki §3.11.2).
  • RGB side LED: red channel is hard-wired on — "RGB LED (R is always on)" in the add-board commit; only the green (PWM pwm2) and blue (GPIO3_A6) LEDs are controllable in mainline. Don't plan status signalling around the red channel.
  • Vendor vs mainline multimedia split. RKNN (NPU), MPP/RGA and the closed Mali blob live on the BSP 5.10 vendor images; mainline uses panfrost + stateless codecs. The five distinct sound cards (HDMI0/HDMI1/HDMI-In/DP0/ES8388) even need Armbian udev renaming to be usable (Armbian config above).
  • Documentation drift: (a) official page lists 4/8/16 GB while CNX documented a 32 GB SKU in Oct 2023; (b) dimensions 100×75 mm (official) vs 100×70 mm (CNX); (c) MIPI DSI count 1 (official) vs 2 (CNX); (d) the official page's USB table says "Type-C ×1" while its own prose describes two Type-C ports (one power). Verify against the board silkscreen and the "Orange Pi 5 Plus Pin Definition" figure on the product page (image URL not captured this session).
  • OpenWrt image download trap. The OpenWrt download folder contains two image kinds; the wiki warns to take the one in the "TF card, eMMC and NVME SSD boot image" folder for those media (the other is the SPI-flash image) (wiki §2.3 note).
  • microSD capped at 128 GB per the official page ("up to 128GB") — larger cards may or may not work; >
  • CAN is transceiver-less. CAN0/CAN1 bring TTL-level signals to the header; the wiki §3.18.7 requires wiring an external CAN transceiver (3.3 V + GND + TX/RX) before ip link set can0 is useful.
  • Thermals: no official temperature range or power figures; the mainline DT ramps the fan at 55 °C and full speed at 65 °C (package_thermal trips in the shared DTSI) — plan on the 5 V fan connector or a heatsink for anything sustained.
  • Retour d'expérience expert expert — expert-pi-like
    • Sur l'Orange Pi 5 Plus, le piège classique est l'alimentation. Il y a deux ports USB-C identiques, mais seul celui près des RJ45 alimente la carte. L'autre est pour les données. De plus, évitez les chargeurs PD génériques : la spec officielle exige du 5V/4A. Un mauvais adaptateur provoque des coupu… — expert-pi-like
    • Merci pour ces détails sur l'alim. J'ai reçu la mienne et je bute sur l'audio. Je n'ai aucun son dans le casque avec la dernière image Armbian Mainline. Est-ce un défaut de ma carte ou un problème connu ? J'ai vérifié les branchements physiques plusieurs fois, rien ne change. Par contre, pour la pa… — maker-newbie
    • C'est normal pour l'audio, ne cherche pas plus loin. La détection de casque était inversée dans le Device Tree jusqu'à Linux 6.17. Il faut flasher une image basée sur un noyau récent pour que ça marche. Tant que tu es sur une version antérieure, même si tu branches le casque, le système ne le voit … — linux-hacker-99

Community feedback and projects

  • 2.5GbE OpenWrt router

    2.5GbE OpenWrt router — vendor procedure to flash OpenWrt into the QSPI NOR (dual (unverified au 2026-10-13) — internal hosted on internal site, live status verified on 2026-10-13. Project documented in the orangepi-5-plus (SBC) sheet; role: deepen familiarit…

Content not available yet.

  • Two identical-looking Type-C ports; only one powers the board. "The one next to the network port is the power port, and the other Type-C port has no power supply function" (official wiki §2.1, retrieved 2026-10-13). Plugging the supply into the data port = dead board.
  • 5 V/4 A supply required — PD chargers can disappoint. Official spec is 5 V @ 4 A (product page); the mainline Type-C controller advertises only 5 V/1.4 A source and a ~0 sink PDO, i.e. no PD contract is negotiated for board power. A "PD" adapter that defaults to 5 V/2 A or offers only 9/12/20 V PDOs can brown-out the board under NVMe + 2.5GbE + USB load. Use the official 5 V/4–5 A supply or a fixed-5 V supply ≥4 A.
  • No onboard Wi-Fi/Bluetooth. Explicit wiki warning (§3.6.2): external PCIe or USB card required; officially documented E-Key modules are AP6275P and RTL8852BE. On mainline kernels before the Aug-2024 rfkill commit the module had no rfkill binding (Florian Klink's commit, 2024-08-10; sha recovered from the GitHub commit-history API for the board DTS path).
  • Headphone audio dead on mainline until Linux 6.17. "The logic of the headphone detect pin seems to be inverted, with this change headphones actually output sound when plugged in" — fix merged for 6.17 (v6.17-rockchip-dtsfixes2), Fixes: 236d225e1ee7 (merge commit, retrieved 2026-10-13).
  • No clean power-off on kernels 6.7–6.9-ish. The PMIC was only marked as system power controller in April 2024: "so the board will shut-down properly" (commit d1b8b36a, Fixes: 236d225e1ee7). Symptom on early mainline: board stays powered after poweroff.
  • HDMI-in missing until Linux 6.18. The receiver node was only enabled 2025-08-24 ("Enable HDMI receiver on orangepi 5 plus", verified present at tag v6.18, absent at v6.17). On the vendor images HDMI-in is disabled by default and must be switched on via sudo orangepi-config → System → Hardware → hdmirx + reboot, then tested with test_hdmiin.sh (wiki §3.11.2).
  • RGB side LED: red channel is hard-wired on — "RGB LED (R is always on)" in the add-board commit; only the green (PWM pwm2) and blue (GPIO3_A6) LEDs are controllable in mainline. Don't plan status signalling around the red channel.
  • Vendor vs mainline multimedia split. RKNN (NPU), MPP/RGA and the closed Mali blob live on the BSP 5.10 vendor images; mainline uses panfrost + stateless codecs. The five distinct sound cards (HDMI0/HDMI1/HDMI-In/DP0/ES8388) even need Armbian udev renaming to be usable (Armbian config above).
  • Documentation drift: (a) official page lists 4/8/16 GB while CNX documented a 32 GB SKU in Oct 2023; (b) dimensions 100×75 mm (official) vs 100×70 mm (CNX); (c) MIPI DSI count 1 (official) vs 2 (CNX); (d) the official page's USB table says "Type-C ×1" while its own prose describes two Type-C ports (one power). Verify against the board silkscreen and the "Orange Pi 5 Plus Pin Definition" figure on the product page (image URL not captured this session).
  • OpenWrt image download trap. The OpenWrt download folder contains two image kinds; the wiki warns to take the one in the "TF card, eMMC and NVME SSD boot image" folder for those media (the other is the SPI-flash image) (wiki §2.3 note).
  • microSD capped at 128 GB per the official page ("up to 128GB") — larger cards may or may not work; >
  • CAN is transceiver-less. CAN0/CAN1 bring TTL-level signals to the header; the wiki §3.18.7 requires wiring an external CAN transceiver (3.3 V + GND + TX/RX) before ip link set can0 is useful.
  • Thermals: no official temperature range or power figures; the mainline DT ramps the fan at 55 °C and full speed at 65 °C (package_thermal trips in the shared DTSI) — plan on the 5 V fan connector or a heatsink for anything sustained.

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