I'm a newbie ESP32. I am going to make a system which stores files from the Internet. While it is easy to use SD card or storage stick (like an USB drive) to store data, but I want to use flash on board flash memory because SD card or other storage stick can be easily hacked by other people, and I want PCB so I want everything will be on PCB. I am going to store huge files over 1MB per file such as mp3 files.

Also I need file system to store files. I'm thinking using ESP32 but it is not for steaming but for downloading files one time because WiFi consumes too much power source.

NAND flash chip is what I am thinking, but I cannot find how to connect (wire) flash memory chips to ESP32 and how to program it to communicate with the flash by using file system.


  • SDCards have built in ware leveling. If you use external serial EEPROM you will have to do that your self. Or will your application down load and store files just once? USB Drives require more HW / SW support then SDCards.
    – st2000
    May 22 at 16:07
  • I think the maximum internal flash size of the ESP32 is 16MB. You won't be downloading many mp3s to that. Why do you think that an external storage can be hacked? That's only true if somebody has physical access to the device, in which case he can anyway do what he wants.
    – PMF
    May 23 at 8:19

1 Answer 1


The ESP32 modules (like Wroom or Wrover) have the flash chip integrated and they exist with different flash sizes from 4MB to 16MB. You can partition the flash to have a filesystem of any desired size. There are tons of tutorials online, google for "ESP32 SPIFFS". SPIFFS supports wear-leveling.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.