Uno R3 + 20x4 I2C LCD - screen freezes / garbage

Thanks for taking a look at this.

I had done a fair amount of the code before I got this LCD screen. I do have a 16x2 non-I2C screen lying around, so I could possible try that. What I will do is strip out a bunch of code and see if I still have the same problem with a smaller project.

I'm calling the freeRam() function at the entry to each function. It looks like this:-

int freeRam () {
  extern int __heap_start, *__brkval; 
  int v; 
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval); 
}

and comes from here: Arduino Playground - AvailableMemory.

I'll post again when I've had a chance to try this with a smaller project.

Cheers,

Jon