I have seen similar issues posted here but none match my problem exactly.

I have a starter kit and a 16x2 LCD screen that only shows black boxes in the top row using the following code:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  lcd.print("hello, world!");

void loop() {


All tutorials use a potentiometer to change the contrast but I don't have one so I decided to use chain several resistors. When doing so, the contrast indeed changes, but it changes as a whole. The black boxes become less readable i.e. less in contrast (more vague) but stay completely black.

Just to make sure, I have a cable from the + tray (with 5v) to the VDD port and - tray (with GND) to the VSS port. The K port is on the - tray as well and the A is with a 220 ohm resistor on the + tray.

I have tried no, 3k, 4k, 3220, 10k and 100k ohm on the v0 port to change the contrast.

What could be wrong? Any help is appreciated.

Edit photo:

enter image description here

  • 1
    Black boxes mean the screen isn't being initialized. Check your wiring. – Majenko Mar 21 '16 at 21:22
  • @Majenko I checked it at least 2 times. Either a cable is faulty, I forgot code or my LCD is broken. Can't think of another reason at this point. – Gooey Mar 21 '16 at 21:32
  • Maybe you could show us your wiring and we can check it for you? – Majenko Mar 21 '16 at 21:33
  • @Majenko photo or provide an overview in my question? Following all cables might be a bit messy I fear. – Gooey Mar 21 '16 at 21:37
  • Photo. It's hard to see what you have done from test alone. – Majenko Mar 21 '16 at 21:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.