CH341A Programmer Tool: Difference between revisions

From UART Wiki
Jump to navigation Jump to search
No edit summary
m (Added notes and linked to the other variant)
 
(One intermediate revision by one other user not shown)
Line 3: Line 3:
The '''CH341A programmer''' is a low-cost USB programmer used to interface with EEPROMs, SPI Flash, and other programmable ICs. It is commonly used for BIOS flashing, console repair, embedded development, and hardware reverse engineering.
The '''CH341A programmer''' is a low-cost USB programmer used to interface with EEPROMs, SPI Flash, and other programmable ICs. It is commonly used for BIOS flashing, console repair, embedded development, and hardware reverse engineering.


Based on the [[CH341A USB-to-serial chip]], this tool has become a staple in the electronics repair community due to its affordability, availability, and compatibility with several free programming tools.
Based on the [[CH341A USB-to-serial chip]], this tool has become a staple in the electronics repair community due to its affordability, availability, and compatibility with several free programming tools. The CH341A chip is the more feature-rich version of the popular [[CH340G]] chip, which only offers USB to UART conversion (as opposed to I²C and SPI as well).


== Overview ==
== Overview ==
Line 55: Line 55:
   * [https://flashrom.org/Supported_programmers#CH341 Linux Users: Flashrom setup]
   * [https://flashrom.org/Supported_programmers#CH341 Linux Users: Flashrom setup]
# Plug in the programmer via USB.
# Plug in the programmer via USB.
# Open compatible software (e.g., [[ASProgrammer]], [[NeoProgrammer]]).
# Open compatible software (e.g., [[AsProgrammer]], [[NeoProgrammer]]).
# Select the correct chip from the list.
# Select the correct chip from the list.
# Use "Read", "Erase", "Write", and "Verify" operations as needed.
# Use "Read", "Erase", "Write", and "Verify" operations as needed.

Latest revision as of 17:30, 19 May 2025

CH341A Programmer

The CH341A programmer is a low-cost USB programmer used to interface with EEPROMs, SPI Flash, and other programmable ICs. It is commonly used for BIOS flashing, console repair, embedded development, and hardware reverse engineering.

Based on the CH341A USB-to-serial chip, this tool has become a staple in the electronics repair community due to its affordability, availability, and compatibility with several free programming tools. The CH341A chip is the more feature-rich version of the popular CH340G chip, which only offers USB to UART conversion (as opposed to I²C and SPI as well).

Overview

The CH341A programmer is typically bundled as a small USB stick with a ZIF socket (Zero Insertion Force) for DIP chips. It communicates with flash memory chips via SPI or I²C protocols. It supports both 3.3V and (with an adapter) 1.8V logic levels.

Supported Chip Types

  • 24-series EEPROMs (I²C)
  • 25-series SPI Flash memory (e.g., BIOS chips)
  • 93-series EEPROMs (Microwire – limited support)
  • Some NOR/NAND Flash chips with adapters

Compatible Software

The CH341A programmer works with several popular flashing tools:

Variants

Black Edition

  • Operates at 3.3V only (can damage 1.8V chips if used without adapter)
  • Commonly used for SPI flash (e.g., 25Q32, 25Q64)
  • Cheapest version (~$2–$5 online)

Gold Edition

  • Offers switchable 3.3V/5V (but still not ideal for 1.8V chips)
  • Often includes additional pin headers for debugging
  • Better for more advanced or broader applications

CH341A Pro / MiniPro (Clones)

  • May have additional features like voltage regulators
  • Some support serial/UART pin breakout
  • Always confirm wiring before use

Using with 1.8V Chips

Many modern BIOS chips (e.g., Winbond 25Q128JVSQ) require 1.8V signaling. Direct connection using a CH341A without a level shifter **can damage the chip**.

Use a 1.8V adapter board (e.g., "CH341A 1.8V Adapter Module") with built-in voltage regulation.

Installation

  1. Download and install CH341A drivers:
  * Windows Drivers GitHub
  * Linux Users: Flashrom setup
  1. Plug in the programmer via USB.
  2. Open compatible software (e.g., AsProgrammer, NeoProgrammer).
  3. Select the correct chip from the list.
  4. Use "Read", "Erase", "Write", and "Verify" operations as needed.

Troubleshooting

Chip Not Detected

  • Ensure chip is inserted correctly (orientation matters)
  • Check for solid socket contact
  • Lower the read speed if using ASProgrammer
  • Use a different USB port or cable

Programmer Not Detected

  • Reinstall CH341A drivers
  • Run software as Administrator
  • Check if the CH341A appears under “USB-Serial” in Device Manager

Write Fails or Corrupts

  • Erase before writing
  • Double-check selected chip
  • Some chips may be write-protected (check WP pin or datasheet)
  • Use external power for power-hungry chips

Safety Tips

  • Never connect a 1.8V chip without an adapter to 3.3V programmer
  • Always double-check chip orientation in socket (pin 1)
  • Don’t hot-plug chips while powered

External Resources

Alternatives