# Adafruit QSPI DIP Breakout Boards

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/123/219/medium800/components_5634-04.jpg?1690985761)

For many modern and powerful chips like the RP2040, ESP32, RT10xx and STM32 series microcontrollers, designers can save money and reduce the number of chip options by not including building in the Flash memory used to store code and resources. Instead, an external QSPI Flash memory chip is wired up that can provide up to 16 Megabytes (a.k.a 128 Megabits) of memory. It's not as fast as if it were on the microcontroller internal bus but with Quad SPI I/O and some clever caching by the chip designer, it's pretty effective!

To make prototyping and designing with QSPI flash a little easier, we designed these breakouts that convert the wide 8-SOIC packages to a cute 0.3" wide DIP. We find these handy when testing out different flash sizes, or if we just want to add more storage memory to a project.

![](https://cdn-learn.adafruit.com/assets/assets/000/123/220/medium800/components_5634-05.jpg?1690985773)

There are three variants for these breakouts:

- [**W25Q16JVSSIQ** , a 3.3V power and logic 16-Megabit / 2 Mega-byte chip.](https://www.adafruit.com/product/5632)
- [**W25Q64JVSSIQ** , a 3.3V power and logic 64-Megabit / 8 Mega-byte chip.](https://www.adafruit.com/product/5633)
- [**W25Q128JVSSIQ** , a 3.3V power and logic 128-Megabit / 16 Mega-byte chip.](https://www.adafruit.com/product/5634)

Note that the Q at the end means that the Quad Enable bit is permanently set in the status register. If you're using this in QSPI mode, then it'll work right out of the box. If you're using this in SPI mode, the 'hold' and 'write protect' pins don't do anything, so just connect them to 3.3V.

[In Arduino, we have the Adafruit\_SPIFlash library](https://github.com/adafruit/Adafruit_SPIFlash)&nbsp;that can be used to interface with this chip - but don't forget it's only good for 3.3V logic and power!

In CircuitPython,&nbsp;[this chip has a TOML definition file](https://github.com/adafruit/nvm.toml/tree/main/flash/winbond)&nbsp;so you could use it in a board definition.

Comes with a bit of header that can be used to solder in and plug into a breadboard or&nbsp; to replace an existing socketed SPI flash DIP chip.

# Adafruit QSPI DIP Breakout Boards

## Pinouts

![](https://cdn-learn.adafruit.com/assets/assets/000/116/700/medium800/components_double.jpg?1668540331)

## Power Pins

- **3V** &nbsp;- this is the 3V power input pin for the flash chip. These chips can only be used with 3.3V power and logic!
- **G** &nbsp;- common ground for power and logic.

Warning: 

## SPI Logic Pins

- **CS** - **C** hip **S** elect input. Enables and disables device operation. Set low to select the device to begin a SPI transaction. Marked on the front of the board with a white square.
- **IO0** - Data Input/Data **I** nput **O** utput **0** (MOSI). Used for serially writing instructions, addresses or data to the device on the rising edge of CLK.
- **IO1** - Data Output/Data **I** nput **O** utput **1** (MISO). Used for reading data or status from the device on the falling edge of **CLK**.
- **IO2&nbsp;** - Write Protect input/Data **I** nput **O** utput **2**. Used to prevent the status register from being written to. This pin is active low.
- **IO3&nbsp;** - Hold Input/Data **I** nput **O** utput **3**. Allows the device to be paused while it is actively selected.
- **CLK&nbsp;** - Serial **Cl** oc **k** Input (SCK). Provides the timing for serial input and output operations.

# Adafruit QSPI DIP Breakout Boards

## Arduino

Using a QSPI DIP breakout board&nbsp;with Arduino involves wiring up the QSPI chip to your Arduino-compatible microcontroller, installing the [Adafruit\_SPIFlash](https://github.com/adafruit/Adafruit_SPIFlash) library&nbsp;and running the provided example code.

## Wiring

Wire as shown for a&nbsp; **3.3V** &nbsp;board like a Feather. These breakouts are **only good for 3.3V logic and power!** Do not use them with a 5V board, like an Arduino Uno!

Here is an Adafruit Feather M4 wired up to the QSPI DIP breakout board on a solderless breadboard:

- **Board 3.3V** to **breakout 3V (red wire)**
- **Board GND** to **breakout G (black wire)**
- **Board pin 11** to **breakout IO0 (blue wire)**
- **Board pin 12** to **breakout IO1 (green wire)**
- **Board pin 13** to **breakout CLK (yellow wire)**

![components_arduinoBB_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/116/706/medium640/components_arduinoBB_bb.jpg?1668548852)

Warning: 

## Library Installation

You can install the&nbsp; **Adafruit SPIFlash&nbsp;** library&nbsp;for Arduino using the Library Manager in the Arduino IDE.

![](https://cdn-learn.adafruit.com/assets/assets/000/116/702/medium800/components_Arduino_Open_Library_Manager.png?1668542328)

Click the&nbsp; **Manage Libraries ...** &nbsp;menu item, search for&nbsp; **Adafruit SPIFlash** ,&nbsp;and select the&nbsp; **Adafruit SPIFlash** &nbsp;library:

![](https://cdn-learn.adafruit.com/assets/assets/000/116/704/medium800/components_libManager.jpg?1668548354)

If asked about dependencies, click "Install all".

![](https://cdn-learn.adafruit.com/assets/assets/000/116/705/medium800/components_arduinoDependencies.jpg?1668548366)

If the "Dependencies" window does not come up, then you already have the dependencies installed.&nbsp;

Warning: 

## Example Code
https://github.com/adafruit/Adafruit_SPIFlash/blob/master/examples/SdFat_ReadWrite/SdFat_ReadWrite.ino

![](https://cdn-learn.adafruit.com/assets/assets/000/116/707/medium800/components_arduinoSerial.jpg?1668548894)

Upload the read/write sketch to your board and open up the Serial Monitor ( **Tools -\> Serial Monitor** ) at 115200 baud. You'll see the initialization of the QSPI flash module over SPI. Then, a `text.txt` file is written to the flash chip. Finally, the contents of the `text.txt` file are read back and printed to the Serial Monitor.

# Adafruit QSPI DIP Breakout Boards

## Arduino Docs

# Adafruit QSPI DIP Breakout Boards

## Downloads

## Files

- [Flash Module Datasheet](https://cdn-learn.adafruit.com/assets/assets/000/116/709/original/datasheetQspi.pdf?1668549256)
- [W25Q16 Technical Documentation](https://www.winbond.com/hq/product/code-storage-flash-memory/serial-nor-flash/?__locale=en&partNo=W25Q16JV)
- [W25Q64 Technical Documentation](https://www.winbond.com/hq/product/code-storage-flash-memory/serial-nor-flash/?__locale=en&partNo=W25Q64FV)
- [W25Q128 Technical Documentation](https://www.winbond.com/hq/product/code-storage-flash-memory/serial-nor-flash/?__locale=en&partNo=W25Q128JV)
- [EagleCAD PCB files on GitHub](https://github.com/adafruit/Adafruit-QSPI-DIP-Breakout-PCB)
- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20QSPI%20DIP%20Breakout%20Board.fzpz)

## Schematic and Fab Print

These apply to all versions of the board.

![](https://cdn-learn.adafruit.com/assets/assets/000/116/699/medium800/components_schemWithFrame.png?1668539786)

![](https://cdn-learn.adafruit.com/assets/assets/000/116/697/medium800/components_fab.png?1668539235)


## Primary Products

### Adafruit QSPI DIP Breakout Board - W25Q16 - 16 MBit 2 MByte

[Adafruit QSPI DIP Breakout Board - W25Q16 - 16 MBit 2 MByte](https://www.adafruit.com/product/5632)
For many modern and powerful chips like the RP2040, ESP32, RT10xx and STM32 series microcontrollers, designers can save money and reduce the number of chip options by not including building in the Flash memory used to store code and resources. Instead, an external QSPI Flash memory chip is...

In Stock
[Buy Now](https://www.adafruit.com/product/5632)
[Related Guides to the Product](https://learn.adafruit.com/products/5632/guides)
### Adafruit QSPI DIP Breakout Board - W25Q64 - 64 MBit 8 MByte

[Adafruit QSPI DIP Breakout Board - W25Q64 - 64 MBit 8 MByte](https://www.adafruit.com/product/5633)
For many modern and powerful chips like the RP2040, ESP32, RT10xx, and STM32 series microcontrollers, designers can save money and reduce the number of chip options by not including building in the Flash memory used to store code and resources. Instead, an external QSPI Flash memory chip is...

In Stock
[Buy Now](https://www.adafruit.com/product/5633)
[Related Guides to the Product](https://learn.adafruit.com/products/5633/guides)
### Adafruit QSPI DIP Breakout Board - W25Q128 - 128 MBit 16 MByte

[Adafruit QSPI DIP Breakout Board - W25Q128 - 128 MBit 16 MByte](https://www.adafruit.com/product/5634)
For many modern and powerful chips like the RP2040, ESP32, RT10xx, and STM32 series microcontrollers, designers can save money and reduce the number of chip options by not including building in the Flash memory used to store code and resources. Instead, an external QSPI Flash memory chip is...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5634)
[Related Guides to the Product](https://learn.adafruit.com/products/5634/guides)

## Related Guides

- [Reverse Geocache Box](https://learn.adafruit.com/reverse-geocache-engagement-box.md)
- [Adafruit DS2482S-800 8 Channel I2C to 1-Wire Bus Adapter](https://learn.adafruit.com/adafruit-ds2482s-800-8-channel-i2c-to-1-wire-bus-adapter.md)
- [Adafruit Powerboost 1000 Basic](https://learn.adafruit.com/adafruit-powerboost-1000-basic.md)
- [Dotstar Featherwing in CircuitPython](https://learn.adafruit.com/dotstar-featherwing-in-circuitpython.md)
- [Adafruit QT Py and NeoPixel LEDs](https://learn.adafruit.com/qt-py-and-neopixel-leds.md)
- [Adafruit CircuitPython Wii Classic Controller Library](https://learn.adafruit.com/adafruit-circuitpython-wii-classic-controller-library.md)
- [Adafruit RS232 Pal](https://learn.adafruit.com/adafruit-rs232-pal.md)
- [NeoKey Socket Breakout with NeoPixel for MX and CHOC Key Switches](https://learn.adafruit.com/neokey-breakout.md)
- [Arduino Lesson 7. Make an RGB LED Fader](https://learn.adafruit.com/adafruit-arduino-lesson-7-make-an-rgb-led-fader.md)
- [CPU Temperature Logging with CircuitPython](https://learn.adafruit.com/cpu-temperature-logging-with-circuit-python.md)
- [Adafruit PowerBoost 500 + Charger](https://learn.adafruit.com/adafruit-powerboost-500-plus-charger.md)
- [Matrix Portal Creature Eyes](https://learn.adafruit.com/matrix-portal-creature-eyes.md)
- [Adafruit MMC5603 - Triple-axis Magnetometer](https://learn.adafruit.com/adafruit-mmc5603-triple-axis-magnetometer.md)
- [Adafruit Feather 32u4 FONA](https://learn.adafruit.com/adafruit-feather-32u4-fona.md)
- [Adafruit OV5640 Camera Breakouts](https://learn.adafruit.com/adafruit-ov5640-camera-breakout.md)
