Electronic – EEPROM or SD card storage for a general logger application

eeprommicrocontrollersdstorage

If you need to store data, let's say numbers (one byte each), and you need a capacity for at least 100,000 readings in a low power sensor (3.3 V and less than 20 mA in stand-by operation), will you go using an SD card storage type or a simple EEPROM chip and why?

Best Answer

I don't know exactly what you mean by "stand by operation". You mean sleep? 20 mA is pretty high for sleep. I'd expect less than 100 uA in general.

I'd go with SD card storage. I've designed plenty of "low power systems" and the reality is that most people go to the trouble of going all the way to optimize for low power when in fact it doesn't make that big of an impact (it makes for nice marketing, but marketing doesn't always makes real-world sense). There are many other factors that are more important to logging:

  1. Accessibility - An SD card is much easier and faster to read from and access (just take it out, pop in an SD card reader and it's done), and it's faster to do. EEPROM reading requires more equipment. An SD card can be accessed using a file system so it's intuitive

  2. Capacity - You won't find anything better than a couple of gigabytes of storage. It's amazing how fast this goes once you start logging.

  3. Ease of Implementation - Many commercial and open source applications have used FatFs which you can get for many microcontrollers. It will work nicely. Just open a txt file and save the numbers, one after the other.

An SD card isn't that power hungry. Some have power-down modes after 5 ms that will help.

I can't find a reason not to use an SD card.