{
    "meta": {
        "title": "D-Central — ASIC Control-Board Recovery Playbook",
        "description": "A vendor-neutral cross-board unbrick index for 7 ASIC control-board families (Xilinx Zynq, BeagleBone AM335x, Cvitek CV1835, Amlogic AXG, ESP32 Bitaxe, Allwinner WhatsMiner, Kendryte Avalon): default boot source, how to force a recovery boot, serial-console access, reflash method, and where to source legitimate images. Bitmain families grounded in the D-Central Bible; others carry a verify-the-manual flag.",
        "generated": "2026-07-18T21:42:01+00:00",
        "as_of": "2026-07-18",
        "version": "1.0",
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "license_name": "CC BY 4.0",
        "source": "https://d-central.tech/fr/asic-control-board-recovery/",
        "method": "Organized by control-board family, not miner model. Bitmain Zynq/BeagleBone/Amlogic entries are grounded in D-Central Bible ANTMINER_ARCHITECTURE.md (boot modes, NAND layout, recovery entry, serial/GPIO map). Cvitek/Allwinner/Avalon entries carry accurate general guidance flagged \"verify\" — the exact per-model procedure must be confirmed against the manufacturer service manual. No vendor firmware is hosted or redistributed; image sources are links.",
        "provenance": "D-Central Bible ANTMINER_ARCHITECTURE.md + the existing /asic-control-board-reference/ board-family spine. Open-source credits: polprog/antminer_zynq, braiins/zynq-io, skot/amlogic-cb-tools, Bitaxe/AxeOS/ESP-Miner.",
        "disclaimer": "Recovery can permanently brick a board. This is a method index, not a per-model step-by-step; always confirm the exact procedure and image for your model and board revision, back up first, use the correct PSU, and check firmware-lock status. \"Verify\"-flagged families are model-specific."
    },
    "rows": [
        {
            "id": "zynq",
            "family": "Xilinx Zynq (S9 → S19-gen, L7)",
            "models": "S9/S9i/S9j/T9+/R4 · S17/S17+/T17/T17+ · S19/S19 Pro/S19a · L7",
            "soc": "Xilinx Zynq-7010 (dual Cortex-A9 + Artix-7 FPGA)",
            "boot_default": "NAND (256/512MB). Boot chain: BootROM → FSBL → FPGA bitstream → U-Boot → kernel → ramdisk.",
            "recovery_entry": "Set jumper J3 to SHORT to boot from a prepared SD card (J3 OPEN = normal NAND boot). This is the sanctioned firmware-install/recovery path on Zynq boards.",
            "serial": "Debug UART header on the control board (3.3V TTL, commonly 115200 8N1 — confirm the header pinout for your board before connecting). Note the ASIC-chain UART is separate (driven by the FPGA), not the CPU console.",
            "reflash": "Boot from SD (J3 short), then rewrite NAND from the stock image. mtd0 (BOOT.bin: FSBL+FPGA bitstream) is RSA-verified and the FPGA bitstream is eFuse-locked — do NOT try to replace those; the recoverable/replaceable parts are the ramdisk (mtd1, SHA256) and configs.",
            "image_source": "Stock recovery images: the manufacturer's firmware download page for the exact model. Open alternative: BraiinsOS+ install media. Never flash a mismatched-model image.",
            "caveat": "grounded",
            "credit": "Open tooling this builds on: polprog/antminer_zynq and braiins/zynq-io (open Zynq FPGA/boot work). Credit to the community that mapped the Zynq boot chain."
        },
        {
            "id": "beaglebone",
            "family": "BeagleBone-style AM335x (BBCtrl / BB18)",
            "models": "L3+/L3++ (Scrypt) · late-2021 S19j/S19j Pro stock-BB (BB18)",
            "soc": "TI AM335x Sitara (single Cortex-A8, no FPGA — software ASIC comms)",
            "boot_default": "Reads boot-mode pins (NAND or SD). SD card sits inside the enclosure cover.",
            "recovery_entry": "Prepare an SD card with the model's recovery image and boot from it (boot-mode pins select SD). The AM335x will boot the SD U-Boot + kernel + rootfs.",
            "serial": "AM335x debug UART header (3.3V TTL, commonly 115200 8N1 — verify the header). Standard BeagleBone-class serial-console access.",
            "reflash": "SD-card image (U-Boot + kernel + rootfs); reflash internal NAND from the booted recovery environment where the model supports it.",
            "image_source": "The manufacturer's firmware page for the exact model. BeagleBone-class boards are the simplest to re-image because the SD path is well understood.",
            "caveat": "grounded",
            "credit": "Builds on the open BeagleBone (BeagleBoard.org) ecosystem and community re-imaging work."
        },
        {
            "id": "amlogic",
            "family": "Amlogic AXG (AMLCtrl; C76/C81/C83/CBE)",
            "models": "S19j Pro/S19 XP/S19k Pro · S21/S21 Pro/S21 XP/S21+ · L9",
            "soc": "Amlogic A113D (quad Cortex-A53, originally an audio SoC; no FPGA, NO SD slot)",
            "boot_default": "Internal NAND ONLY — there is no SD-card boot path on these boards.",
            "recovery_entry": "Recovery is via the micro-USB OTG port: you need a USB-OTG adapter + a USB drive (or host tool) with the recovery image. This is the only external recovery entry on Amlogic boards.",
            "serial": "Per-hashboard UARTs are /dev/ttyS1–S3 with GPIO reset/detect lines; the CPU debug console is a separate UART header (3.3V TTL, verify pinout). PSU is on I2C /dev/i2c-1 addr 0x10.",
            "reflash": "USB-OTG recovery flash to internal NAND. There is no jumper SD shortcut — the OTG path is mandatory.",
            "image_source": "Manufacturer recovery image for the exact model. 🔴 Units shipped after March 2024 carry FIRMWARE LOCKS requiring a specific unlock procedure — check the lock status FIRST (see the firmware-lock tracker) before attempting recovery.",
            "caveat": "grounded",
            "credit": "Builds on skot/amlogic-cb-tools (open Amlogic control-board tooling) — the project that mapped the AXG serial/GPIO layout."
        },
        {
            "id": "cvitek",
            "family": "Cvitek CV1835 (CVCtrl; C88/CB8/CB4)",
            "models": "S19k Pro/S19 XP/S19j Pro/S19j XP · S21/T21 · KS3/KS5/X5/L9 (C88/CB8/CB4 boards)",
            "soc": "Cvitek CV1835 (RISC-V/ARM SoC)",
            "boot_default": "Internal flash (NAND/eMMC) per board.",
            "recovery_entry": "Recovery method varies by board revision — typically an SD-card or USB recovery image per the model's service procedure. ⚠️ Confirm the exact entry (SD vs USB, any button/jumper) against the model manual before proceeding.",
            "serial": "Board debug UART header (3.3V TTL, commonly 115200 8N1 — verify). ",
            "reflash": "Re-image internal flash from the model's recovery media.",
            "image_source": "Manufacturer recovery image for the exact model. Cross-check the manuals library for the model's documented recovery steps.",
            "caveat": "verify",
            "credit": "Newer Bitmain control-board generation; community tooling is still maturing — treat the exact procedure as model-specific."
        },
        {
            "id": "esp32-bitaxe",
            "family": "ESP32-S3 (Bitaxe-class open hardware)",
            "models": "Bitaxe Ultra/Supra (BM1366), BitSupra (BM1368), Bitaxe Gamma (BM1370), and similar open single-board miners",
            "soc": "Espressif ESP32-S3 (self-contained; runs AxeOS / ESP-Miner)",
            "boot_default": "Flash on the ESP32-S3; the miner IS the controller (no separate control board).",
            "recovery_entry": "The easy case: put the ESP32-S3 into download mode (hold BOOT while resetting on boards with the buttons) and flash over USB. Because it's open hardware, recovery is fully supported.",
            "serial": "USB-serial (CP210x/native USB, 115200) — the standard ESP32 console. Web Serial works in-browser.",
            "reflash": "Flash AxeOS / ESP-Miner over USB with esptool, or use a browser Web-Serial flasher. D-Central hosts a web flasher for exactly this.",
            "image_source": "Open firmware: the AxeOS / ESP-Miner releases (open source). Use D-Central's own web flasher at /flash/ to recover a Bitaxe-class board in the browser.",
            "caveat": "grounded",
            "credit": "Bitaxe and AxeOS/ESP-Miner are open-source (skot / the open-miner community) — the whole point is that recovery is never locked. Credit to the open-hardware predecessors."
        },
        {
            "id": "allwinner-whatsminer",
            "family": "Allwinner H-series (WhatsMiner / MicroBT)",
            "models": "WhatsMiner M1–M3 / M8–M12 / M19–M20S / M50–M60S / D-series",
            "soc": "Allwinner H3/H6/H616 (ARM)",
            "boot_default": "Internal flash; MicroBT control boards use a documented SD-card upgrade/recovery flow.",
            "recovery_entry": "MicroBT's standard path is an SD-card recovery/upgrade image booted on the control board. ⚠️ Use the exact image for the control-board revision and follow MicroBT's documented steps.",
            "serial": "Board debug UART header (3.3V TTL — verify pinout/baud).",
            "reflash": "SD-card recovery image per MicroBT's procedure; some generations also support a network/USB upgrade.",
            "image_source": "MicroBT's official firmware/recovery image for the exact WhatsMiner model + control-board revision.",
            "caveat": "verify",
            "credit": "MicroBT-specific; follow the manufacturer's documented SD recovery. Confirm the board revision first."
        },
        {
            "id": "avalon",
            "family": "Kendryte K210 / K230 (Avalon / Canaan)",
            "models": "K210 bare-metal: A1346/A14x/A15x (industrial) · K230 Linux: Avalon Nano 3/3S/Mini 3 (home)",
            "soc": "Kendryte K210 (bare-metal, no Linux) or K230 (Linux, home-class)",
            "boot_default": "K210 industrial boards are bare-metal (no OS); K230 home boards run Linux from internal flash.",
            "recovery_entry": "Canaan's path is the Avalon management tooling + a model-specific recovery image; K210 bare-metal boards recover differently from K230 Linux boards. ⚠️ Follow Canaan's documented procedure for the exact model.",
            "serial": "Board debug UART header (3.3V TTL — verify). K210 exposes a serial console for the bare-metal firmware.",
            "reflash": "Canaan recovery/upgrade image via the Avalon tooling; method differs between the K210 and K230 lines.",
            "image_source": "Canaan's official firmware/recovery image for the exact Avalon model.",
            "caveat": "verify",
            "credit": "Canaan/Avalon-specific; K210/K230 recovery is model-dependent — verify against Canaan's service docs."
        }
    ],
    "context": {
        "what": "This is a recovery INDEX, not a hardware datasheet. Its companion — the control-board reference — tells you which board is inside a given miner and how it boots; this playbook tells you how to bring one back when it will not boot. It is organized by control-board FAMILY rather than by miner model, because a dozen Antminer models can share one board and one recovery method. Find your board family (from the model list or the control-board reference), then follow that family's entry.",
        "method": "Every family answers the same four questions: what does it boot from by default, how do you force it into a recovery boot, how do you get a serial console, and how do you reflash it. The single most important fact is the recovery ENTRY — a Zynq board recovers from an SD card via the J3 jumper; a BeagleBone board from an SD image; an Amlogic board only through its micro-USB OTG port; a Bitaxe over USB. Get that wrong and nothing else matters.",
        "safety": "🔴 Recovery can permanently brick a board if done wrong. Before you write anything: back up the existing NAND/flash if the board still talks to you; use the CORRECT power supply and input voltage for the model; never interrupt a flash write; and never flash an image from a different model or board revision. On Bitmain's RSA-verified boot stages (Zynq BOOT.bin, the eFuse-locked FPGA bitstream) do not attempt replacement — those are not the recoverable parts. When a family entry is flagged \"verify,\" treat the exact procedure as model-specific and confirm it against the manufacturer's service manual first.",
        "locks": "🔴 Firmware locks change the game. Amlogic-based Antminers shipped after March 2024 (and some Cvitek boards) carry vendor firmware locks that must be cleared with a specific unlocking procedure before a normal recovery will take. Always check a unit's lock status BEFORE you start — a locked board is a different job from a merely-bricked one.",
        "credit": "This index stands on open-source shoulders: polprog/antminer_zynq and braiins/zynq-io mapped the Zynq boot chain, skot/amlogic-cb-tools mapped the Amlogic control board, and the Bitaxe / AxeOS / ESP-Miner projects keep open-hardware recovery unlocked by design. D-Central compiles and cross-references that work into one vendor-neutral recovery map; we credit the people who did the reverse-engineering.",
        "verdict": "Recover by board family, not by model. Identify the family, confirm the recovery entry (SD/jumper vs boot-pins vs USB-OTG vs web flasher), back up before you write, use the right PSU and the exact-model image, and check for a firmware lock first. If the family is flagged \"verify,\" the manufacturer's service manual is the authority — this index points you to the right method and the right questions, not a one-size reflash."
    }
}