Memory
EEPROM, FRAM, PSRAM and microSD differ by orders of magnitude in size, speed, endurance and filesystem support. The write pattern — rare config saves versus continuous logging — determines which one fits.
24LC32/25LC256 EEPROM, I2C FRAM, 64Mbit PSRAM, and microSD breakouts up to 64GB — matched to write frequency and data volume, not just interface.
- EEPROM is for settings, not logs: the 24LC32 STEMMA QT breakout gives 4KB over I2C and the 25LC256 gives 32KB over SPI, with finite write endurance per cell — fine for config, fatal for fast write loops.
- FRAM (Adafruit's 256Kbit I2C breakout, Waveshare's FM24CXX board) writes as fast as it reads with effectively unlimited endurance — the right swap when EEPROM wear is the bottleneck.
- Adafruit's Micro SD SPI-or-SDIO breakout is 3V only, so level shift before pairing it with a 5V Arduino; the classic microSD breakout and cards from 256MB to 64GB Class 10 handle filesystem-scale logging.
- If you want CSV without writing code, DFRobot's Fermion and Gravity Serial Data Logger V2.0 capture a UART stream straight to card.