← Wiki · Component

QSPI flash (W25Q)

An 8-pin serial flash chip that holds the program of a bare RP2040, or data for any microcontroller. W25Q128JV is 16 MB, W25Q16JV 2 MB with the same pinout.

What it does#

Serial NOR flash keeps its contents without power. A bare RP2040 has no flash of its own: it runs its program straight from this chip over Quad SPI (four data lines). Other microcontrollers use the same chips for files, logs or pictures over plain SPI.

Pins#

Pin Name QSPI use
1 /CS chip select (QSPI_SS)
2 DO (IO1) QSPI_SD1
3 /WP (IO2) QSPI_SD2
4 GND ground
5 DI (IO0) QSPI_SD0
6 CLK QSPI_SCLK
7 /HOLD (IO3) QSPI_SD3
8 VCC 3.3 V, 100 nF at the pin
Example circuit: W25Q128JV with 100 nF at VCC; the BOOTSEL button pulls QSPI_SS to GND through 1 kΩ.
W25Q128JV with 100 nF at VCC; the BOOTSEL button pulls QSPI_SS to GND through 1 kΩ. Open the qspi_flash example from this page in PCB Canvas: “Insert into my schematic”.

Pitfalls#

  • Quad mode needs the QE bit: the “IQ” parts (W25Q128JVSIQ) leave the factory with Quad mode fixed on, so /WP and /HOLD act as IO2 and IO3.
  • Keep it close: the clock runs at tens of MHz; wire the six signals directly to the chip, no stubs, no long detours.
  • Package width: these parts come in a 208 mil (5.3 mm) SOIC-8, wider than the common 150 mil SOIC-8. Pick the matching footprint.

Footprint#

SOIC-8 5.3 × 5.3 mm (208 mil): W25Q128JVSIQ C97521 (basic part), W25Q16JVSSIQ C131025.