It’s no secret that we love Arduino boards around here. Arduino has revolutionized the maker community more than any other product over the past decade, and Arduino boards are the basis for thousands of great projects. The whole appeal of an Arduino is its ability to easily facilitate connections between a microcontroller and other components. If a feature is missing, you can add it. If you want some non-volatile storage, this simple DataFlash board designed by David Johnson-Davies is perfect for the job.
Most Arduinos, such as the Uno, can store data in a few different ways out of the box. There is the flash memory where your code resides, the RAM that the code can use while the board is turned (but is lost when power is disconnected), and a small amount of EEPROM for storing settings and such. But those are quite limited in capacity. The Microchip ATmega328P microcontroller used in the Arduino Uno, for example, only has 32KB of flash memory. That’s enough for most code, but you are left without anywhere to store data.
This DataFlash board solves that problem by giving you an additional 4MB of non-volatile storage. It’s built around an inexpensive Winbond W25Q32FVSIG DataFlash chip on a custom PCB. The only other parts on the board are a few discrete components. Once the board is assembled, you can connect it directly to an Arduino’s pin header to use it. Johnson-Davies has provided a library to work with the board, and it’s compatible with both 5V and 3.3V Arduino models (and many others from different manufacturers). The DataFlash chip is good for 100,000 erase/program cycles, and provides enough storage for 2,000 pages of text or approximately 12 minutes of digitized speech. If you want to make one, you can order the PCB from OSH Park or have it fabricated by whichever service you prefer.