Select category:
TI LaunchPad

and use any of my projects or libraries, and would like to encourage further development you can donate through PayPal here:

Rather donate hardware directly? Then click here.

Library: SPIflash

The idea for this library came to me long ago when I noticed the empty footprint on some TFT display modules. I thought it would be a good idea to have some extra storage space available for projects.

Microchip/SST Serial Flash MemoryWinbond Serial Flash MemorySerial Flash Memory Pinout

This library provides basic support for handling SPI flash memory chips. It also supports a very simple, read-only file system that can be used for storing text files and text (string) resource files. The file system also handles images for add-on libraries.

The included FlashUploader tool (sorry, Windows only) can be used to upload files to the file system on the chip or create files that can be uploaded from an SD card to the flash chip. I recommend uploading using an SD card as the serial link has been unstable during testing.

Note that the FlashUploader tool includes file types that are not supported directly by this library but requires add-on libraries.


(Filesize is 26463.26 KiB. Downloaded 18837 times)

Some demos showcasing most of the functions are included in the download.
This is a multi-platform library that will work with several different development board types.

v1.011 Jan 2014initial release
v1.0113 Jan 2014included the correct FlashUploader
v1.108 Jun 2014added support for three MXIC flash chips
v1.1102 Oct 2014fixed a typo in the FlashUploader chip list
  updated FlashUploader to v1.1
  updated the SPIflash_FlashUploader example sketches
  reduced default SPI speed from 20MHz to 13MHz for chipKit due to some instability issues
v1.201 Sep 2015added support W25Q256FV chips from Winbond
v1.302 Sep 2019added support for audio samples
  updated FlashUploader to v1.2
  fixed a small bug in fileOpen()
  added option to restrict access to the file system for time critical operations
  fixed some string conversion warnings


WorkingArduino Duemilanove w/ATmega328
WorkingArduino Uno
Not tested, UnsupportedArduino Leonardo
WorkingArduino Mega
WorkingArduino Mega2560
WorkingArduino Due
Not tested, UnsupportedBobuino
Not workingTeensy 3.1
Working = Working   Not working: Not working
Not tested, Unsupported = Not tested, Unsupported


The manual is included in the download


By downloading the library you accept the following license:
Creative Commons BY-NC-SA Logo
Creative Commons (CC BY-NC-SA 3.0)
View SummaryView Legal