How to flash a laptop BIOS with a CH341A programmer
The CH341A is the cheapest way to read and write the SPI flash chip that holds a laptop's BIOS. It works well for most 3.3 V 25-series chips — as long as you check the chip first and always keep a copy of what was on it.
What you need
- A CH341A USB programmer.
- An SOIC-8 test clip (to program the chip on the board) or a hot-air station to remove it.
- A 1.8 V adapter if the chip is a 1.8 V part (see below).
- Software: NeoProgrammer, AsProgrammer or the CH341A programmer utility.
1. Identify the chip
The BIOS chip is an 8-pin SOIC or WSON package near the chipset, usually from Winbond, Macronix, GigaDevice or EON. The part number gives the size:
| Marking | Capacity |
|---|---|
| W25Q32, MX25L3206, 25Q32 | 4 MB |
| W25Q64, MX25L6406, GD25Q64 | 8 MB |
| W25Q128, MX25L12873, GD25Q127 | 16 MB |
| W25Q256 | 32 MB |
The number after the family name is the size in megabits; divide by 8 for megabytes. ChambersDesignInc.com shows the chip size on each BIOS file, so you can check that a dump matches your chip before downloading it.
Voltage matters. 1.8 V families — Winbond W25Q…FW / W25Q…JW (e.g. W25Q64FW, W25Q128JW), Macronix MX25U…, GigaDevice GD25LQ… — must not be connected to a 3.3 V programmer: use a 1.8 V adapter. Some CH341A boards also drive the data lines at 5 V; use a board revision fixed for 3.3 V or add a level converter.
2. Connect and read — twice
- Disconnect the battery and the AC adapter. Remove the RTC (CMOS) battery if it powers the chip's rail.
- Attach the clip with pin 1 (the dot on the chip) on the red wire.
- Let the software detect the chip. If detection fails or the ID looks random, re-seat the clip — don't write anything.
- Read the chip and save the file. Read it again and compare the two files. If they differ, the connection is unreliable.
Keep this backup. It contains things no downloaded dump has: your board's serial number, DMI data (service tag, UUID), MAC address on some boards, and the Intel ME / AMD PSP state.
3. Choose the right image
- The image size must equal the chip size: an 8 MB chip needs an 8,388,608-byte file.
- Match the board number and revision, not only the laptop model. One model can ship with several boards (ChambersDesignInc.com model pages list them).
- Prefer dumps marked as tested, and for Intel boards a dump with a clean ME region if you are moving it from another board.
- Some boards have two chips (BIOS + EC/KBC, e.g. 8 MB + 1 MB files in one archive). Write each file to its own chip.
4. Erase, write, verify
- Erase the chip and run a blank check.
- Write the image.
- Verify — the software reads the chip back and compares it with the file. Do not skip this.
5. After the flash
Reconnect power and let the first boot take its time: many laptops reboot several times while the ME and memory training reinitialise. If the board was moved from another machine, restore the serial / DMI data from your backup with the vendor's DMI tool, or transplant the DMI region from your original dump with a BIOS editor.
Troubleshooting
| Symptom | Likely cause |
|---|---|
| Chip not detected / ID FF FF FF | clip not seated, board rail back-feeding — remove the chip |
| Verify fails at random addresses | weak USB power, long wires, 5 V CH341A on a 3.3 V chip |
| Board powers on, no display | wrong board revision, ME region from another board, EC firmware missing |
| Fans at full speed, no POST | EC/KBC firmware does not match the BIOS |