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.

by Artur Andrzejczak (akandr)

FULL CAD BOM FIRMWARE DOCS

AIOpen-hardware

difficulty
●●●●○
time
a weekend-plus
license
AGPL-3.0 (code), CC BY-SA 4.0 (docs)
repo
repo ACTIVE403 stars
1
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.

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 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • ASRock AMD BC-250 board (second-hand)Find
  • ATX power supplyFind
  • CoolingFind
  • NVMe SSD (the author's is 475 GB)Find
  • Case or open-air benchFind

Can I build this?

PrintNothing required — hardware only.
BuyASRock AMD BC-250 board (second-hand), an ATX power supply, cooling (the author uses a broken AIO radiator with three fans on top), an NVMe SSD (the author's is 475 GB), and a case or open-air bench.
ToolsLinux installation media (Fedora 43 tested), SSH access for headless operation, familiarity with kernel module parameters and systemd service configuration.
SkillsIntermediate: kernel tuning (TTM pages_limit, amdgpu parameters), systemd service overrides, command-line package management. The repository provides exact commands, but you must understand what each one does and why.
TimeA weekend-plus: getting the board booting, Ollama running and the memory tuning verified, then benchmarking and deciding whether the 40-CU unlock is worth the thermal trade-off. The autonomous monitoring stack is optional and is a project of its own.
Cost$$: the board is about $100 according to ETA PRIME's December 2025 video; the rest depends on which power supply, cooler and SSD you already own. Second-hand prices move.
SafetyMains voltage (ATX PSU). Board nameplate is 220 W; the author's telemetry shows about 52 W mean and 119 W peak during inference (uncalibrated sensor). The 40-CU unlock adds roughly 15 W median and about 5°C at peak. If your cooling is marginal at 24 CUs, the governor will throttle harder with the unlock. The main real risk is inadequate cooling on a second-hand board whose maintenance history you cannot check.

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 projects

Gallery

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 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. 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. 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. 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?

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).

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).

GitHub

Star the project on GitHub

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.