Arduino Geocache, Digital logbook

Hi! Besides Arduino programming, I'm also an active geocacher (, so I was thinking I could use my arduino experience to make a digital logbook.

I'm thinking about using a PS2 keyboard (i'ts big, but I'll handle that problem), an LCD and maybe an SD card for storage.

Is it possible to turn on the arduino, write some sentences, and it will be stored on and SD card or similar, and next time it's tuned on, you can add a new sentence (a .txt file or simular). I have no experience with SD cards and arduinos so I need your help. :P


That is a very doable project. Indeed you don't really need an SD card, you could use a serial eeprom, which would have the advantage of reducing the temptation of your visitors from taking it.

For the keyboard, consider something like,

I have some old SD cards lying around (32MB, 64MB 128MB), and and it will be hidden safely, so nobody will find it. I thought about using an SD card because I don't need to buy external EEPROM, and I can't use these old SD card for pictures and music.

I have some experience with the PS2Keyboard.h library, but I need some help with the SD card part.

Have you looked at the SD library? Creating a text file and writing a string to it is pretty straight forward

#include <SD.h>

const int chipSelect = 4;

void setup()
  // make sure that the default chip select pin is set to
  // output, even if you don't use it:
  pinMode(10, OUTPUT);
  // see if the card is present and can be initialized:
  if (!SD.begin(chipSelect)) {

void loop()
  char dataString[];  

  File dataFile ="datalog.txt", FILE_WRITE);

  if (dataFile) {
    dataFile.println(dataString); // Just make sure dataString is large enough to contain the needed text

SD cards are 3.3v devices, so your best bet is to use a 3.3v arduino, or you will need to provide a voltage converter.