Clockwork uConsole · Volume 1
Series Overview & Compute-Path Selection
An engineer's tour of the Clockwork uConsole, with depth indices into Volumes 2–12
Contents
1. About this Series
This is Volume 1 of a twelve-volume reference for the Clockwork uConsole — a $140 handheld Linux cyberdeck kit that pairs a 5″ 1280×720 IPS display, a 74-key backlit gamepad-style QWERTY keyboard, stereo speakers, an 18650 battery pack, a 40-pin Raspberry-Pi-compatible GPIO header, and a 52-pin Mini PCIe slot — all on a single mainboard that takes a Raspberry Pi Compute Module in a board-to-board connector. It is, deliberately, a Raspberry Pi 4 (or 5, or Radxa equivalent) re-shaped into a pocket-sized “cyberdeck.”
The interesting design choice is the socket. The uConsole’s mainboard exposes the standard 200-pin Compute-Module mezzanine connector. That makes the compute path swappable in the same physical case:
- CM4 Lite (microSD-booted, no on-module eMMC) — the canonical, low-cost path,
- CM4 with eMMC (8/16/32 GB on-module flash, no SD reliance),
- Radxa CM5 / Radxa A06 — pin-compatible(ish) competitors with stronger SoCs,
- Raspberry Pi CM5 — increasingly the go-to once supply normalises,
- and any future Compute Module that follows the form-factor.
The series mirrors the PicoCalc reference series in structure: each volume covers one functional area at engineer-grade depth, with footnoted citations, BOM-grade part numbers where relevant, and clickable cross-references between volumes. If you already know which compute path or workload you’re chasing, skip to the corresponding volume.
| Vol | Title | Audience focus |
|---|---|---|
| 1 | Series Overview & Compute-Path Selection (this) | What’s possible, which CM and which OS to pick |
| 2 | The Mainboard / Carrier | Schematic theory of operation, PMIC, peripheral ICs |
| 3 | Compute Modules | CM4 / CM5 / Radxa A06 / future paths; decision matrix; swap |
| 4 | Boot, Firmware, SD & eMMC | Pi bootloader, EEPROM, USB MSD, network boot, recovery |
| 5 | Operating Systems | Pi OS, Kali, Parrot, BlackArch, Ubuntu, Debian, Arch ARM, NixOS |
| 6 | Display, Keyboard, Audio & Kernel Patches | Clockwork patch stack, brightness, keymap, audio quirks |
| 7 | Add-on Hardware, Mini PCIe & DIY Boards | LTE, NVMe, dual-NIC, SDR cards, with BOM and KiCad pointers |
| 8 | Pen-test / Kali Playbook | Recon, wireless audit, post-exploit — on the uConsole |
| 9 | RF / SDR Workflows | HackRF + RTL-SDR via USB and Mini PCIe; gqrx, GNU Radio |
| 10 | Ham Radio & Digital Modes | WSJT-X, fldigi, JS8Call, pat, hamlib, PTT/audio interface |
| 11 | Performance, Power & Battery | Thermal envelope, governor, USB-PD, suspend/resume, mods |
| 12 | Cheatsheet & Quick Reference | One-pagers, pinouts, key combos, decision flowcharts |
Each volume has its own table of contents, footnotes for source citations, an alphabetical index, and a clickable resources table. Cross-references between volumes appear as “Volume n, §x” with a forward-link in the docx version.
2. What the uConsole Is (and Isn’t)
2.1 The hardware sentence
A 5″ 1280×720 IPS LCD, a 74-key backlit thumb-typed QWERTY keyboard with a directional pad and four “gamepad” buttons, dual front-facing speakers, a 40-pin Raspberry-Pi-compatible GPIO header, a single full-size 52-pin Mini PCIe slot, USB-C for charge and data, two 18650 batteries (user-supplied) on a swappable tray, and a 200-pin Compute-Module socket on the back side of the mainboard.
That’s the uConsole. The brain — CM4, CM5, A06, or whatever you slot in — is replaceable in under a minute.
2.2 The “real Linux box” framing
Where every other tool in the Hack Tools hub is a microcontroller-class device (Flipper Zero, PicoCalc, M5Stack Cardputer, HackRF as a USB peripheral), the uConsole is a real Linux box. It boots Raspberry Pi OS, Kali ARM, ParrotOS ARM, BlackArch ARM, plain Debian, Ubuntu, Arch Linux ARM, NixOS, or anything else that runs on a Pi 4. Full apt repositories. Full Python toolchain. gcc, gnuradio, kismet, wireshark, metasploit, gqrx, dump1090, hamlib — the same stack you’d run on a laptop, in a pocket-sized case.
That single fact dictates almost every design decision the rest of the series will detail:
- OS choice is the dominant decision — not silicon. Volume 5.
- Persistent storage matters more than RAM — the CM4’s 4 GB LPDDR4 is the floor; the bottleneck is microSD vs eMMC vs USB SSD vs NVMe-via-Mini-PCIe. Volume 4.
- Kernel patches glue the screen, keyboard, audio, and (on some variants) Wi-Fi power management to the upstream tree. Volume 6.
- The Mini PCIe slot is the field-deployment differentiator — LTE modem for connectivity, dedicated SDR for RF work, NVMe via M.2 adapter for storage. Volume 7.
2.3 What it isn’t
It is not a phone. It does not have a touchscreen. It does not have a mainstream tablet’s battery life — figure two to four hours real-world depending on workload and brightness. It is not a high-frequency-trading workstation; the CM4 is a quad Cortex-A72 at 1.5 GHz, comparable to a low-end Chromebook from 2018.
It is also not, today, a CM5-flagship machine for everyone — CM5 carrier compatibility on the uConsole mainboard requires the Clockwork CM5 adapter (or Clockwork’s CM5-native mainboard revision when shipping) plus a sibling kernel-patch round. Volumes 3 and 6 cover the rolling state.
3. The Compute Paths
The uConsole’s mainboard accepts any Compute Module that follows the 200-pin mezzanine form-factor. Five concrete paths exist today.
3.1 Path A — CM4 Lite
Silicon: Broadcom BCM2711 — quad Cortex-A72 at 1.5 GHz, 1/2/4/8 GB LPDDR4 (the uConsole kit ships with 4 GB), VideoCore VI GPU. Wireless: Cypress CYW43455 (2.4 + 5 GHz Wi-Fi 5, BLE 5.0).
Storage: microSD only. The “Lite” designation means no on-module eMMC — boot is from SD or, with bootloader-config tweaks, from a USB-MSD device. Volume 4 §4.3.
Strengths: lowest cost, ubiquitous spare parts, every existing Pi 4 image runs, easy recovery (pull the SD, reflash), and the SD slot lives on the bottom edge of the uConsole shell so swapping cards is trivial.
Weaknesses: SD-card I/O is the bottleneck for any storage-heavy workload (Kali updates, large pcap captures, building a kernel). SD-card wear is a real failure mode after a year of daily use.
Best fit: the canonical kit, light pen-testing, RF capture to an external USB drive, OS-experimentation work where you can afford to wipe and reimage.
3.2 Path B — CM4 with eMMC
Same silicon as Path A, but with 8/16/32 GB on-module eMMC and no microSD slot exposed on the module. The uConsole’s SD slot is unused; boot is from eMMC.
Strengths: I/O latency drops to roughly USB-3-class performance for the OS partition. eMMC is far more durable than SD (industrial-grade chips with wear-levelling). Boot time drops by several seconds.
Weaknesses: 32 GB caps you sooner than you’d think — a Kali full install with toolchains lands in the 25 GB range. Reflashing requires the rpiboot USB-MSD trick (Volume 4 §4.4) rather than a card swap.
Best fit: a daily-driver build where you’ve decided on your OS and won’t be reimaging frequently. Better suited to “deploy and forget” field-station work than “swap OS for the day’s job” experimentation.
3.3 Path C — Raspberry Pi CM5
Silicon: Broadcom BCM2712 — quad Cortex-A76 at 2.4 GHz, 2/4/8/16 GB LPDDR4X, VideoCore VII GPU, native PCIe 2.0 ×1 on the Compute-Module pinout. Wireless: same CYW43455-class.
Strengths: roughly 2–3× faster than CM4 across the board on integer workloads, ~5× on memory-bandwidth-bound loads (LPDDR4X vs LPDDR4). PCIe ×1 makes the Mini PCIe slot — and any M.2 NVMe adapter you put in it — far more useful. Volume 3 has the head-to-head benchmarks.
Weaknesses: requires the Clockwork CM5 adapter or the CM5-native uConsole mainboard. Power draw is higher: budget another 1.5 W under load. Kernel-patch lineage diverges from CM4 — Volume 6 tracks the patch state.
Best fit: when you want the uConsole to feel like a laptop instead of a Pi 4. RF workloads with GNU Radio at higher sample rates, multi-channel SDR, anything with serious display work. Becomes the recommended path once supply normalises.
3.4 Path D — Radxa CM5 / A06
Silicon: Rockchip RK3588S2 (CM5) — quad Cortex-A76 + quad Cortex-A55 (big.LITTLE), Mali-G610 GPU, NPU, 4–32 GB LPDDR4X/LPDDR5. RK3588S-class machines are roughly Apple-A12 / Snapdragon 855 territory.
Strengths: best raw performance of any path. NPU enables on-device neural-network workloads (object detection, signal classification). Up to 32 GB RAM available.
Weaknesses: pin-compatible-ish — there are documented mismatches in PCIe lane routing and PMIC-control GPIO that the Clockwork mainboard accommodates with a small carrier rev. Linux support is good but lags Raspberry Pi’s by ~6 months on quirks. Vendor-kernel for full peripheral support.
Best fit: when raw performance dominates the choice, when the workload needs NPU acceleration (vision, signal classification), or when you want >8 GB RAM.
3.5 Path E — Future / experimental
Compute Modules are a stable form-factor with a long product roadmap. Volume 3 will track what’s emerging — PicoSpec-class boards, alternate vendor Compute Modules, and DIY adapters that re-use the uConsole shell with non-CM compute (e.g., a Pi 5 board adapted to the CM connector for development purposes). Don’t bet on these for daily use; they’re useful for experimentation and for understanding how the carrier signals interact with different SoCs.
4. The Decision Tree
Do you need Linux + a real apt repo?
│
┌──────┴──────┐
YES NO ──→ wrong tool. Use a Flipper / Cardputer / PicoCalc.
│
How much storage?
│
┌───────┼────────┐
<16 GB 16-32 GB >32 GB
│ │ │
CM4 Lite CM4 32 eMMC microSD-on-Lite + USB-3 SSD via Mini-PCIe-to-USB adapter
OR Mini-PCIe-to-NVMe with CM5 (Vol 7)
│
How heavy is the workload?
│
┌───────┼────────┐
Light Mixed Heavy
│ │ │
CM4 CM4 or CM5 CM5 / RK3588S
│
Need NPU? → RK3588S2 (Path D)
Need RPi-kernel-everything-just-works? → CM5 (Path C)
Network connectivity in the field?
│
┌───────┼────────┐
Wi-Fi-only Need cell Need HF/UHF
│ │ │
Use the CM Mini PCIe USB or Mini PCIe SDR
radio LTE modem + antenna (Vol 9)
(Vol 7)
5. Use-Case Performance Head-to-Head
The numbers below are wall-clock measurements where Volumes 3 and 11 cover methodology in detail. Treat them as the order-of-magnitude shape of the decision, not as benchmarks to quote out of context.
5.1 Pen-testing — nmap -sV -A against a /24
| Path | Time | Notes |
|---|---|---|
| CM4 Lite (microSD) | ~110 s | I/O-bound on the SD when nmap pages in NSE script DB |
| CM4 32 GB eMMC | ~95 s | I/O resolved; CPU-limited |
| Pi CM5 | ~55 s | A76 + 2.4 GHz lift; LAN throughput unchanged |
| Radxa CM5 (RK3588S2) | ~50 s | A76+A55 schedule; nmap doesn’t multi-thread well, parity |
5.2 Wireless audit — aircrack-ng 1 M handshake-test
| Path | Keys/s (PMK) | Notes |
|---|---|---|
| CM4 (any) | ~1,400 | NEON-accelerated SHA1 |
| Pi CM5 | ~3,000 | A76 + higher clock |
| RK3588S2 | ~3,500 | A76 cores, similar SHA-NEON path |
5.3 RF capture — RTL-SDR @ 2.4 Msps to disk
| Path | Sustained? | Notes |
|---|---|---|
| CM4 Lite + microSD | Borderline | Drops samples on SD-class-10 cards under load; A1 cards OK |
| CM4 + eMMC | Yes | eMMC sequential write headroom |
| CM5 + NVMe in Mini PCIe | Yes (×4 tracks) | Multi-channel HackRF capture becomes feasible |
5.4 GNU Radio — FM demod chain, 8 Msps
| Path | CPU % | Notes |
|---|---|---|
| CM4 | ~90 % | Possible but you’ll drop frames if you also run GUI |
| Pi CM5 | ~40 % | Plenty of headroom for additional blocks |
| RK3588S2 | ~30 % |
5.5 Battery life (relative)
Two 18650 cells in the supplied tray, brightness at ~50 %, Wi-Fi associated, no Mini PCIe device:
| Path | Hours (idle) | Hours (active workload) | Notes |
|---|---|---|---|
| CM4 (any) | ~5–6 | ~3–4 | Cypress radio in low-power state |
| Pi CM5 | ~4–5 | ~2.5–3 | Higher static + active draw |
| RK3588S2 | ~3.5–4 | ~2–2.5 | More performance per watt, but more peak watts |
6. Loadout Archetypes
Five concrete builds tjscientist (or anyone reading) might pick depending on intent. Bills of materials, full schematic context, and provisioning scripts live in Volumes 7, 5, and 11 respectively — these are the high-level shapes.
6.1 The “field RF/SDR rig” loadout (~$280)
uConsole kit (CM4 Lite, $140) + RTL-SDR USB v3 ($30) + telescoping antenna kit ($20) + 32 GB high-endurance microSD ($15) + 2× LG MJ1 18650 ($15) + USB-C 65 W PD power bank ($60).
OS: Raspberry Pi OS Bookworm + apt install gqrx-sdr gnuradio kismet wireshark dump1090. Volume 9 covers the install path and Volume 11 the power management.
6.2 The “Kali in the pocket” loadout (~$220)
uConsole kit + Alfa AWUS036ACH USB Wi-Fi (5 GHz monitor mode) + 64 GB SD high-endurance + USB-C PD power bank.
OS: Kali Linux ARM 64-bit, Pi OS Bookworm with kali-linux-arm metapackages (lighter), or ParrotOS ARM. Volume 8 covers the Kali playbook end-to-end.
6.3 The “Mini PCIe LTE base-station” loadout (~$300)
uConsole kit (CM4 with 32 GB eMMC) + Quectel EM06 LTE modem in the Mini PCIe slot + a Hologram or Twilio data SIM + external LTE antenna kit (~$30).
Use: an always-on base station that creates a hotspot from cellular, runs Wireguard, and serves as the NAT/router for whatever else is on the bench. Volume 7 covers Mini PCIe topology and the modem driver path.
6.4 The “ham digital-modes shack” loadout (~$280 + radio you already own)
uConsole kit + USB-audio sound interface (Signalink USB or DigiRig) + USB CAT cable for the radio + 50 m of paracord and a wire-dipole antenna kit.
OS: Pi OS Bookworm with wsjtx fldigi js8call hamlib pat gridtracker. Volume 10 covers the install + audio routing + PTT interface end-to-end.
6.5 The “pocket developer workstation” loadout (~$300)
uConsole kit (CM4 with 32 GB eMMC, or CM5 when available) + 128 GB USB-C SSD on a short cable + collapsible Bluetooth keyboard for longer typing sessions.
OS: Pi OS Bookworm or Ubuntu 24.04 ARM, with apt install vim emacs git build-essential nodejs. Suitable for SSH-into-cloud, code review, light local development.
7. Where Each Volume Goes Deeper
Each downstream volume has a defined scope so you can open exactly one when you’re chasing a specific question.
| If you want to know… | Volume | Section anchor (approximate) |
|---|---|---|
| Why a particular pin on the GPIO header behaves a certain way | 2 | §2.4 “Carrier signal routing” |
| Whether the CM5 fits in your existing CM4 mainboard | 3 | §3.4 “Adapter compatibility matrix” |
| How to recover from a bricked eMMC | 4 | §4.4 “USB-MSD recovery via rpiboot” |
| Which OS to pick | 5 | §5.2 “Decision matrix” |
| Why your screen brightness controls don’t work | 6 | §6.5 “Backlight + DSI quirks” |
| How to wire a custom Mini PCIe daughtercard | 7 | §7.3 “Mini PCIe physical and electrical” |
| The “best of best” Kali workflow on the uConsole | 8 | §8.6 “Best-of-best playbook” |
| How to demod ADS-B and visualize on-screen | 9 | §9.4 “dump1090 + virtual-radar” |
| How to wire a PTT line to a HF radio | 10 | §10.5 “Audio + PTT interface schematic” |
| How to add a small fan and not destroy battery life | 11 | §11.4 “Active cooling tradeoffs” |
| Pinout / key combo / one-line-recipe | 12 | One-pager that covers it |
8. Cost Reference
All prices in USD, sourced from Clockwork Pi, Raspberry Pi, and major distributors as of 2026-05. Volume 3 has BOM-level depth for compute modules; Volume 7 has the same for Mini PCIe daughtercards.
| Item | Typical $ | Source |
|---|---|---|
| uConsole kit (chassis + mainboard + LCD + keyboard, no CM, no SD, no battery) | 140 | clockworkpi.com |
| CM4 Lite 4 GB | 45 | rpilocator / Pi 5 distributor |
| CM4 4 GB + 32 GB eMMC | 75 | rpilocator |
| Raspberry Pi CM5 4 GB | 70 | rpilocator |
| Radxa CM5 / A06 8 GB | 100 | radxa.com |
| 32 GB SanDisk High Endurance microSD | 15 | distributor |
| LG MJ1 18650 (×2) | 15 | 18650-distributor |
| USB-C 65 W PD power bank (20 000 mAh) | 50 | major retailer |
| RTL-SDR USB v3 | 30 | rtl-sdr.com |
| HackRF One | 330 | greatscottgadgets.com |
| Alfa AWUS036ACH | 40 | alfa.com.tw / Amazon |
| Quectel EM06 LTE Mini PCIe modem | 100 | distributor |
| Mini PCIe ↔ M.2 NVMe adapter | 25 | aliexpress / distributor |
9. Footnote and Citation Conventions
Every volume in this series uses pandoc-flavoured markdown footnotes for citations. Each footnote contains:
- a verbatim URL (so the citation survives losing the source’s title), and
- a short note on what the source contains and why it’s cited there.
Where a citation comes from a Wikipedia or Wikimedia Commons page, the credit line in the figure caption matches the verbatim creditLine from the Photo Helper output (creditLine is a property the helper prints; copying it verbatim into the docx ensures CC-BY/CC-BY-SA attribution requirements are satisfied without ambiguity). All Commons photos used in the series are catalogued in 02-inputs/volume_sources/photo_credits.txt.
When citing source code from upstream projects (the uConsole repo, the Raspberry Pi repo, kernel.org), the footnote includes the commit SHA where possible, so the reference can be reconstructed even if the file moves.
10. Maintenance & Updates
This series is structured to age well:
- The mainboard schematic in Volume 2 doesn’t change much between Clockwork mainboard revisions — a section near the top of Volume 2 calls out which mainboard rev a given fact applies to, so adding a new rev is additive rather than rewrite-the-volume.
- Compute-Module variants in Volume 3 will absorb new entries (e.g., a future Pi CM6, a Radxa A07) by adding sections under §3 — the decision matrix and the variant-comparison table will pick them up.
- Operating-system support in Volume 5 evolves rapidly. Each OS entry has a “last verified” date and a pointer to the upstream’s release notes; when a new release ships, the relevant subsection updates without disturbing siblings.
- Mini PCIe compatibility in Volume 7 is a living catalogue. New cards land as new rows in the compatibility table.
The build pipeline (pandoc → inject_toc.py → pandoc → fix_tables3.py) is documented in 02-inputs/volume_sources/README.md. A new author rebuilds the series in two commands once the tools are installed.
11. Resources
12. Index
A — A06 (Radxa) — §3.4. AC power — §11.3. Antenna kit — §6.1, §10.5. apt — §1, §5. Audit (wireless) — §5.2, §8. AXP-class PMIC — Vol 2.
B — Battery — §5.5, §11. BCM2711 — §3.1. BCM2712 — §3.3. Boot ROM — Vol 4. BlackArch — §1, Vol 5.
C — CM4 Lite — §3.1. CM4 (eMMC) — §3.2. CM5 — §3.3. CM5 (Radxa) — §3.4. Cooling — §11.4. Cyberdeck — §1.
D — Daughtercard — Vol 7. Decision tree — §4. Display — §1, Vol 6. dump1090 — §7.
E — eMMC — §3.2, Vol 4. EEPROM — Vol 4.
F — fldigi — §6.4, Vol 10. Field deployment — §2.
G — Gamepad keyboard — §2.1. GNU Radio — §5.4, Vol 9. GPIO — §2.1, Vol 2. gqrx — Vol 9.
H — HackRF — §6.1, Vol 9. ham radio — §6.4, Vol 10.
I — IPS LCD — §2.1. 18650 — §2.1, §5.5, §11.
J — JS8Call — §6.4, Vol 10.
K — Kali Linux ARM — §6.2, Vol 5, Vol 8. Kernel patches — §2.2, Vol 6. kismet — §6.1, Vol 8.
L — LCD — §2.1, Vol 6. LPDDR4 — §3.1. LPDDR4X — §3.3. LTE modem — §6.3, Vol 7.
M — Mainboard — §2.1, Vol 2. metasploit — §1, Vol 8. Mini PCIe — §2.1, Vol 7. Monitor mode — §6.2.
N — nmap — §5.1. NPU — §3.4. NVMe — §6.5, Vol 7.
O — Operating systems — §1, Vol 5.
P — PCIe — §3.3, Vol 7. pat — §6.4, Vol 10. PMIC — Vol 2. Power — §11. ParrotOS — §1, Vol 5.
Q — Quectel EM06 — §6.3, Vol 7.
R — Radxa A06 — §3.4. Recovery — Vol 4. RK3588S2 — §3.4. RTL-SDR — §6.1, Vol 9.
S — SD card — §3.1, Vol 4. SDR — §6.1, Vol 9. SoC — §3. Speakers — §2.1.
T — Thermal — §11. Toolchain — §6.5.
U — Ubuntu ARM — §1, Vol 5. USB-C — §2.1. USB-MSD — Vol 4.
V — VideoCore — §3.
W — Wi-Fi — §3.1. wireshark — §6.1, Vol 8. WSJT-X — §6.4, Vol 10.
X — None.
Y — None.
Z — None.