I completed a BoatDetect breadboard data logger prototype with all the major functional features. It includes a real-time clock module, SD card module, and an Arduino Nano.
At a high level, the system repeats this sequence of events during operation:
- the Nano enters sleep mode
- the real-time clock module wakes up the Nano after a configurable amount of time
- the Nano reads an analog input pin
- the Nano writes the timestamp and analog input value to a file on the SD card
- repeat steps 1 to 4
The sleep/wake up strategy reduces the power consumed by the Nano.
I plan to implement a few more power reduction strategies in the coming weeks:
- add a transistor on the SD card power, only power the SD card when needed
- accumulate logged timestamps and analog input data in SRAM, write this data to the SD card all at once (reduces the amount of time that the SD card is powered)
- remove the power LED from the Arduino
- remove the voltage regulator on the Arduino and replace it with a regulator that is more efficient at lower currents
- remove the power LED from the real-time clock module
Overall, I am very pleased with how this prototype operates and excited by it's simplicity. I was able to get everything wired and working in a little over three hours. I leaned heavily on the Arduino data logger designs that others have posted online.