We are building a low-power data logger based upon the ATmega328P, in order to make use of the Arduino boot loader and IDE, etc. Ideally power consumption should be less than 0.3mA @ 3.3V to get around 4 months life on a single AA battery. Sensor data will stored at a maximum of 76 bytes/sec for the 4 months, giving around 750 MiB of data. Therefore we have the need for a large memory device, that is still low-power.
From what I can tell, the only practical solution to store this much data is to use an SD card. However SD cards seem to use a little more power than we can afford, 0.2mA idle current for the cards we have now, and more when they are writing.
So some questions:
- Is a high-side switch the only practical way of controlling power consumption of the SD card?
- Are the any caveats we should be aware of when switching power to the card? For example, is wear-levelling a process that will be performed after a block write, or can it happen at any time.
- Are there any other alternatives we should consider?