Retro Tech
A BC-250 Cyberdeck: The Build Spec for a Console-Board Desktop

Part 11 of the thread The retro workbench
- The plan: an AMD BC-250 board in a printed slim console case, with a 15.6" touch panel mounted on VESA 75x75.
- It runs Bazzite with niri in three big-type columns, driven by keyboard and touch. No mouse, on purpose.
- Cooling is the constraint, not wattage. The GDDR6 overheats first, so cooling goes in before the board ever powers on.
- This is a spec, version 2. Nothing's printed yet, and the parts list priced out around $580 to $790 at the time.
The BC-250 is an odd bit of hardware: a board AMD built for crypto mining around a cut-down version of the PlayStation 5's APU. Six Zen 2 cores, 24 RDNA2 compute units, 16GB of GDDR6, and they turn up used for not much money. People have been turning them into small Linux gaming PCs.
I want to turn one into a cyberdeck. This post is the spec, version 2. It replaces an earlier luggable draft, and none of it is built yet. It's the plan, and we'll see how much of it survives contact with a 3D printer.
The idea
An all-in-one machine built on Arthrimus's AMD BC-250 Slim Console Style Case, remixed so a 15.6" touch panel either side-mounts to the console or the console hangs off the back of the panel on its VESA mount. It runs Bazzite with the niri window manager, laid out as three large-print columns, and you drive it with a keyboard and your finger.
The board
| Item | Detail | What it means for the build |
|---|---|---|
| CPU / GPU | 6x Zen 2 (~3.5GHz) + 24 RDNA2 CUs | Plenty for niri, light gaming and local LLMs |
| Memory | 16GB GDDR6, shared | Runs hot; needs thermal putty and airflow |
| Storage | M.2 2280 NVMe (PCIe 2.0 x2) | A cheap Gen3 drive is fine |
| Video out | DisplayPort 1.4 only, no HDMI | Feed the panel through a DP to HDMI adapter |
| Network | Gigabit Ethernet only | Add a USB Wi-Fi/Bluetooth adapter |
| Power in | 8-pin PCIe at J1000 | Fed by the Flex ATX PSU |
| Thermals | 220W TDP, ~235W peak, ~50W idle | One 120mm fan plus putty |
| Video codec | No hardware encode or decode | The CPU handles video; doesn't matter for a desktop |
The board cost about $180 on eBay when I wrote this, and the price was trending up.
Case, cooling and power
The case. Arthrimus's design is two printed shells joined by four printed PEG parts, with M3 heat-set inserts and countersunk M3 screws. The front panel has a power button and USB hub, and there are PCB files for the button board. It only supports a Flex ATX power supply, which is what keeps it slim. Two remixes help: mwasserman's adds a bigger PSU bay for the Apevia ITX-PFC500W, a direct power switch and a four-port USB front panel (with STEP files), and isaacalvex's adds alternate side panels, a USB 3.0 hub and a status LED. My own remix adds a VESA 75x75 pattern to the rear shell and a cutout for a fused AC inlet.
Warning
Print the case in ASA or PETG, never PLA. It's sitting next to a 220W board.
Cooling is one high-static-pressure 120mm fan (an Arctic P12 Pro) on the case's fan shroud, fresh paste on the APU, and thermal putty on the GDDR6 chips, because they're what overheats first. The board's fan header is a non-standard 4-pin server one, so the fan runs off a PWM splitter or the PSU. Keep a clear intake to heatsink to exhaust path, and don't seal the shell.
Power is a 500W Flex ATX PSU feeding 12V to the board's 8-pin and 5V to the panel. At a peak of about 235W, that's roughly 2A at 120V, so there's plenty of headroom. Mains comes in through a panel-mount fused IEC C14 inlet with a rocker switch, a short internal jumper to the PSU, and strain relief where the cord enters.
Warning
Don't hardwire or splice mains. Keep it modular with IEC connectors, and measure the exact inlet module you buy before cutting the shell. A common snap-in fused inlet needs a cutout of roughly 48 x 28mm.
Display, mounting and input
The panel is a 15.6" 1920x1080 IPS with 10-point capacitive touch and a 75x75 VESA mount. Video goes DP to HDMI, touch goes over USB, and power comes off the PSU's 5V.
The same 75x75 pattern works in both directions: the case can hold the panel, or the case can bolt onto the panel. Either way, gusset every boss into a wall or rib. A standalone boss on a flat panel snaps off, and that's the most common way these mounts fail. Leave a 4 to 6mm gap behind the panel for screw heads and cable bends.
Try this
Before modeling anything, hang the console behind the panel with an off-the-shelf 75x75 mini-PC sandwich bracket. It lets you check the ergonomics and cable runs for about $12, and then you bake what you learned into the rear shell.
Input is keyboard and touch, no mouse. In niri a tap focuses the column under your finger, natively, with no extra software. The keyboard handles text and niri's window hotkeys. I'm planning on a separate compact 60% mechanical board, which is about the same width as the panel.
Software: Bazzite and niri
Bazzite is the easiest base to get the GPU working. The board needs a recent kernel and Mesa 25.1 or newer, so avoid LTS distros. Install with nomodeset, then take it out after the first boot. These kernel arguments make the full 16GB usable:
rpm-ostree kargs --append=ttm.pages_limit=3959290 --append=ttm.page_pool_size=3959290
rpm-ostree kargs --delete=nomodeset
The Oberon GPU governor cuts idle power by around 20 to 30W; layer it with rpm-ostree and configure /etc/oberon-config.yaml. Then layer niri and reboot:
rpm-ostree install niri
The niri config sets up three columns at 640px each, full height, which leaves room for big type. Check the output name first with niri msg outputs; over DP to HDMI it's often HDMI-A-1.
output "HDMI-A-1" {
mode "[email protected]"
scale 1.0
}
layout {
gaps 8
center-focused-column "never"
default-column-width { proportion 0.33333; }
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
proportion 1.0
}
}
For bigger text, raise the font sizes in your apps and terminal, or bump scale to somewhere between 1.1 and 1.25.
Build order
| Step | What |
|---|---|
| 1. Case | Print and assemble the case and chosen remix; fit the board and the front panel PCBs |
| 2. Cooling | Paste, putty and the 120mm fan. Never power it up uncooled |
| 3. Power | Mount the PSU, add the fused inlet and internal jumper, strain-relieve the cord |
| 4. Bench test | Before closing it up: install Bazzite with nomodeset, confirm the GPU with vulkaninfo, add the kernel args and Oberon, layer niri |
| 5. Panel | Add the VESA pattern to the rear shell, or test with a sandwich bracket; route the cables |
| 6. BIOS (optional) | Only if you want it and accept the risk |
The optional BIOS is TuxThePenguin0's, which sets VRAM to 512MB dynamic. Flashing can brick the board. Back up first and use a hardware programmer (a CH341A or a Pi Pico). The board runs fine on stock for a desktop, so I'll probably skip it.
Parts list
| Part | Notes |
|---|---|
| BC-250 board | eBay |
| Flex ATX 500W PSU | Apevia ITX-PFC500W fits the mwasserman bay |
| Arctic P12 / P12 Pro 120mm fan | Plus a PWM splitter |
| Arctic MX-4 paste, GDDR6 thermal putty | |
| NVMe SSD, 512GB to 1TB, Gen3 | |
| USB Wi-Fi/Bluetooth adapter, DP to HDMI adapter | |
| 15.6" 1080p 10-point touch monitor, 75x75 VESA | |
| 60% mechanical keyboard | |
| Panel-mount fused IEC C14 inlet with switch | Plus a soft right-angle NEMA 5-15P to C13 cord |
| Powered USB hub | |
| M3x5x4 heat-set inserts, countersunk M3 screws | |
| ASA filament (or PETG) | |
| VESA 75x75 sandwich bracket | Optional, for test-fitting |
| BIOS programmer (CH341A / Pi Pico) | Optional |
The whole thing came to roughly $580 to $790 at the time, depending on the panel and keyboard.
What changed from v1
| v1 (luggable draft) | v2 (this spec) | |
|---|---|---|
| Form factor | Luggable clamshell | Slim console base plus VESA panel |
| PSU | SFX | Flex ATX, which keeps it slim |
| Cooling | Two 120mm fans | One 120mm fan |
| Panel | 13.3" | 15.6" with 75x75 VESA |
| AC inlet | None | Fused IEC inlet with switch |
Where it stands
It's a spec. Before any final CAD I need the exact board outline and connector positions from the hardware documentation, though building on Arthrimus's STEP files inherits the board bay already. Then it's printing, the bench test, and finding out which parts of this plan were optimistic.
It's the newest thing on a bench that also has an eMac, an Optiplex GX280 and a Precision T7500 waiting their turns.
Sources I'm building from:
- Arthrimus Slim Console Style Case
- mwasserman remix (Flex 500W, switch, USB, STEP)
- isaacalvex case variants
- bc250.info for specs, power, cooling and parts
- BC-250 hardware documentation for pinouts and the board outline
- AMD BC-250 setup docs
- Oberon GPU governor
- Modified BIOS (VRAM setting)