Go Down

Topic: Looking for an external SPI flash memory module (Read 592 times) previous topic - next topic


Can anyone suggest a cheap external SPI flash memory module, at least 100 Mbits/s, if possible on aliex*** or bang*** ?
Thank you
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).


If you google "external SPI flash memory module", you will find some options. By getting their IC names, you can search them in the store of your choice.
Sorry, I have no suggestions; but googling and investigating a little doesn't hurt anybody.

By the way...
at least 100 Mbits/s
So you need an SPI port capable of clocking at 100 MHz... yikes! None of the most popular Arduino boards are capable of such speed :o

Excluding SBCs, very few microcontrollers can clock its SPI port that fast. The only examples (or possible candidates) I know are the ESP-32 (an overclocked 8266 is still too slow), the fastest Teensy and a very few STM32 microcontrollers.


Sep 25, 2018, 06:47 am Last Edit: Sep 25, 2018, 07:05 am by DrAzzy
100 mbit/sec?

Exactly what arduino-compatible microcontroller are you planning to use that could supply or ingest data that fast?!

aliexpress and bangood are not curse words - you don't have to bleep them out. As long as you're not spamming or dishonestly promoting products, we welcome and encourage links to products users are using (often we demand it when people ask for help with pieces of hardware). Hell, I routinely link to my own Tindie store!

That said - while aliexpress, bangood, and ebay are great for some types of items, I can't recommend them for most bare IC's (I get a few ICs from them - stuff that's made by chinese manufacturers and not carried by reputable vendors), but, if you live in a country well served by Mouser, Digikey, or Newark Electronics, I would recommend them instead. They're all models of efficient logistics, and have wonderful parametric search functions. For example, you want SPI flash?

Sorted in descending order by speed - play with the filters as you please: https://www.digikey.com/products/en/integrated-circuits-ics/memory/774?FV=8e80064%2C8e80065%2C8e80066%2C8e80067%2C8e80090%2C8e8009a%2C8e8009b%2C8e800a5%2C8e800aa%2C8e800ab%2C8e80062%2C8e80063%2Cf040005%2C1fec000a%2C1fec000b%2C1fec000d%2C1fec000e%2C1fec0012%2C1fec0009%2Cffe00306%2C1c0002%2C1c0003%2C1c0006&quantity=0&ColumnSort=-800&page=1&pageSize=25

Also - when working with SPI flash, most of them support "DIO" and "QIO" modes; if the micro you're using supports it, these can offer speeds 2 or 4 times faster than the SPI clock. This is used on the Espresif microcontrollers (though the breakout boards often don't make clear which is in use; I recently got ripped off on a batch, winding up with a bunch of ESP8266 boards with DIO flash instead of QIO; unfortunately my application is speed-constrained, and the ESP's speed is directly proportional to flash speed since it executes the code from flash - which highlights a problem with the straight-from-china el-cheapo sources)
ATtiny core for 841+1634+828 and x313/x4/x5/x61/x7/x8 series Board Manager:
ATtiny breakouts (some assembled), mosfets and awesome prototyping board in my store http://tindie.com/stores/DrAzzy


Sep 25, 2018, 09:08 am Last Edit: Sep 25, 2018, 09:14 am by lesept
Thanks for your answers. You're right, I plan to use this with an ESP32.

I don't want a bare IC but a module that I can readily connect to the ESP SPI port. DIO and QIO modes are good options as they may help to get the speed I'm targetting.

My objective is to store a set of bits in the flash memory and release them as fast as possible through a digital pin of the ESP32 module. I only have 2 ESP32 module by now, and AFAIK they do not have internal flash memory:

Do you know how I can verify if they have internal flash memory or not?

Aliexpress and Banggood are better options for me, as they have very cheap or no shipping costs.

I found two candidates:
W25Q32F 32MB

CJMCU-2516 16Mb
No description.

--> What do you think ?
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).


The Lolin board has a flash memory, as seen in the pictures and pointed in the silk screen.
The generic one is hard to tell since the microcontroller is inside a metal shield.

If the ESP-32 has no on-chip flash storage (at all), then even the generic ones should have it externally. If they have, then the external one it's just for expansion.
Remember that the ESP boards divide the flash memory in four sections (as the Arduino IDE is concern): main program code, OTA programming, virtual EEPROM and SPIFS (more or less like an internal SD card, it's a filesystem nonetheless).

If you need even more storage for whatever reason, then go ahead.
The only difference I've found in both modules, are the storage capacity and the pin layout; the rest is pretty much the same.

If the ESP-32 is capable of multi-SPI, that's even better; however, even at single-SPI already reaches the 100 Mbit/s mark, due to its working clock speed.


Great! Thanks!
Then I can begin to play with the Lolin board and SPIFFS memory. I just need a few kbits (say 20kbits for example) so memory size should not be a problem.

But, as I'm a complete noob using ESP32 (I mean I can use it as an Arduino, but here I feel it's not the case anymore), I'd appreciate some explanation...

I've looked for a tutorial on the web, but only found the SPIFFS filesystem API site which is quite hard for me.

For my first step, I just want to write a series of bytes in the flash memory. The second step is to read them serialy and send them to a digital pin. I'll then connect that pin to an oscilloscope to see the stream and estimate the datarate.

I'll try to post a tentative code very soon, any help will be appreciated :)
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

Go Up