This breakout is for a fascinating chip - it looks like an SPI Flash storage chip (like the GD25Q16) but its really an SD card, in an SMT chip format. What that means is that you wire up like an SD card breakout, and use the SD card libraries you already have for your microcontroller. For example, you can use the built in SD library in Arduino, or for CircuitPython we have an sdcard library. The breakout will act just like a 512 MB sized card with FAT formatting (it's pre-formatted).

You might be wondering why you'd want such a thing - after all you can't plug it into a computer to get the files off like MicroSD cards. For some use cases, such as data logging in a high-vibration device where you don't want the SD card to come loose, or for when you need to reduce size, or when the microcontroller provides a USB mass storage interface, this chip could very useful.

Compared to plain SPI flash, this NAND memory chip handles all the wear leveling and ECC calculation. You don't have to manually erase blocks, you just write and read them like you would with any SD card. You can clock it up 50 MHz and the 'write speed class' is 8 (although you may not be able to get that fast with plain 1-bit SPI compared to SDIO).

We made this breakout to be a quickstart for this chip. We wired the chip in "SPI" mode, with a level shifters so you can use it with 3V or 5V logic easily. You also get a 3.3V regulator and a pullup on CS. Wire up the SPI pins to your microcontroller, use your favorite SD library and you'll be ready to rock in minutes!

Power Pins

  • VIN - this is the power pin. Since the chip uses 3-5VDC you should pick whatever the logic voltage you're using. For most Arduino's that's 5V.
  • 3V3 - this is the 3.3V output from the voltage regulator, you can grab up to 100mA from this if you like
  • GND - common ground for power and logic

SPI Logic Pins

All pins are 3-5V compliant and use whatever logic level is on VIN

  • SCK - This is the SPI clock pin, it's an input to the chip
  • MISO - this is the Microcontroller In Serial Out pin, for data sent from the SD card to your processor
  • MOSI - this is the Microcontroller Out Serial In pin, for data sent from your processor to the SD card
  • CS - this is the chip select pin, drop it low to start an SPI transaction. It's an input to the chip

Using the SPI Flash SD Card breakout with Arduino is as simple as wiring it up to a microcontroller and using the Arduino SD library.

Arduino Wiring

Wire up your SPI Flash SD Card breakout as shown below. This example shows a Metro wired up using SPI.

  • Arduino 5V to breakout VIN
  • Arduino GND to breakout GND
  • Arduino 11 to breakout MOSI
  • Arduino 12 to breakout MISO
  • Arduino 13 to breakout SCK
  • Arduino 10 to breakout CS

Arduino Usage

Check out the Arduino Library page in the Micro SD Card Breakout Board Tutorial guide for everything you need to know about using your SPI Flash SD Card breakout!

Using the SPI Flash SD Card breakout with CircuitPython is as simple as wiring it up to a microcontroller and using the Adafruit CircuitPython SD library.

It is not recommended to use this with Raspberry Pi and other single-board computers as you already have a full filesystem available to you.

CircuitPython Wiring

Wire up your SPI Flash SD Card breakout as shown below. This example shows a Feather M4 wired up using SPI.

  • Board 3V to breakout VIN
  • Board GND to breakout GND
  • Board SCK to breakout SCK
  • Board MI(SO) to breakout MISO
  • Board MO(SI) to breakout MOSI
  • Board D5 to breakout CS

CircuitPython Usage

Check out the CircuitPython page in the CircuitPython Hardware: SD Cards guide for everything you need to know about using your SPI Flash SD Card breakout!

This guide was first published on Feb 02, 2021. It was last updated on Jan 27, 2021.