[SOLVED]LCD 16x2 showing garbage

OK, just avoid pin 4 too:

const int chipSelect = 4;

I guess if you use the Ethernet, avoid pin 10 and 4. Since you have RTC on I2C bus, also avoid analog pins 4 and 5 :slight_smile: You don't have many pins left, do you?

Program upload uses 0,1
Ethershield with SD card uses 4,10,11,12,13
RTC uses 18,19 (aka analog 4,5)

So you have left 2,3,5,6,7,8,9,14,15,16,17
You will use 6 of them and have 5 left for the rest of your project, which is what?