Skip to content

Chip database

etch341’s chip database lives in two TOML files at the repo root, embedded into the binary at build time via include_str!. Running etch341 chips from the CLI lists the live, in-binary set.

Source: chips/chips.toml. Listed jedec_id is the 3-byte response to opcode 0x9F, formatted as 6 uppercase hex chars.

Winbond W25Q (3.3V, manufacturer 0xEF, family 0x40)

Section titled “Winbond W25Q (3.3V, manufacturer 0xEF, family 0x40)”
ChipJEDECSizeNotes
W25Q80DVEF40141 MB8 Mbit
W25Q16JVEF40152 MB16 Mbit
W25Q32JVEF40164 MB32 Mbit
W25Q64JVEF40178 MB64 Mbit — common BIOS flash
W25Q128JVEF401816 MB128 Mbit — common BIOS flash
W25Q256JVEF401932 MB256 Mbit (4-byte addressing)
W25Q512JVEF402064 MB512 Mbit, 3.3V (4-byte addressing)

Winbond W25X (legacy 3.3V, manufacturer 0xEF, family 0x30)

Section titled “Winbond W25X (legacy 3.3V, manufacturer 0xEF, family 0x30)”
ChipJEDECSize
W25X10EF3011128 KB
W25X20EF3012256 KB
W25X40EF3013512 KB
W25X80EF30141 MB
W25X16EF30152 MB
W25X32EF30164 MB
W25X64EF30178 MB

Winbond W25Q*JW (1.8V, manufacturer 0xEF, family 0x60)

Section titled “Winbond W25Q*JW (1.8V, manufacturer 0xEF, family 0x60)”

Common in newer Intel + AMD BIOS chips and M.2 modules. Needs a 1.8V-capable programmer — see Wiring + voltage.

ChipJEDECSize
W25Q16JWEF60152 MB
W25Q32JWEF60164 MB
W25Q64JWEF60178 MB
W25Q128JWEF601816 MB
W25Q256JWEF601932 MB
ChipJEDECSize
MX25L1006EC22011128 KB
MX25L2006EC22012256 KB
MX25L4006EC22013512 KB
MX25L8005C220141 MB
MX25L1606EC220152 MB
MX25L3206EC220164 MB
MX25L6406EC220178 MB
MX25L12835FC2201816 MB
MX25L25635FC2201932 MB

Macronix MX25U (1.8V, manufacturer 0xC2, family 0x25)

Section titled “Macronix MX25U (1.8V, manufacturer 0xC2, family 0x25)”
ChipJEDECSizeNotes
MX25U4033EC22533512 KBCommon GPU VBIOS (e.g. GTX 1060) — hardware-validated
MX25U8035EC225341 MB
MX25U1635FC225352 MB
MX25U3235FC225364 MB
MX25U6435FC225378 MB
MX25U12835FC2253816 MB
MX25U25645GC2253932 MB(4-byte addressing)

GigaDevice GD25Q + GD25LQ (manufacturer 0xC8)

Section titled “GigaDevice GD25Q + GD25LQ (manufacturer 0xC8)”
ChipJEDECSizeVoltage
GD25Q80C840141 MB3.3V
GD25Q16C840152 MB3.3V
GD25Q32C840164 MB3.3V
GD25Q64C840178 MB3.3V
GD25Q128C8401816 MB3.3V
GD25Q256C8401932 MB3.3V (4-byte addressing)
GD25LQ16C860152 MB1.8V
GD25LQ32C860164 MB1.8V
GD25LQ64C860178 MB1.8V
GD25LQ128C8601816 MB1.8V

Adesto’s AT25 line spans three voltage classes: the SF and DF families are 3.3V, the SL family is 1.8V (needs a 1.8V-capable programmer), and the low-voltage DN part runs from 2.3V. Only AT25DN512C is silicon-confirmed; the rest carry JEDEC IDs cross-referenced from published vendor ID tables.

ChipJEDECSizeVoltageNotes
AT25SF0411F8401512 KB3.3V
AT25SF0811F85011 MB3.3V
AT25SF1611F86012 MB3.3V
AT25SF3211F87014 MB3.3V
AT25DF041A1F4401512 KB3.3V
AT25DF081A1F45011 MB3.3Valso sold as AT26DF081A
AT25DF1611F46022 MB3.3V
AT25DF321A1F47014 MB3.3Vvery common on routers / embedded
AT25DF6411F48008 MB3.3V641 and 641A share this ID
AT25SL3211F42164 MB1.8V
AT25SL128A1F421816 MB1.8V
AT25DN512C1F650164 KB2.3Vno SFDP; silicon-confirmed
ChipJEDECSizeManufacturer
SST25VF016BBF25412 MBSST (AAI word-program)
SST25VF032BBF254A4 MBSST
SST25VF064CBF254B8 MBSST
EN25QH321C70164 MBEON
EN25QH641C70178 MBEON
EN25QH1281C701816 MBEON
P25Q40H856013512 KBPUYA
P25Q80H8560141 MBPUYA
P25Q16H8560152 MBPUYA
P25Q32H8560164 MBPUYA
P25Q64H8560178 MBPUYA
IS25LP0649D60178 MBISSI (FPGA dev boards)
IS25LP1289D601816 MBISSI (FPGA dev boards)

The families below were cross-referenced from published vendor ID tables and are flagged not-yet-silicon-tested in the catalogue notes until someone runs one. Parts ≥ 256 Mbit use 4-byte addressing (itself not yet silicon-validated).

Spansion / Cypress / Infineon S25FL (manufacturer 0x01)

Section titled “Spansion / Cypress / Infineon S25FL (manufacturer 0x01)”

Extremely common in networking, industrial, and automotive gear.

ChipJEDECSizeVoltageNotes
S25FL116K0140152 MB3.3V
S25FL132K0140164 MB3.3V
S25FL164K0140178 MB3.3V
S25FL064L0160178 MB3.3V
S25FL128L01601816 MB3.3V
S25FL256L01601932 MB3.3V4-byte addressing
S25FL128S01201816 MB3.3Valso S25FL127S / 129P
S25FL256S01021932 MB3.3V4-byte addressing
S25FL512S01022064 MB3.3V4-byte addressing

Micron / Numonyx N25Q + MT25Q (manufacturer 0x20)

Section titled “Micron / Numonyx N25Q + MT25Q (manufacturer 0x20)”

FPGA configuration flash and networking equipment. The 3.0V (BA) parts kept the N25Q name through the MT25QL rename — same JEDEC ID.

ChipJEDECSizeVoltageNotes
N25Q03220BA164 MB3.0V
N25Q06420BA178 MB3.0V
MT25QL12820BA1816 MB3.0Vsame ID as N25Q128
MT25QL25620BA1932 MB3.0Valso N25Q256; 4-byte
MT25QL51220BA2064 MB3.0Valso N25Q512; 4-byte
MT25QL01G20BA21128 MB3.0V4-byte addressing
MT25QU12820BB1816 MB1.8V
MT25QU25620BB1932 MB1.8V4-byte addressing
MT25QU51220BB2064 MB1.8V4-byte addressing

Microchip / SST SST26VF (manufacturer 0xBF, family 0x26)

Section titled “Microchip / SST SST26VF (manufacturer 0xBF, family 0x26)”
ChipJEDECSizeVoltageNotes
SST26VF016BBF26412 MB3.3V
SST26VF032BBF26424 MB3.3V
SST26VF064BBF26438 MB3.3V

IS25WP is the 1.8V sibling of the 3.3V IS25LP line.

ChipJEDECSizeVoltageNotes
IS25LP0329D60164 MB3.3V
IS25LP2569D601932 MB3.3V4-byte addressing
IS25WP0649D70178 MB1.8V
IS25WP1289D701816 MB1.8V
IS25WP2569D701932 MB1.8V4-byte addressing

XTX XT25F (manufacturer 0x0B, family 0x40)

Section titled “XTX XT25F (manufacturer 0x0B, family 0x40)”

Ubiquitous in cheap WiFi modules and ESP8266 / ESP32 boards.

ChipJEDECSizeVoltageNotes
XT25F16B0B40152 MB3.3V
XT25F32B0B40164 MB3.3V
XT25F64B0B40178 MB3.3V
XT25F128B0B401816 MB3.3V

Zbit ZB25VQ (manufacturer 0x0E, family 0x40)

Section titled “Zbit ZB25VQ (manufacturer 0x0E, family 0x40)”
ChipJEDECSizeVoltageNotes
ZB25VQ160E40152 MB3.3V
ZB25VQ320E40164 MB3.3V
ZB25VQ640E40178 MB3.3V
ZB25VQ1280E401816 MB3.3V

Boya / BoHong BY25Q (manufacturer 0x68, family 0x40)

Section titled “Boya / BoHong BY25Q (manufacturer 0x68, family 0x40)”
ChipJEDECSizeVoltageNotes
BY25Q64AS6840178 MB3.3V
BY25Q128AS68401816 MB3.3V

Macronix MX25R (low-power) + large parts (manufacturer 0xC2)

Section titled “Macronix MX25R (low-power) + large parts (manufacturer 0xC2)”

MX25R is a wide-Vcc low-power line common in BLE / IoT designs.

ChipJEDECSizeVoltageNotes
MX25R8035FC228141 MB1.65–3.6Vlow-power
MX25R1635FC228152 MB1.65–3.6Vlow-power
MX25R3235FC228164 MB1.65–3.6Vlow-power
MX25R6435FC228178 MB1.65–3.6Vlow-power
MX25L51245GC2201A64 MB3.3Valso MX66L51235F; 4-byte
MX66L1G45GC2201B128 MB3.3V4-byte addressing

EON EN25Q (manufacturer 0x1C, family 0x30)

Section titled “EON EN25Q (manufacturer 0x1C, family 0x30)”

The Q line; complements the EN25QH parts above.

ChipJEDECSizeVoltageNotes
EN25Q321C30164 MB3.3V
EN25Q641C30178 MB3.3V
EN25Q1281C301816 MB3.3V

GigaDevice GD25LQ (1.8V, manufacturer 0xC8, family 0x60)

Section titled “GigaDevice GD25LQ (1.8V, manufacturer 0xC8, family 0x60)”
ChipJEDECSizeVoltageNotes
GD25LQ256C8601932 MB1.8Valso GD25LQ255E; 4-byte

Source: chips/i2c_chips.toml. No JEDEC ID for I²C; chips are identified by name only via --chip <NAME>. The bit-stuffing / addr-width / page-size differences across the family are handled automatically.

ChipSizePageAddr widthSlave-addr bits stuffed
24C01128 B8 B1 byte0
24C02256 B8 B1 byte0
24C04512 B16 B1 byte1 (A0 used for mem-bit 8)
24C081 KB16 B1 byte2 (A0/A1 used for mem-bits 8-9)
24C162 KB16 B1 byte3 (A0/A1/A2 used for mem-bits 8-10)
24C324 KB32 B2 bytes0
24C648 KB32 B2 bytes0
24C12816 KB64 B2 bytes0
24C25632 KB64 B2 bytes0
24C51264 KB128 B2 bytes0

Most chips that aren’t in the database still work via the --chip <NAME> override if their pinout and opcodes match a chip that is in the database (it’s almost always one of the W25Q / MX25L / GD25Q / 24Cxx clones).

For chips that need first-class support, add an entry to the right TOML file:

[[chip]]
name = "MX25R8035F"
jedec_id = "C22814"
size_kb = 1024
page_size = 256
sector_size = 4096
erase_time_ms = 60
notes = "Macronix 8 Mbit, low-power 1.8V"

The chipdb unit tests validate that every entry has a unique JEDEC ID (6 hex chars, all-hex) at build time, so a duplicate or malformed ID will fail CI before the chip lands in a release. PRs welcome at github.com/packetThrower/etch341.