What you'll need
- A Raspberry Pi (3B / 4 / 5 — see compatibility).
- A microSD card, 8 GB or larger (Class 10 / A1 recommended).
- An SD card reader on your computer.
- The drDRO control board wired to the Pi's RS-485 / UART.
- A touchscreen (a 1024×600 USB panel is the reference display).
- Raspberry Pi Imager (recommended) or balenaEtcher.
Three steps
Download
Grab the latest stable image below.
Flash
Write it to the SD card with Imager or
dd.Boot
Insert, connect the board, power on — done.
1 · Download the latest image
The appliance image lives in the drdro-arch
repository. This panel pulls the latest stable release straight from GitHub.
The file is a zstandard-compressed raw image
(drdro-arch-vX.Y.Z-rpi-aarch64.img.zst) plus a SHA256SUMS checksum. One image
covers the whole Pi 3 / 4 / 5 family.
Why can't I flash straight from this page? Web browsers deliberately have no access to raw storage devices — there is no API that lets a website write an OS image to an SD card. That's exactly why Raspberry Pi Imager and balenaEtcher are native apps. So: download here, then flash with one of the tools below. It takes about two extra minutes and it's rock-solid.
2 · Flash it — Raspberry Pi Imager Recommended
Works identically on Windows, macOS and Linux, and can open the compressed .img.zst directly on
recent versions.
-
Install & open Raspberry Pi Imager
Get it from raspberrypi.com/software and launch it.
-
Choose the drDRO image
Click Choose OS → scroll to the bottom → Use custom, then select the file you just downloaded. If your Imager version refuses the
.img.zst, decompress it first (see the command line below) and pick the resulting.img. -
Choose your SD card
Click Choose Storage and pick the microSD card. Double-check you've selected the card and not another drive — writing erases it completely.
-
Skip OS customisation
If Imager offers to pre-configure Wi-Fi / SSH / hostname, choose No / Skip — the appliance manages its own settings (you configure Wi-Fi from the touchscreen after boot).
-
Write
Hit Write and wait for the write-plus-verify to finish. When it's done, eject the card.
3 · Flash it — command line Advanced
Prefer the terminal? Decompress the image and write it with dd.
Find the card's device node with lsblk (e.g. /dev/sda or
/dev/mmcblk0). Make sure it's the card, not your system disk.
# 1. decompress the downloaded image
zstd -d drdro-arch-*-rpi-aarch64.img.zst
# 2. (optional) verify the checksum
sha256sum -c SHA256SUMS
# 3. write it — replace sdX with YOUR card's device!
sudo dd if=drdro-arch-*-rpi-aarch64.img of=/dev/sdX bs=4M conv=fsync status=progress
sync
Identify the disk with diskutil list, unmount it, and write to the
raw node (/dev/rdiskN) for speed.
# install zstd if needed: brew install zstd
zstd -d drdro-arch-*-rpi-aarch64.img.zst
shasum -a 256 -c SHA256SUMS
# find the disk, then unmount (replace N)
diskutil list
diskutil unmountDisk /dev/diskN
# write to the RAW node (rdiskN)
sudo dd if=drdro-arch-*-rpi-aarch64.img of=/dev/rdiskN bs=4m
diskutil eject /dev/diskN
Windows has no native dd. The easiest path is Raspberry Pi Imager or
balenaEtcher (both take a custom image). If the tool can't read .zst, decompress first with the
zstd tool or 7-Zip.
# decompress (install zstd: winget install Facebook.Zstandard)
zstd -d drdro-arch-*-rpi-aarch64.img.zst
# verify the checksum
CertUtil -hashfile drdro-arch-*-rpi-aarch64.img SHA256
# then flash the .img with Raspberry Pi Imager -> Use custom
4 · First boot
Insert the card, connect the drDRO board to the Pi's RS-485 / UART and the touchscreen, then apply power.
What to expect
- A silent boot with the drDRO splash, then the app full-screen.
- On the very first boot the root filesystem auto-grows to fill the whole card.
- No network required — everything the app needs ships inside the image.
- The read-out goes live as soon as the board is detected on the serial line.
Maintenance shortcuts & access
- Ctrl+Alt+F2 — a login shell for maintenance.
- Ctrl+Alt+F3 — the live app / Kivy log.
- Ctrl+Alt+F1 — back to the app.
- SSH is enabled — default user
default/ passworddefault(passwordless sudo).
The default credentials are intentionally permissive for first setup. If the machine will sit on a shared network, change the password (and consider disabling SSH) once you're up and running.
If the board's firmware is older than the app needs, the home screen shows a tap-to-update banner — tap it and flash the current firmware over RS-485 from the Firmware screen. No extra cables.
Tested & compatible Raspberry Pi models
The image is a single Arch Linux ARM (aarch64) rootfs with the Raspberry Pi downstream kernel, so the firmware auto-selects the right device tree per board. Here's where it stands today.
| Model | Status | Verified | Notes |
|---|---|---|---|
| Pi 3B / 3B+ | ✓ Fully verified | Boot, USB touch (incl. multitouch), hardware GL (VC4 V3D), RS-485, onboard Wi-Fi | The reference bench board. |
| Pi 5 | ✓ Fully verified | Boot with screen attached, touch, GL, DNS, 2.4 + 5 GHz Wi-Fi, firmware-update flow | Ships with usb_max_current_enable so a USB touch panel doesn't trip the power cap. |
| Pi 4 / 400 / CM4 | ● Expected to work | Same kernel, dtbs & mesa V3D path as the verified boards | Final on-board sign-off pending. |
| Pi Zero 2 W | Untested | — | aarch64 & same family — likely, but unproven. |
| Pi 1 / 2 / Zero (v1) | ✗ Not supported | — | 32-bit / ARMv6-7; the image is aarch64 only. |
Display
The app targets a 1024×600 panel. USB touchscreens are auto-detected via
mtdev (the reference panel is a QDtech MPI7003 1024×600). DSI/HDMI displays work too;
touch input needs a supported controller.
Wi-Fi
Onboard Broadcom and common Realtek USB dongles are included. The Pi 3's onboard chip is 2.4 GHz only; Pi 4 / 5 are dual-band. Configure it from the Network screen.
Troubleshooting first boot
Black screen / no image
Re-seat the SD card and check the display cable. On a Pi 5 with a USB touch panel, make sure you're on the latest image (it enables the higher USB current budget). Press Ctrl+Alt+F3 to see the boot log.
Read-out stays at zero
The board isn't being seen on the serial line. Check the RS-485 wiring and that the board is powered; the app uses the Pi's UART (/dev/serial0). The Stats screen shows the link state.
Firmware-update banner won't clear
Tap it, open the Firmware screen and install the latest release over RS-485. The banner clears once the board reports a compatible version.
Card looks small after flashing
That's expected — the image ships compact and the root partition auto-grows to the full card on first boot. Give it one boot to settle.
Up and running?
Explore what every screen does, or set up a development machine.