How to flash a BIOS chip with a CH341A programmer

A careful, step-by-step procedure for backing up and rewriting a laptop or desktop SPI flash chip, including voltage checks and the mistakes that brick boards.

8 min read Updated 10 Nov 2026

In short: Identify the flash chip and its voltage (3.3 V or 1.8 V), remove all power from the board, read the chip twice and confirm both reads are identical, save that backup, then write the new image and verify it. Use a 1.8 V adapter for low-voltage chips, and copy the serial number and licence data from your backup into the new image before writing.

Writing firmware can leave a board unbootable. Nothing here replaces a verified backup of your own chip — make it before anything else.

What you need

  • A CH341A programmer (or RT809F/H, TL866II / T48, or any flashrom-supported device).
  • A SOIC8 test clip for in-circuit work, or a soldering station to lift the chip.
  • A 1.8 V adapter if the chip is a low-voltage type.
  • Software: NeoProgrammer or AsProgrammer on Windows, or flashrom on any system.

1. Identify the chip

The BIOS chip is an 8-pin part (SOP8, or leadless WSON8) usually marked with a 25-series name. Read the full marking and look up the datasheet.

Marking examples Capacity Voltage
W25Q64FV / JV, GD25Q64, MX25L6473 8 MB 3.3 V
W25Q128FV / JV, GD25Q128, MX25L12873 16 MB 3.3 V
W25Q64FW / JW, GD25LQ64, MX25U6435 8 MB 1.8 V
W25Q128FW / JW, GD25LQ128, MX25U12835 16 MB 1.8 V
W25Q256JW, MX25U25645 32 MB 1.8 V

The letters matter: Winbond …W, GigaDevice LQ / LB and Macronix U parts are 1.8 V. Feeding them 3.3 V can destroy the chip.

Many boards have a second, smaller chip (often 1–2 MB) that holds the embedded-controller firmware. Know which one you are connected to.

2. Remove every power source

Unplug the charger, disconnect the main battery and the RTC coin cell. With a clip on a powered or back-fed board, reads are unreliable and the programmer may try to power half the motherboard.

3. Connect

Align pin 1 of the clip (red wire) with the dot on the chip. If the software cannot detect the chip, or two reads differ, in-circuit programming is not working on this board — desolder the chip and use a socket or adapter instead. That is common, not a sign of a dead chip.

A note on common black CH341A boards: many drive the data lines at 5 V even though the supply pin is 3.3 V. It usually works, but it is outside the chip’s rating; a modified programmer or a different tool is safer for regular use.

4. Read twice and compare

With flashrom:

flashrom -p ch341a_spi -r backup1.bin
flashrom -p ch341a_spi -r backup2.bin

Compare the two files (checksums, or a hex editor’s compare function). If they are identical and the size matches the chip (8 MB chip → exactly 8,388,608 bytes), you have a good backup. Keep it somewhere safe; it contains this machine’s serial number, UUID, MAC address and Windows key.

A file full of FF or 00 means no contact, not an empty chip.

5. Prepare the new image

  • The image must be for the same board number and revision, and the same size as the chip.
  • A vendor update file (.rom, .fd, .cap, or an .exe) is not always a full image. Check its size and structure in UEFITool before writing.
  • On Intel boards, prefer an image with a clean Management Engine region — see what a clean ME region is.
  • Transfer the machine-specific data (DMI) from your backup, otherwise the board will report a foreign or empty serial number.

6. Write and verify

flashrom -p ch341a_spi -w new.bin

flashrom erases, writes and verifies in one step. In NeoProgrammer / AsProgrammer use Erase → Write → Verify, or the automatic sequence. Do not skip the verification.

7. First start

Reconnect the RTC battery, then the charger — leave the main battery out for the first boot. The first start after a firmware change can take a minute or more with a black screen while memory is retrained and the ME initialises. Let it finish before judging the result.

If it still does not start

  • Re-read the chip and compare with the file you wrote.
  • Write your original backup back to confirm the programmer and chip are healthy.
  • Check that the fault is really firmware: a board with a missing rail will not be fixed by a BIOS, however clean. See how to read a laptop schematic.

BIOS and EC dumps indexed by board number are listed under BIOS & firmware.