Programmer

CH341A Windows Software Guide: AsProgrammer, NeoProgrammer

The CH341A is a cheap, popular USB chip used in mini programmers (especially the black or green “MiniProgrammer” boards with ZIF socket) for reading, writing, erasing, and verifying SPI Flash (25-series), I²C EEPROM (24-series), and some Microwire (93-series) chips. Common uses include BIOS recovery, firmware dumping/flashing, and EEPROM work on motherboards, routers, set-top boxes, etc.

AsProgrammer and other Windows utilities for CH341A

Official manufacturer software is limited or restricted, so the community relies on several free/open-source Windows tools. Here’s a practical overview of the main ones.

1. AsProgrammer (recommended open-source GUI)

  • What it is: Graphical tool for reading, erasing, writing, and verifying serial memory chips. Originally for USBasp, later expanded to support CH341A, CH347, FT232H, Arduino, AVRISP-MKII, etc.
  • License: MIT (open source).
  • Key sources:
  • Usage notes:
    • Portable (extract and run).
    • Select Hardware → CH341a, then choose the IC (or use the Read ID / auto-detect button for SPI).
    • Supports protection register handling (unprotect).
    • Works well with both official WCH drivers and (in some setups) libusb/WinUSB via Zadig.
  • Pros: Free, open-source, multi-programmer support, reliable for everyday SPI/I²C work.
  • Cons: Older main releases can feel dated; some users prefer the dregmod fork.

2. NeoProgrammer

  • Enhanced/fork-style tool based on AsProgrammer ideas, popular in the community for CH341A (black/green boards).
  • Shows connection diagrams for the selected chip and has a binary viewer.
  • Versions around 2.2.0.10 are commonly referenced.
  • Caveats: Not fully open-source in the same way; distribution is often via forums or third-party sites. There have been occasional reports of suspicious packages, so download carefully and scan files. Prefer sources that match known hashes when possible.
  • Many technicians use it successfully for BIOS and EEPROM work.

3. SNANDer (command-line)

  • Open-source CLI tool focused on SPI NOR/NAND + EEPROM (CH341A-based).
  • GitHub: github.com/McMCCRU/SNANDer
  • Uses libusb (not the official WCH driver). Install/replace the driver with Zadig → select the CH341A device (VID:PID 1A86:5512) → choose libusb-win32 or WinUSB.
  • Simple commands (-i for ID, -r read, -w write + -v verify, -e erase, etc.).
  • Good for scripting and when you prefer a lightweight CLI.

4. Other notable Windows options

  • CH341A/CH347 Programmer by Shichang Zhuo — open-source GUI supporting both CH341 and the faster CH347. Available via shared drives linked from community posts.
  • Original / bundled “CH341A Programmer” — the classic Chinese utility that often comes with the hardware. Functional but older and less polished.
  • EEFlasher — modern cross-platform (Windows/Linux) replacement aiming to improve on AsProgrammer (cleaner UI, faster writes, cancellation support, hex editor, etc.). Supports CH341A/CH347 and others.
  • CH341A tool (tomeko.net / GitHub tomek-o/CH341A-tool) — adds extra functionality beyond pure memory programming (I²C device detection, sensors, GPIO, Smart Battery info, OLED/display control, etc.). Requires the CH341PAR driver.
  • flashrom — powerful cross-platform CLI (Windows builds exist). Excellent chip database; uses libusb. Great for Linux primarily, but usable on Windows.

Drivers

  • Official WCH:
    • CH341SER (serial/UART)
    • CH341PAR (parallel / SPI-I²C programmer mode) — usually the important one for these tools.
    • Download from the manufacturer site (wch.cn or wch-ic.com).
  • libusb / WinUSB (for SNANDer, flashrom, some AsProgrammer setups): Use Zadig. Select the correct device carefully.
  • Close other CH341A tools before switching drivers.

Practical tips

  • Always make a verified backup (read twice and compare checksums) before erasing or writing.
  • Voltage matters: Many black CH341A boards put 5 V logic levels on the bus even when the socket is 3.3 V. Prefer boards with a voltage switch (3.3 V / 5 V) or use level-shifting / 1.8 V adapters when needed. Some chips (especially modern 1.8 V BIOS) require care.
  • Use a short, good-quality USB cable; avoid hubs and VMs when possible.
  • Chip orientation and clip contact quality are common failure points.
  • For in-circuit programming, power the target carefully (or power it from the programmer only).

Recommendation summary

  • Everyday GUI use → AsProgrammer (or its dregmod fork) with official drivers.
  • CLI / scripting / NAND support → SNANDer.
  • Modern alternative → check EEFlasher.
  • Extra I²C/sensor features → CH341A tool.

Download tool V5

These tools make the inexpensive CH341A surprisingly capable for hobbyist and repair work. Always double-check chip datasheets for voltage and pinout before connecting.

Leave a Reply

Your email address will not be published. Required fields are marked *