I'm fairly new to doing production work on ESP32 microcontrollers, and I'm wanting a little context and nuance from people who've been around the block a few times. So this question is a bit more on that kind of thing rather than a "how do I code X" kind of question.
I have lots of data storage needs on my current project.
- larger blobs of data that need to be stored less often
- smaller blobs of data that need to be updated more often
- factory settings (like serial number, board revision, etc) that are particular to a given device, but aren't going to be encoded in C.
- etc
I'm familiar with storing data in "blobs", and I'm familiar with encoding / decoding data with protocol buffers.
So given all that, I'm trying to gain context on the differences between my various storage options on the ESP32, and when to use each.
- EEprom
- NVS
- SPIFFS / LittleFS
- other options...
What use cases make you pick one of these options over another?