Every ASIC miner you have ever powered on runs code stored in a chip smaller than your thumbnail. That chip is the EEPROM — Electrically Erasable Programmable Read-Only Memory — and it is arguably the most critical piece of non-volatile storage on an Antminer hash board. Corrupt it, and your $2,000 machine becomes a paperweight. Understand it, and you unlock the ability to diagnose failures, restore bricked boards, and tune parameters that most miners never touch.
At D-Central Technologies, we have been repairing Antminer hash boards since 2016. EEPROM-related failures show up in our Laval repair lab every single week — bad firmware flashes, mismatched board serial data, corrupted voltage tables. This guide distills nearly a decade of hands-on experience into a comprehensive technical reference for anyone who wants to understand what EEPROM does inside an Antminer, how to read it, how to rewrite it, and how to avoid turning a recoverable glitch into permanent hardware damage.
What Exactly Is EEPROM?
EEPROM stands for Electrically Erasable Programmable Read-Only Memory. Unlike volatile memory (RAM), EEPROM retains its contents when power is removed. Unlike traditional ROM, it can be rewritten electrically — no UV light, no special eraser hardware. Modern EEPROM chips support between 100,000 and 1,000,000 write cycles before degradation, which is more than sufficient for configuration storage on mining hardware.
The key characteristics that make EEPROM ideal for ASIC miners:
- Byte-level erasure — individual bytes can be overwritten without erasing the entire chip, unlike flash memory which erases in blocks
- Non-volatile retention — data survives power cycles, shipping, and storage
- Small footprint — typical EEPROM chips on hash boards are 8-pin SOIC packages holding 256 bytes to 64 KB
- Serial interface — communicates via I2C or SPI bus, requiring only 2-4 signal lines
- Low power — microamps in standby, milliamps during write operations
On Antminer hash boards, the most common EEPROM chips are the Microchip AT24C02 (2 Kbit / 256 bytes, I2C interface) and the AT24C04 (4 Kbit / 512 bytes). Newer generation boards sometimes use AT24C16 or AT24C32 for additional storage capacity.
What Data Does the EEPROM Store on Antminer Hash Boards?
The EEPROM on an Antminer hash board is not storing the mining firmware itself — that lives on the control board’s NAND flash. Instead, the hash board EEPROM stores board-specific identity and configuration data that the control board reads during initialization. Think of it as the hash board’s birth certificate and operating manual combined into a few hundred bytes.
| Data Field | Purpose | Typical Size |
|---|---|---|
| Board serial number | Unique identifier for warranty, tracking, and control board pairing | 16–32 bytes |
| Chip count / ASIC map | Number and arrangement of ASIC chips on the board | 4–16 bytes |
| Voltage domain settings | Target voltages for each power domain on the hash board | 8–32 bytes |
| Frequency table | Clock frequencies for ASIC chip operation | 8–32 bytes |
| Hardware revision | Board PCB revision for firmware compatibility matching | 2–4 bytes |
| Checksum / CRC | Data integrity verification for stored configuration | 2–4 bytes |
| Manufacturing date | Production timestamp for batch tracking | 4–8 bytes |
| PIC (Product Identification Code) | Model identification used during board detection | 8–16 bytes |
When an Antminer boots, the control board’s firmware scans each hash board slot over the I2C bus. It reads the EEPROM to determine what kind of board is connected, what voltage and frequency parameters to apply, and whether the board’s checksum is valid. If the EEPROM is blank, corrupted, or returns unexpected data, the control board will reject that hash board entirely — you will see it missing from the miner’s dashboard, or the kernel log will report a chain detection failure.
How EEPROM Differs Across Antminer Generations
Not all Antminer EEPROM implementations are identical. Bitmain has evolved the data structure across generations, and understanding these differences matters when you are doing board-level repair.
| Generation | Models | EEPROM Chip | Key Notes |
|---|---|---|---|
| S9 era (BM1387) | S9, S9i, S9j, T9+ | AT24C02 (256 bytes) | Simple data layout. Serial + frequency + voltage. Widely documented. Easiest to work with. |
| S17 era (BM1397) | S17, S17+, S17e, T17, T17+ | AT24C02/C04 | Added PIC data and expanded voltage domain settings. More complex data structure. Hash board version byte became critical. |
| S19 era (BM1398) | S19, S19 Pro, S19j Pro, S19 XP | AT24C04/C16 | Larger storage for expanded ASIC maps. More voltage domains. Some models use encrypted/signed EEPROM data. |
| S21 era (BM1370) | S21, S21 Pro, T21 | AT24C16/C32 | More restrictive pairing between hash board and control board. Firmware-level validation of EEPROM integrity. |
The trend is clear: newer generations use more EEPROM storage, more complex data structures, and tighter validation. The S9 era was relatively open — you could dump the EEPROM, edit hex values, and reflash without much resistance. The S21 era introduces cryptographic signing on some board revisions, making unauthorized EEPROM modifications significantly harder.
Common EEPROM Failure Modes in Antminers
In our repair lab, we categorize EEPROM issues into several distinct failure modes. Each one produces different symptoms and requires a different approach.
1. Corrupted Data (Partial)
The most common failure. One or more bytes in the EEPROM become corrupted — often due to a power surge during a write cycle, or from electromagnetic interference. Symptoms include:
- Hash board detected but producing zero hashrate
- Board detected at wrong frequency or voltage
- Intermittent chain errors in kernel log
- Hardware error rate spikes (HW errors in the miner dashboard)
2. Blank / Erased EEPROM
The EEPROM reads as all 0xFF (the erased state). This happens when someone attempts a firmware flash that goes wrong, or when the chip is physically replaced during repair without being programmed. The hash board will not be detected at all — the control board sees no valid identity data and skips the chain.
3. Mismatched Data
The EEPROM contains valid data, but for a different board model or configuration. This is common when hash boards are swapped between different miner models (for example, putting an S17+ board into an S17 Pro chassis), or when a board is reprogrammed with the wrong profile. The miner may partially detect the board but fail during chip initialization.
4. Physical Chip Failure
The EEPROM chip itself is dead — either from electrical overstress, physical damage, or exceeding write cycle limits (rare in mining applications). The I2C bus returns no acknowledgment, and the board is invisible to the control board. This requires physical replacement of the EEPROM chip with a soldering station.
5. Write-Protect Lockout
Some EEPROM chips have a write-protect pin (WP). If this pin is pulled high (by design or by a solder bridge), the chip becomes read-only. Any attempt to reprogram it will fail silently. The data reads fine, but writes do not stick. This is a common “gotcha” that wastes hours of troubleshooting if you do not check for it.
Tools and Equipment for EEPROM Work
Working with EEPROM on Antminer hash boards requires a specific set of tools. Here is what we use at D-Central for daily EEPROM operations.
| Tool | Purpose | Notes |
|---|---|---|
| CH341A USB programmer | Read/write EEPROM chips in-circuit or on a socket | Inexpensive, widely available. Works with most AT24Cxx series. Some clones have voltage issues (output 5V instead of 3.3V) — verify before use. |
| SOIC8 test clip | Clamp onto EEPROM chip without desoldering | Essential for in-circuit reading. Quality matters — cheap clips lose contact and produce bad reads. |
| AsProgrammer / flashrom | Software for reading/writing EEPROM data via CH341A | AsProgrammer (Windows) or flashrom (Linux) are the standard choices. Both support AT24Cxx family. |
| Hex editor | Inspect and modify EEPROM dump files | HxD (Windows) or xxd (Linux) for examining raw binary data. |
| Hot air rework station | Remove and replace EEPROM chips | Required when chip is physically damaged. 280–320°C, low airflow to avoid disturbing nearby components. |
| Logic analyzer | Debug I2C communication between control board and EEPROM | Useful for diagnosing bus-level issues. Saleae or DSLogic work well. Decode I2C protocol to see exactly what the firmware reads. |
| Known-good EEPROM dump files | Reference data for each board model and revision | Build your own library from working boards. This is the most valuable tool in your repair arsenal. |
Step-by-Step: Reading EEPROM Data from an Antminer Hash Board
Here is the general process for reading EEPROM data. The specific steps may vary slightly depending on your programmer and software, but the principles are universal.
- Power off the miner completely. Disconnect from mains power. Wait 30 seconds for capacitors to discharge. Never attempt to read EEPROM from a powered board — the conflicting bus signals will produce garbage data or damage the chip.
- Locate the EEPROM chip. On most Antminer hash boards, the EEPROM is a small 8-pin SOIC package near the hash board connector (the flat ribbon cable connector). It is usually labeled with markings like “24C02” or “24C04”. Some boards have it under a conformal coating — carefully scrape the coating to expose the pins if using a test clip.
- Attach the SOIC8 test clip. Align pin 1 of the clip with pin 1 of the EEPROM (marked by a dot or notch on the chip). Make sure all 8 contacts are seated firmly. A poor connection is the number one cause of failed reads.
- Connect the CH341A programmer. The clip connects to the programmer via a ribbon cable. Verify the orientation — pin 1 on the clip must match pin 1 on the programmer socket. Getting this backwards can damage the EEPROM.
- Open your programming software. Select the correct chip model (e.g., AT24C02 for S9-era boards). Hit “Read” and wait for the dump to complete. A 256-byte read should take under 2 seconds.
- Verify the read. Read the chip a second time and compare the two dumps byte-for-byte. If they match, you have a reliable read. If they differ, your test clip connection is poor — reseat and try again.
- Save the dump. Export the binary file and label it with the board serial number, model, and date. This is your backup. Never skip this step.
Step-by-Step: Writing (Flashing) EEPROM Data
Writing EEPROM data is the higher-risk operation. A bad write can brick a board that was previously recoverable. Follow this procedure carefully.
- Prepare the correct data file. Use a known-good dump from an identical board model and revision, or generate the correct data using a hash board code editor tool specific to your Antminer model. Never guess at values.
- Modify the serial number. If you are using a donor dump from another board, you must change the serial number bytes to match the target board. Duplicate serials on the same miner will cause detection conflicts.
- Verify the write-protect pin. Check that the WP pin on the EEPROM is not pulled high. On most Antminer hash boards, WP is tied to ground (write-enabled), but verify with a multimeter if writes are failing.
- Erase the chip first. Perform a full chip erase before writing. This sets all bytes to 0xFF and ensures a clean slate. Overwriting corrupted data without erasing first can produce unpredictable results on some EEPROM chips.
- Write the data. Load your prepared binary file and execute the write operation. A 256-byte write takes a few seconds.
- Verify the write. Read the chip back immediately after writing and compare against the source file byte-for-byte. If there is any discrepancy, erase and rewrite. Do not install the board with unverified data.
- Test the board. Reinstall the hash board in the miner and power on. Check the miner dashboard and kernel log for proper chain detection, correct chip count, expected hashrate, and normal voltage/frequency readings.
Real-World Scenarios: When EEPROM Repair Saves the Day
These are scenarios we encounter regularly in the D-Central repair lab. Each one demonstrates why EEPROM literacy is essential for anyone doing board-level Antminer repair.
Scenario 1: Post-Firmware-Update Brick
A miner updates firmware on their S19j Pro and the process is interrupted by a power outage midway through. On reboot, one of the three hash boards is no longer detected. The firmware update process had been writing new configuration data to the hash board EEPROM when power was lost, leaving it in a partially-written state. The fix: read the EEPROM (which confirms corrupted data), flash a known-good dump for that board’s specific model and revision, and the board comes back online.
Scenario 2: Mixed Hash Boards
A miner buys a used Antminer S17+ that arrived with one S17 Pro hash board mixed in. The machine detects two boards but not the third. The S17 Pro board has different EEPROM data — different PIC code, different voltage table, different chip configuration. The control board rejects it because the identity data does not match the expected profile. If the boards are electrically compatible (same ASIC chip, same basic architecture), reprogramming the EEPROM with the correct S17+ profile can sometimes make it work — but this depends on the specific board revisions and is not guaranteed.
Scenario 3: Aftermarket Chip Replacement
During a BM1397 chip replacement on an S17-series hash board, the ASIC chip count changes (a dead chip is removed and not replaced, or is replaced with a chip that the board cannot communicate with). The EEPROM still records the original chip count and map. The firmware tries to initialize chips that do not respond, causing chain errors. Updating the EEPROM’s ASIC map to reflect the actual working chip count resolves the issue.
Scenario 4: Hashrate Optimization
A miner running an S9 in a Bitcoin Space Heater configuration wants to downclock the board for quieter operation and lower heat output. By modifying the frequency table in the EEPROM, the board can be set to a lower clock speed that persists across reboots without needing custom firmware. This is a legitimate use case for home miners who prioritize noise and heat management over maximum hashrate.
EEPROM vs. Other Storage on Antminers
To fully understand where EEPROM fits in the Antminer architecture, it helps to see how it compares to the other storage mechanisms in the system.
| Storage Type | Location | Contents | Rewritable? |
|---|---|---|---|
| EEPROM (hash board) | Each hash board | Board identity, voltage/frequency config, serial | Yes (byte-level, 100K+ cycles) |
| NAND flash (control board) | Control board | Linux OS, mining firmware, configuration files | Yes (block-level, 10K–100K cycles) |
| SRAM (ASIC chips) | Inside each ASIC chip | Runtime registers, nonce counters, job data | Volatile (lost on power off) |
| SPI flash (some models) | Control board or PSU controller | Bootloader, PSU firmware | Yes (sector-level, requires specific tools) |
The EEPROM is the only persistent storage on the hash board itself. Everything else on the hash board is either hardwired (resistor networks, PCB traces) or volatile (ASIC registers). This is why EEPROM corruption is so impactful — there is no fallback, no redundant copy, no recovery partition. If the EEPROM data is wrong, the board cannot identify itself.
Advanced: EEPROM Data Structure Deep Dive (S9 Example)
For those who want to get hands-on, here is a simplified breakdown of the EEPROM data layout on an Antminer S9 hash board (AT24C02, 256 bytes). Note that Bitmain does not publish official documentation for these structures — this is based on community reverse engineering and our own repair experience.
| Byte Offset | Length | Field | Example Value |
|---|---|---|---|
| 0x00–0x0F | 16 bytes | Board serial / identifier | ASCII string |
| 0x10–0x11 | 2 bytes | Hardware version | 0x0047 |
| 0x12–0x13 | 2 bytes | Chip count | 0x003F (63 chips) |
| 0x14–0x1B | 8 bytes | Voltage settings | Per-domain targets |
| 0x1C–0x23 | 8 bytes | Frequency settings | Clock rate targets |
| 0xFE–0xFF | 2 bytes | CRC16 checksum | Computed over 0x00–0xFD |
This structure is specific to the S9 generation. The S17 and later generations use a fundamentally different layout with more fields, nested structures, and integrity verification. Always work from a known-good reference dump for the specific board model you are repairing.
Best Practices for EEPROM Management
After years of EEPROM work across thousands of hash boards, here are the practices that consistently prevent problems and save time.
- Always back up before writing. No exceptions. Read the existing EEPROM data and save it before you change anything. Even if you think the data is corrupted, having the original dump gives you a reference point.
- Build a reference library. Every time you work on a new board model, dump the EEPROM from a known-good board and archive it. Label it with the full model name, hardware revision, and date. Over time, this library becomes invaluable.
- Verify every write with a read-back. After writing, immediately read the EEPROM and compare against your source file. Bit-for-bit verification catches write failures, poor connections, and data corruption.
- Use quality test clips. Cheap SOIC8 clips lose spring tension and make intermittent contact. A single bad bit in a serial number or checksum will cause the board to be rejected. Invest in Pomona or equivalent quality clips.
- Check the checksum. If the EEPROM data includes a CRC or checksum (most post-S9 boards do), make sure your modified data produces the correct checksum. Writing valid configuration data with an invalid checksum is equivalent to writing garbage — the firmware will reject it.
- Beware of bus conflicts. When reading EEPROM in-circuit (without desoldering), other devices on the I2C bus can interfere. If you get inconsistent reads, the PIC microcontroller or voltage regulator on the same bus may be fighting your programmer. In stubborn cases, desoldering the EEPROM for off-board programming is the reliable approach.
- Label your boards. After any EEPROM work, physically label the board with what was done, the date, and the data source. When a board comes back to the bench months later, this label saves significant re-diagnosis time.
- Do not modify EEPROM data speculatively. If you do not understand what a byte does, do not change it. Modify only the fields you can positively identify, and leave everything else at the reference values.
When to Send Your Board to a Professional
EEPROM work is approachable for experienced tinkerers, but there are situations where professional repair is the safer choice:
- You do not have a known-good EEPROM dump for your specific board model and revision
- The EEPROM chip itself needs physical replacement (SMD soldering skill required)
- The board has additional issues beyond EEPROM corruption (damaged ASIC chips, blown voltage regulators, cracked PCB traces)
- The board is from a newer generation (S19 XP, S21) with encrypted or signed EEPROM data
- You have already attempted a fix and the board still does not detect
D-Central’s ASIC repair service handles EEPROM-related issues daily across all Antminer generations. We maintain a comprehensive library of known-good EEPROM profiles and have the soldering equipment to handle chip-level replacements. If you are dealing with a stubborn board, reach out before you risk making a recoverable problem into a permanent one.
Frequently Asked Questions
What is EEPROM and why is it important in Antminer hash boards?
EEPROM (Electrically Erasable Programmable Read-Only Memory) is a small non-volatile memory chip on each Antminer hash board that stores board identity and configuration data, including the serial number, voltage settings, frequency tables, and ASIC chip map. The control board reads this data during boot to detect and initialize each hash board. If the EEPROM is corrupted or blank, the hash board will not be recognized and will produce zero hashrate.
Can I read and write EEPROM data without desoldering the chip?
Yes. Using a SOIC8 test clip and a USB programmer like the CH341A, you can read and write EEPROM data in-circuit without removing the chip. The test clip clamps onto the EEPROM pins while the chip remains soldered to the board. However, the board must be completely powered off, and in some cases other devices on the I2C bus can interfere with the read/write process. If you get inconsistent results in-circuit, desoldering the chip for off-board programming is the fallback approach.
What causes EEPROM corruption in Antminer devices?
The most common causes are: power surges or outages during firmware updates (the update process writes new configuration data to the EEPROM), electrical overstress from unstable power supplies, electromagnetic interference in electrically noisy environments, and interrupted I2C communication during board initialization. Physical damage to the board or excessive heat during soldering work near the EEPROM can also cause data corruption or chip failure.
How do I know if my Antminer has an EEPROM problem?
Common symptoms include: one or more hash boards not being detected (missing from the miner dashboard), a hash board showing zero hashrate despite being physically connected, abnormally high hardware error rates, incorrect frequency or voltage readings on a board, or the kernel log showing chain detection failures or I2C communication errors. These symptoms can have other causes too, but EEPROM issues should be on the diagnostic checklist.
Is it safe to modify EEPROM data for overclocking or underclocking?
Modifying frequency and voltage values in the EEPROM can achieve persistent overclocking or underclocking that survives reboots. However, it carries real risk. Setting voltages too high can damage ASIC chips or voltage regulators. Setting frequencies too high causes instability and excessive hardware errors. For most miners, using custom firmware like Braiins OS or VNish is a safer approach to tuning, as these firmwares provide software-level controls with safety limits. EEPROM-level modifications are generally reserved for specific use cases where firmware tuning is not available or sufficient.
Can I use EEPROM data from a different board model?
Generally, no. EEPROM data is specific to the board model, hardware revision, and sometimes the individual board. Using data from a different model will result in incorrect voltage settings, wrong chip counts, and failed board detection. Even within the same model family (e.g., S17 vs S17+), the EEPROM data structures may differ. Always use a known-good dump from the exact same board model and hardware revision.
What is the difference between EEPROM and the NAND flash on the control board?
The EEPROM is located on each hash board and stores board-specific identity and configuration data (a few hundred bytes). The NAND flash is located on the control board and stores the Linux operating system, mining firmware, pool configuration, and user settings (hundreds of megabytes to gigabytes). Reflashing the NAND flash reinstalls the firmware. Reflashing the EEPROM rewrites the hash board identity and configuration. They are completely separate storage systems serving different purposes.
How much does professional EEPROM repair cost?
EEPROM reprogramming is typically one component of a broader hash board repair. At D-Central, ASIC repair pricing varies by model and the scope of work required. A straightforward EEPROM reflash on a board with no other issues is one of the simpler repairs, but a full diagnostic is always performed to ensure there are no underlying problems that caused the corruption in the first place. Contact our repair service for a specific assessment of your board.
{
“@context”: “https://schema.org”,
“@type”: “FAQPage”,
“mainEntity”: [
{
“@type”: “Question”,
“name”: “What is EEPROM and why is it important in Antminer hash boards?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “EEPROM (Electrically Erasable Programmable Read-Only Memory) is a small non-volatile memory chip on each Antminer hash board that stores board identity and configuration data, including the serial number, voltage settings, frequency tables, and ASIC chip map. The control board reads this data during boot to detect and initialize each hash board. If the EEPROM is corrupted or blank, the hash board will not be recognized and will produce zero hashrate.”
}
},
{
“@type”: “Question”,
“name”: “Can I read and write EEPROM data without desoldering the chip?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Yes. Using a SOIC8 test clip and a USB programmer like the CH341A, you can read and write EEPROM data in-circuit without removing the chip. The test clip clamps onto the EEPROM pins while the chip remains soldered to the board. However, the board must be completely powered off, and in some cases other devices on the I2C bus can interfere with the read/write process.”
}
},
{
“@type”: “Question”,
“name”: “What causes EEPROM corruption in Antminer devices?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “The most common causes are power surges or outages during firmware updates, electrical overstress from unstable power supplies, electromagnetic interference in electrically noisy environments, and interrupted I2C communication during board initialization. Physical damage to the board or excessive heat during soldering work near the EEPROM can also cause data corruption or chip failure.”
}
},
{
“@type”: “Question”,
“name”: “How do I know if my Antminer has an EEPROM problem?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Common symptoms include one or more hash boards not being detected, a hash board showing zero hashrate despite being physically connected, abnormally high hardware error rates, incorrect frequency or voltage readings, or the kernel log showing chain detection failures or I2C communication errors.”
}
},
{
“@type”: “Question”,
“name”: “Is it safe to modify EEPROM data for overclocking or underclocking?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Modifying frequency and voltage values in the EEPROM can achieve persistent overclocking or underclocking that survives reboots. However, it carries real risk. Setting voltages too high can damage ASIC chips or voltage regulators. For most miners, using custom firmware is a safer approach to tuning.”
}
},
{
“@type”: “Question”,
“name”: “Can I use EEPROM data from a different board model?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Generally, no. EEPROM data is specific to the board model, hardware revision, and sometimes the individual board. Using data from a different model will result in incorrect voltage settings, wrong chip counts, and failed board detection. Always use a known-good dump from the exact same board model and hardware revision.”
}
},
{
“@type”: “Question”,
“name”: “What is the difference between EEPROM and the NAND flash on the control board?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “The EEPROM is located on each hash board and stores board-specific identity and configuration data (a few hundred bytes). The NAND flash is located on the control board and stores the Linux operating system, mining firmware, pool configuration, and user settings. They are completely separate storage systems serving different purposes.”
}
},
{
“@type”: “Question”,
“name”: “How much does professional EEPROM repair cost?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “EEPROM reprogramming is typically one component of a broader hash board repair. At D-Central, ASIC repair pricing varies by model and the scope of work required. A straightforward EEPROM reflash on a board with no other issues is one of the simpler repairs, but a full diagnostic is always performed. Contact our repair service for a specific assessment.”
}
}
]
}