CRYPTO MINERS DUMPED THIS PS5-BASED CHIP, NOW IT RUNS AI AT HOME
Crypto miners dumped these boards built around a cut-down PlayStation 5 chip. One now runs a 35B model at home on a board ETA PRIME bought for about 100 dollars.
AIOpen-hardware
- difficulty
- ●●●●○
- time
- a weekend-plus
- license
- AGPL-3.0 (code), CC BY-SA 4.0 (docs)
- repo
- repo ACTIVE403 stars
●●●●○ · a weekend-plus · AGPL-3.0 (code), CC BY-SA 4.0 (docs) · 403 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is not a from-scratch build: you are buying a decommissioned mining board and turning it into an AI server. The BC-250 was built by ASRock Rack for crypto mining, and after the mining racks were decommissioned individual boards became available second-hand; ETA PRIME's December 2025 video calls it a 100-dollar board. Inside is a Cyan Skillfish APU: 6 Zen 2 cores, 24 active GPU compute units (40 physically on the die, 16 masked by factory firmware), and 16 GB of unified GDDR6. It is widely associated with the PS5's Oberon chip, but not identical: a GFX10.1-era variant informally called "RDNA 1.5" by the community. The guide walks through Fedora 43 setup, Ollama over Vulkan (ROCm does not support this chip out of the box), kernel tuning to unlock the full 16 GB for large models, and an optional 40-CU patch that lifts generation speed by about 32%. At stock 24 CUs, the Qwen3.5 35B-A3B mixture-of-experts model generates 59.5 tokens per second. At 40 CUs it reaches 78.7. Both figures are measured on one board with the oberon governor capping the GPU at 1500 MHz; earlier sessions ran at up to 2000 MHz and produced higher numbers before the governor was consistently applied. The repository also includes a Signal chat bot, image generation with FLUX, and an autonomous monitoring system that runs 330 jobs across the network. The one thing most likely to go wrong is skipping the memory tuning: without the TTM pages_limit fix, 14B models load but fail with HTTP 500 during inference. The repository is extremely thorough: full benchmark tables, methodology, and statistical validation. The honest limitation: this is Linux-only, runs from a mains ATX supply (220 W board nameplate), and you are on your own if the second-hand board arrives with a hardware fault. If you want to run 35B models at home without renting cloud GPUs, and you are comfortable with kernel tuning and 16 GB of shared memory, this is one of the cheapest paths that actually works.
IN THE REPO
GOOD TO KNOW
- —Repository code is AGPL-3.0 (LICENSE file) and the documentation is CC BY-SA 4.0 (stated in the README).
- —Hardware is the ASRock AMD BC-250 board — not a DIY build, a commercial mining board sold off second-hand.
- —Community-patched BIOS required for dynamic VRAM allocation (link in repo).
- —40-CU unlock is a separate kernel patch by S. Duggan (gated to PCI ID 0x13fe, BC-250 only).
- —ROCm does not work out of the box on GFX1013; Vulkan is the only working compute path on this Fedora 43 / Mesa 25.3.4 stack.
- —Benchmarks are single-board measurements (Fedora 43, Mesa 25.3.4, Ollama 0.20.0 / llama.cpp b9265, oberon governor 1500 MHz cap) — not vendor claims.
Parts to buy
5 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
This build involves mains voltage — for adults comfortable with electrical work only.
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
$100 Steam Machine Using a PS5 APU (ASRock BC-250)15:01
ETA PRIME's video (15 Dec 2025) about the same board: specs, cooling, BIOS VRAM split and SteamOS/Bazzite gaming. It is not about the AI server setup.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the hardware overview (§1) and driver stack (§2) to understand what works (Vulkan) and what does not (ROCm). (The README is long. Start here, then jump to the setup section.)
- 2.Follow Ollama + Vulkan setup (§3) — install Ollama, tune GTT and TTM, configure systemd overrides, verify with 'sudo journalctl -u ollama -n 20'. (Do not skip the TTM tuning (§3.3) — without it, 14B models load but HTTP 500 during inference.)
- 3.Run the benchmarks (§4) to confirm your board matches the canonical numbers before you spend time on the optional 40-CU unlock. (If your board is slower than the 24-CU table, check cooling and verify the oberon governor is active.)
- 4.Optional: apply the 40-CU unlock (§3.9) — requires building a patched amdgpu module. Median generation speed-up 1.32×, prefill 1.50×, but adds 15 W and 5°C. (Reversible: remove the modprobe config and rebuild the initramfs, or set bc250_cc_write_mode back to 0 (§3.9). Test thermal headroom first.)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- Skimping on cooling. The author's board runs on a broken AIO radiator with three fans just sitting on top of it and has worked 24/7 so far, but the 40-CU unlock adds heat, and the oberon governor throttles the clock when thermal load rises.
- Not tuning TTM pages_limit to 16 GiB. The kernel defaults to about 7.4 GiB, and without the fix (echo 4194304 | sudo tee /sys/module/ttm/parameters/pages_limit, made persistent as in §3.3) 14B models load but return HTTP 500 during inference. Even worse: a silent 12 GiB cap if a systemd-tmpfiles entry overwrites the value (§3.3 gotcha).
- Expecting ROCm to work — it does not, not on this Fedora 43 / Mesa 25.3.4 stack. Vulkan is the only working compute path. A companion repository later shows ROCm can be made to work on kernel 7.1.5 with specific patches, but Vulkan is the practical default here.
- Assuming the $100 price is fixed. ETA PRIME's December 2025 video asks whether the board is worth $100 to $130; second-hand prices move, so check recent sold listings.
- Deploying Q4_0 KV cache without checking the model's key/value head count. Q4_0 collapses every model measured with two KV heads (Qwen2.5 0.5b/1.5b/3b, Coder 1.5b/3b) and two of three with four heads; even with eight KV heads two small models pay 5-32% perplexity. Check attention.head_count_kv and prefer Q8_0 where the cache fits (§3.4 correction).
- Expecting the 40-CU unlock to be free. It adds roughly 15 W median power draw and about 5°C at peak. The README calls the measured speed-up (1.32x generation, 1.50x prefill) conservative because the governor holds the 40-CU arm at a 3-4% lower mean clock, and notes that better cooling would likely increase the gains.
Is this the same chip as the PlayStation 5?
Same hardware family, not identical. The PS5's Oberon is GFX10.3 (RDNA 2). The BC-250's Cyan Skillfish (GFX1013) behaves like a GFX10.1-era variant, informally called 'RDNA 1.5' by the community. The BC-250 die has 40 physical compute units; the factory firmware exposes 24 (40 after the community unlock patch).
Can I run Windows on it?
The guide is Linux-only (Fedora 43 tested). The kernel tuning (TTM pages_limit) and the 40-CU unlock patch are Linux kernel and amdgpu module changes.
Where do I buy a BC-250 board?
ETA PRIME's December 2025 video calls it a $100 board and asks whether it is worth $100 to $130; he links an eBay listing. The repository says individual boards became available on AliExpress after mining racks were decommissioned. Prices move, so check recent sold listings.
How loud is it?
It depends entirely on your cooling. The author's board is cooled by a broken AIO radiator with three fans sitting on top of it, which is not a silent setup. A large cooler at lower fan speed will be quieter.
Can I run this alongside other services on the same machine?
Yes. The repository includes an autonomous monitoring system (330 jobs, queue-runner, Signal bot) running on the same board as the AI inference, with the code in the netscan/ directory. But the 16 GB unified memory is shared between CPU and GPU, so every service competes with model weights.
Can I undo the 40-CU unlock?
Yes. The README gives the revert: remove /etc/modprobe.d/bc250-40cu.conf, rebuild the initramfs with dracut and reboot, or set bc250_cc_write_mode back to 0 without a reboot. It is a community patch by S. Duggan, so you apply it at your own risk.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
The Qwen3.5 35B-A3B MoE generates 59.5 tokens per second at stock 24 CUs, 78.7 at 40 CUs — both measured with the oberon governor capping the GPU at 1500 MHz. If you already own an ATX PSU and a decent cooler, would you try this board, or would you rather wait for a newer APU with official ROCm support?
Artur Andrzejczak (akandr)
Artur Andrzejczak's repository is a complete guide to repurposing the AMD BC-250 mining board as a local AI server. He benchmarked 31 models, measured Q4_0 KV cache quality by perplexity (catching a collapse on models with few key/value heads), and ran an independent FP32 sanity check plus a paired A/B re-run on S. Duggan's 40-CU unlock. The work accompanies a paper under peer review, and the results are tagged in the repository (jucs-revision-1 to jucs-revision-7).
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM6d ago
Practical notes from our verification: the repository is unusually thorough, with full benchmark tables, statistical validation (CV ≤ 0.36%, n=3 medians), and a graded perplexity study that caught Q4_0 KV cache collapsing models with few key/value heads (§3.4 correction, September 2026). The $100 price point comes from ETA PRIME's December 2025 video, not from the repository. The 40-CU unlock is a separate kernel patch by S. Duggan (github.com/duggasco/bc250-40cu-unlock), gated to PCI ID 0x13fe (BC-250 only); the contribution here is an independent FP32 sanity check (100M error-free multiply-adds) and a paired A/B re-run (n=3, full reboot between arms). The biggest upgrade is not the unlock, it is verifying that TTM pages_limit is genuinely at 16 GiB (§3.3 gotcha: a systemd-tmpfiles entry can silently overwrite the value to 12 GiB, which breaks long-context inference in confusing ways).