LCD Keypad Shield and the Wireless SD Shield


So I am trying to use both the LCD Keypad Shield and the Wireless SD Shield with an Arduino Mega. I am sending data with the XBees and I want it to display to the LCD and write it to the SD card. Unfortunately, it does not allow me to do both at the same time. The LCD will mess up the letters, replacing a ‘e’ with a ‘d’ of a ‘y’ with a ‘h’. I had to switch one of the digital pins from the LCD shield because it was used as the chipselct for the SD shield.


You should always consult the ShieldList ( first before you buy two shields that should be used together.

You can now "fix" your problems by cutting the connector of pin 4 of the Wireless SD shield and reconnect it by a jumper wire to another pin (d2 or d3 are viable candidates). Of course you have to change your software accordingly.

Sorry I should have been more specific. That was the digital pin (4) that I was already aware of and fixed. There is another problem.

Wireless SD shield

LCD Keypad Shield

Could it be the Xbee?
What happens if you leave out everything but “read/write to SD” and the LCD?

If all else fails - Adafruit’s RGB LCD keypad shield only uses the I2C pins A4/5 to interface with the LCD & keypad.

I don't think it is the XBee, I was able to receive data from the XBee and display it on the LCD at the same time. It seems to mess up with this:

if (!SD.begin(4)) { //initialization failed!" return; }

I moved the digital pin 4 from the LCD to another digital pin, and it works fine to display the information without the sd card.

Instead of hello it does hdlln so some of the letters work while others don't. A simple box,

byte block[8] = { B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111 };

only works some of the time. I really have no idea what is going on...