Modern microcontrollers - especially 32-bit ones - offer an increasing amount of built-in memory, both operational (RAM) and program (Flash). However, it is not difficult to identify areas where the internal 512 kB or even 1 MB of non-volatile memory (found in more advanced ARM processors) is still not enough - it is enough to say about applications for measurement or geolocation data loggers, or devices equipped with color graphic displays - these the latter, along with the increasing resolution of screens, require saving more and more data.
Flash Memory
Flash memory module - QSPI DIP - W25Q128JVSSIQ - 128 Mb / 16 MB - Adafruit 5634
A module with Flash memory W25Q128JVSSIQ manufactured by Adafruit , which allows you to extend the project with RP2040, ESP32, RT10xx and STM32 series microcontrollers with...Flash memory module - QSPI DIP - W25Q64JVSSIQ - 64 Mb / 8 MB - Adafruit 5633
Module with Flash memory W25Q64JVSSIQ with a capacity of 64 Mb / 8 MB from Adafruit . It uses the QSPI interface to communicate with connected devices, it can work with...SPI Flash SD Card - XTSD 512MB - NAND Flash memory module - Adafruit 4899
The SPI Flash SD Card from Adafruit is an SD card in SMT chip format that combines the advantages of SPI Flash memory with the functionality of an SD card , offering 512 MB...SPI FLASH Breakout - Flash memory module W25Q64 - 64 Mb / 8 MB - Adafruit 5636
SPI FLASH Breakout from Adafruit is a module with Flash memory W25Q64 with a capacity of 64 Mb / 8 MB . The module uses the SPI interface to communicate with connected...SPI FLASH Breakout - Flash memory module W25Q128 - 128Mb / 16MB - Adafruit 5643
Module manufactured by Adafruit with Flash memory 128 Mb / 16 MB equipped with W25Q128 chip. It has a built-in voltage converter , so it can work with boards powered by...Flash memory module - QSPI DIP - W25Q16JVSSIQ - 16 Mb / 2 MB - Adafruit 5632
Module with Flash memory W25Q16JVSSIQ with a capacity of 16 Mb / 2 MB manufactured by Adafruit . It can work with boards powered by 3.3 V and uses the QSPI interface to...Benefits of Flash Memory in Embedded Systems
Flash memories are perfect for such applications as saving files with measurement data or graphic elements of the GUI interface. What matters here is not only a large capacity and a very attractive price, but also a small number of GPIO lines of the microcontroller, necessary to connect the system. It is worth noting that while the classic DRAM memory chips require as many as several dozen I/O lines of the microcontroller, the popular Flash "dices" often use the SPI interface or its faster version (QSPI), which greatly simplifies the implementation. Flash memory also allows you to write data multiple times and is (usually) much faster. This type of memory is perfect for storing both frequently changed (usable) data - which distinguishes it from EPROM memory, which "doesn't like" too intensive overwriting of cells - as well as static data, uploaded eg only during production and possible firmware update. For this reason, the Flash memory acts as an external program memory, if the application code is so extensive that it does not fit in the internal Flash blocks of the microcontroller.
Arduino Flash memory - applications
Small microcontrollers especially often "suffer" from insufficient memory. For example - it is enough for our device to write one int_32 number (or another 4-byte variable) per second, and during a week the data will occupy as much as 40 kB (!). For this reason, it will be necessary to use an external Flash memory, to which it will be possible to save even many times more information almost "with impunity". Flash memory modules can be found in the Botland store - we constantly sell small printed circuit boards containing memory with an SPI or QSPI interface in sizes 2MB, 8 MB and 16MB and enabling easy connection to almost any development platform, powered by 3.3V or 5V (depending on the model).