Closed NEHAL608 closed 1 month ago
@NEHAL608 For information about connecting an external flash chip for data storage, please refer to examples/storage/ext_flash_fatfs example.
It is not possible to use external flash for code storage. Currently available ESP chips can run code only from one flash chip at a time. However even with the functionality you describe, it is unlikely that the code size (excluding data) would exceed half of the 16 MB Flash capacity.
I would also recommend considering the ESP32-S3-WROOM-2-N32R8V for your application. Not only it has 32 MB flash capacity, it also uses an Octal SPI interface for Flash and PSRAM, which should result in better performance for demanding applications such as yours.
Answers checklist.
General issue report
Hello,
I am currently working on a project with the ESP32-N16R8, where we are leveraging multiple advanced features including a ChatGPT-like model, ESP BLE Mesh, and ESP RainMaker. As these components are significantly increasing our memory demands, we are approaching the limits of the built-in 16 MB flash memory.
Given the complexity and memory requirements of our application, we are considering the integration of an external Winbond SPI flash memory for additional storage capacity. Here are some specifics about our setup and needs:
Device: ESP32-N16R8 Current Usage: ChatGPT Model: Running language processing tasks ESP BLE Mesh: Managing multiple BLE nodes ESP RainMaker: Implementing cloud integration Memory Concerns: Nearing the 16 MB internal flash capacity, necessitating external storage solutions for both program code and data. Questions:
Is it technically feasible to use external Winbond SPI flash to extend the storage capacity beyond the internal 16 MB flash for such a complex application? Are there any known limitations or performance concerns when integrating external SPI flash with ESP32 for high-demand applications like ours? Could you recommend best practices or existing implementations that leverage external flash memory for similar scale applications? Any guidance, examples, or references to relevant documentation would be greatly appreciated as we navigate this expansion of our project's memory capabilities.
Thanks and regards,
Nehal