Skip to main content
3 of 3
added 674 characters in body
Anonymous Penguin
  • 6.4k
  • 10
  • 34
  • 62

So here are your needs:

  • WiFi, which uses pins 4, 10, 11, 12, 13. I know you said that you don't need pin 4 since no SD, but because that pin switches on/off the SD card, if you use it at all. Note: As Connor Wolf points out, it's not really relevant when there's no SD card. If you're facing problems with the Ethernet shield using the LCD additionally, you might have to reroute pin 4.
  • LCD, which uses pins 4, 5, 6, 7, 8, 9. The standard Arduino LCD library can use any pins, but your shield is hard wired to use those. As mentioned before, you can reroute them if you want to. Below is the method for rerouting pins.

Rerouting pin 7 (you need to do this!):

  • Bend pin 7 on the LCD shield and the WiFi shield outward so it doesn't make contact with the header
  • Use LiquidCrystal lcd(8,9,3,5,6,2); if you're rerouting pin 4, or LiquidCrystal lcd (8,9,4,5,6,2); in your code if you're not rerouting
  • Attach a jumper between the pin 7 on the header of the WiFi shield and the pin 7 on the Arduino Uno
  • Attach a jumper between the pin 2 of the WiFi shield (or the Uno, if that's easier) and the pin 7 of the LCD using the free space of the pin bent above it.

This will isolate pin 7 on the LCD, still send the pin 4 signal to the WiFi shield, and reroute the signal from pin 2 on your Arduino to pin 7 on the LCD shield.


Rerouting pin 4 (optional):

  • Bend pin 4 on the LCD shield and the WiFi shield outward so it doesn't make contact with the header
  • Use LiquidCrystal lcd(8,9,3,5,6,2); in your code
  • Attach a jumper between the pin 4 on the header of the WiFi shield and the pin 4 on the Arduino Uno
  • Attach a jumper between the pin 3 of the WiFi shield (or the Uno, if that's easier) and the pin 4 of the LCD using the free space of the pin bent above it.

This will isolate pin 4 on the LCD, still send the pin 4 signal to the WiFi shield, and reroute the signal from pin 3 on your Arduino to pin 4 on the LCD shield.


For number of pins, you should be fine. You can use pins 0 and 1 (TX/RX) as long as you aren't connecting to the computer or any other UART device (i.e. using the Serial() library). Don't forget you can use the analog pins as digital pins by referencing them as A0 to A5.

Anonymous Penguin
  • 6.4k
  • 10
  • 34
  • 62