No contrast with 2 lcd 16,2 screens


I have a 16,2 LCD screen with the I2C backboard and the 16 pins clearly named as
VSS VDD VO RS RW E D0 D1 D2 D3 D4 D5 D6 D7 A K. A and K are the backlight.
The LCD screens I bought from Pimoroni don’t have any identfication on the pins, but there are 2 layout pictures?? on the back of the board. They start from Pin 1 at the left hand side to Pin 5, and on the right hand side it is numbered 6 7–14 15 16, but at least it is clearly marked for Pin 1 on the right and Pin 16 on the left.

I’ve tried 2 arduinos, both lcd screens, and then as a long shot changing the ATmega chip on each Arduino.
No matter what I try, it doesn’t make any difference. It lights up ok, but displays hardly anything. I uploaded the hello world sketch onto 1 arduino with the lcd attached, but you could hardly make anything out on the screen.


I’m thinking of buying the adapter board from Adafruit to convert mine to i2c.
The one I have was in this kit,

Which as far as I know is the same one in this kit

I hunted up the projects book for the second one as I also have an Arduino Uno. Thats what I used to sort out what pin was what and how to wire it up. I can’t find the link to where I downloaded the book from at the moment though. My display has no markings what so ever showing what pin is what?


Ops, not what I wanted to post sorry.


The I2C back board is handy as you only need half a dozen wires and suitable sketch to get it going. I bought 2 lcd screens from china which had the I2C back board, and they are both in use


Thats why I want it, easier wiring. Arduino is totally new to me, only just recently got my first one. And I’ve only done just a few things with it. still feeling it out etc.


Have you posted on the Adafruit forum? The tricky part with that is figuring out what section to post in?


No I haven’t posted the problem anywhere else.

The arduinos are quite easy to work with once you have uploaded a sketch, I prefer them over a pi3. Nanos are also good I think, as you just plug them straight into the breadboard.


I have 2 UNO’s and an MKR1000 WIFI. The MKR1000 will plug into a breadboard.
One UNO is dedicated to a ZUMO rover. I just got the line sensing edge detection add on for that.
Haven’t soldered that on yet.
I also have two BBC Micro-Bits so I’m not a total NOOB with Micro Controllers. I do a lot more with my Raspberry Pi’s though. So far anyway.


I’ve just tried another sketch with one of the lcd screens and although it lights up, it doesn’t display anything.


The i2c screen or the many colored wires screen?
I ask because I’ve seen several different ways to wire up the non i2c version.
Different outputs used on the Arduino etc.
I have a GPS module wired up that I can get the data from via the serial connection.
And the screen wired up that I get the basic hello world message.
Just haven’t got around to merging the two sketches into one so my GPS is displayed on the screen.


It’s the many (12) coloured wired screen that isn’t showing anything.
i thought I would have heard back from Pimoroni by now as I messaged them on Wednesday.


I’m no expert on this but its my understanding that your screen wiring has to match that of the person who made the sketch? For example in the Hello World Sketch I have it lists the following

The circuit:

  • LCD RS pin to digital pin 7
  • LCD Enable pin to digital pin 8
  • LCD D4 pin to digital pin 9
  • LCD D5 pin to digital pin 10
  • LCD D6 pin to digital pin 11
  • LCD D7 pin to digital pin 12
  • LCD R/W pin to ground
  • LCD VSS pin to ground
  • LCD VCC pin to 5V


Yes I get what you mean, but the thing is, supposing I wanted to use another sketch, which is completely different from the first etc.
Anyway, the contrast really has nothing to do with how the other wires go to on whatever pin number, as it is the VO pin which does that.

I have just sent a message to the support section and I await there reply.


Ok, I kind of figured I might be preaching to the quire.;)
I also have a resistor on the Vcc pin on mine. I believe thats the backlight?
Not 100% sure I need it but was safer to add it than to burn out my backlight.
220 ohm I think? This likely has no bearing on your issue just thought I should mention it anyway.


No, pins 15 and 16, or A and K are for the backlight, and I have pin 3 or VO to a 10k pot which controls the contrast.


Ops messed that up. My resistor is on pin 15 LED +. I was looking at my display upside down, doah.
And my pot is on Vo pin 3. Sorry about that. =(


You can still use a resistor for the contrast, start with a 1k, then a 2k if needed. I have a 1k resistor on that last project I did with an LCD screen mounted under the lid or top of the box


Yeah I know, my kit came with the pot so I used it. Tying that pin to +5V should give you full contrast.
I just noticed I “also” had a resistor wired up on my solderless breadboard. I was pretty sure it was for the LED backlight, just messed up what pin it was really hooked up too. Counted from the wrong end.


Getting back to the wiring having to match the sketch. The Hello World sketch in this folder.!AjOYwiwlwDtpgtw7P_-xXtZAu77nfw (my One Drive folder)
Tells you how to wire the display. Its listed once you load it into the Arduino IDE.
Its what I’m currently running on my display so I know it works when the display and Arduino are wired accordingly. i2c pretty well can only be wired the one way. But these diplays can be wired many different ways. It all depends on what outputs you use on the Arduino. I know I’ve had to rewire mine at least once when using a different sketch.

EDIT: I mention this as I’m wondering if you will even see anything on screen if you get it wrong?
If you don’t get any text, how do you know if the contrast is working or not?


Well, the lcd screen lit up briefly with some text or something on the screen, and went off almost immediately. So I have been poking around with the wires, like disconnecting / connecting and got the screenup again, but only for about a minute before it went off.

This what I used before:
Take no notice of the colours, that’s just for my benifit.

LCD VSS pin 1 to Arduino GND Black
LCD VDD pin 2 to Arduino 5V Red
LCD VO pin 3 to 10k Potentiometer center pin Blue
LCD RS pin 4 to digital pin 1 Yellow
LCD RW pin 5 to Arduino GND Black
LCD Enable pin 6 to digital pin 2 Green

LCD D4 pin to digital pin 4 Blue
LCD D5 pin to digital pin 5 Yellow
LCD D6 pin to digital pin 6 Orange
LCD D7 pin to digital pin 7 Brown
The 10k Potentiometer’s other legs connect to +5V and GND
For the backlight of the display, pin 15 (A+) and 16 (K-) of the LCD connect to +5V and GND
If you want, can be use a 220 ohm resistor to power the backlight of the display.