Skip to content

etch341

A flash programmer for the CH341A. Read, erase, write, and verify SPI NOR + I²C EEPROM chips from one cross-platform binary that's both a CLI and a GUI.

Take the GUI tour

etch341 talks to the CH341A USB programmer over libusb and reads, erases, writes, and verifies SPI NOR flash + I²C EEPROM chips. Auto-detects the chip by JEDEC ID, ships a database of 58 common parts, and handles both 3.3V and 1.8V silicon. One binary serves both the CLI and a GPUI-based desktop GUI — no subcommand opens the GUI, any subcommand runs in CLI mode.

SPI flash

Read / erase / write / verify SPI NOR up to 32 MB+ on both 3.3V and 1.8V chips. 4-byte addressing for parts above 16 MB. Hardware-validated against Macronix MX25U4033E on a GTX 1060 VBIOS.

I²C EEPROM

Scan the bus, read / write / verify 24Cxx EEPROMs from 128 B (24C01) to 64 KB (24C512). Handles the bit-stuffing convention for the 24C04 / 08 / 16 sub-families automatically.

Cross-platform

macOS (arm64 + amd64), Windows (amd64 + arm64), Linux (amd64 + arm64). Native installers per platform — .dmg, .msi, .deb, .AppImage, .rpm, .pkg.tar.zst.

CLI + GUI

The same binary opens a GPUI desktop window when you double-click it and runs as a CLI when you give it a subcommand. Hex viewer with find / jump / byte selection / copy, live progress for long ops, persistent prefs.

Install

Native installers for every supported platform, or cargo install --path . from source. Install instructions.

SPI workflow

Detect a chip, read it to a file, verify the dump, then erase + write a new image. SPI workflow.

GUI tour

What’s in each pane, what the hex viewer’s Find bar does, the chip-detect flow. GUI tour.

CLI reference

Every subcommand + every global flag, with examples for detect / read / write / verify / chips / strings / search. CLI reference.