32Mb SPI Flash Memory System

I am looking for a robust 32Mb spi flash memory "system". What I mean is:

  1. A chip (preferably SOIC-8) that can be obtained quickly at low cost in moderate quantities (~50);
  2. An Arduino library that works with the chip and the following MCUs: ATTINY841, SAMD11D14;
  3. Software for programming the flash chip from a Windows10 PC with a binary file;
  4. Hardware for programming the flash chips from the PC.

I want to program the flash chip with a file from the PC, and read the file with the MCU.

Has anyone set up this procedure / system recently and had it working well, and if so would you share it?

What do you mean "robust"? SD cards are near indestructible. They're also available in much larger sizes than 32Mb.

The only reason not to use an SD card is if you have high vibration (like tens to hundreds of G's) and the card might slide out of its socket. Then a soldered chip is preferable.

I've used an AT45DB651E chip in one of my designs. Never again. Its sustained write speed is nothing like the claimed speed. You really have to work hard to get it working without tying up your processor for milliseconds at a time.

FRAM chips are the way to go for non-volatile storage in a soldered chip. I have yet to do a design with this. I'd also look at using an SD card epoxied into its socket permanently if vibration is a problem. I have some really good aerospace epoxy.

  1. SD cards are cheap.
  2. There's good (and bad) libraries available for SD cards.
  3. You can pop an SD card out of the device and into the PC to upload any files you like.
  4. Most PCs already have an SD card slot.
  1. You can pop an SD card out of the device and into the PC to upload any files you like.

That'll be a bit harder after you've epoxied it in place... 8)

It depends if the PC programming is a one-time setup or recurring.