No contrast with 2 lcd 16,2 screens


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.


Mine is wired as follows:
16 LED- backlight > ground
15 LED+ backlight > 220 ohm > +5V
14 D7 > digital pin 12
13 D6 > digital pin 11
12 D5 > digital pin 10
11 D4 > digital pin 9
10 D3
09 D2
08 D1
07 D0
06 E > digital pin 8
05 R/W > ground
04 RS > digital pin 7
03 Vo > center pin 10K pot.
02 Vcc > +5V
01 Vss > ground

Mine says hello world! on one line and counts up from 0 on the other. Looks like seconds running.

EDIT: this is with an Arduino Uno which as far as I know uses 5V logic. Powered via the USB port from my desktop PC’s USB port.


Yep, Arduinos run on 5v logic, but as I mentioned earlier , you can use anything from 5v upto about 9v, and it won’t hurt the arduino. I must say tho’ I use, 9v for led light projects. On others’ just 5v tho’, depending on what the author of the code says.

After some faffing around with wires, connections and usb ports etc, 1 of the LCD screens does now finally show data. 5 days it has taken to get it going!
I can’t help wondering if it was part down to the actual code/stretch which was used.


“Some” Arduino’s use 5V logic like my UNO.
And “some” use 3 V logic like my MKR1000.
The only thing that is 9V safe is the barrel jack power jack. Thats regulated back down to 5V and 3V for the Arduino to use.
If you start feeding 9V into an I/O pin though your going to damage something.
I can damage my MKR1000 just by feeding 5V into an I/O pin.
I’m going to sound like I harping on this, but yes, your issue was likely due to the sketch you were using expecting the display to be wired up a certain way. And your display wasn’t wired correctly “for that sketch” Data was sent to a pin that wasn’t wired to the display.
Anyway, its good that you finally got them working. Now you know they work.


This is the warning message for my MKR1000
Warning: Unlike most Arduino & Genuino boards, the MKR1000 runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board. While output to 5V digital devices is possible, bidirectional communication with 5V devices needs proper level shifting.