16x2 LCD on MCP

Discussion in 'The Projects Forum' started by Kyriacos, Jun 1, 2015.

  1. Kyriacos

    Thread Starter New Member

    Jun 1, 2015
    I dont know if this is the correct section to post this question. Im sorry if its not.

    I developed a project based on the Raspberry Pi on a breadboard. I would like to develop my knowledge even further and wire my project on a single prototype board. The images of the board you will see is my first board I ever designed, so get the facepalms ready :)

    Im using an MCP23017 to expand the RPi's I/O ports. With the current board wiring LED and buzzer work perfectly. I am able to turn them on and off using the code that runs on the RPi.

    Unfortunately, the LCD screen does not seems to work. I dont know whats wrong with it. I followed wiring diagrams that can be found on the internet, and still nothing. I followed the exact wiring procedure that is on my breadboard and works, but still nothing. Im posting my board here so you guys can take a look, and you might see something Im not able to see.

    Actually the odd in this issue is, if I connect the lcd screen on pins 1 & 2 which is the Ground and power the screens do not powers on. But if I connect to ground and power coming from the board to the LCD screens pins 15 and 16, the LCD powers on. But that is not right because if it stays on for a while the screen heats up and you cant even touch it. Both ways, the RPi cannot detect the display.

    I would be grateful if you could help me on that, cause it started to driving me crazy and I cant figure out where to look at.
    board_under.jpg LCD.jpg IMG_1461.jpg
  2. takao21203

    AAC Fanatic!

    Apr 28, 2012
    There is an array of standard procedures how to deal with issues like that:

    -check all connections with an Ohm meter for open circuit, test as close as possible, best directly on IC pins
    -Make sure the IO is setup correctly, attaching small LEDs with 4.7k or so or piezo buzzer.
    -Make sure the used parts are not defective
    -Check for corrosion and loose contacts
    -Reduce frequency, either by changing the clock or inserting delays
    -Double check specifications in the datasheets and draw a floorplan on paper with a pencil etc., just roughly.
    -Measure outgoing supply currents
    -check for shorts with a magnifying glass/Ohm meter

    Its not a guarantee but chances are you would catch the bug/bugs, or some of them.
  3. DickCappels


    Aug 21, 2008
    Can you post or point us to the schematic of the interface?

    These displays have a lot in common but there are many variations that can be show stoppers.
    Who manufactured it and what is the part number?

    A couple of things off the top of my head:

    The display has an LED backlight and it needs a resistor in series to limit the current.
    pin 15 is the anode of the LCD backlight
    pin 16 is the cathode of the LCD backling

    The LCD needs to be initialized by the controller before it displays characters. Do you have code running to do this?

    Have you connected the display to your controller correctly in a way that is compatible with the driver? (4 bit/8 bit/serial)

    Pin is the contrast control. Connect it to the wiper of a pot to it can be adjusted between ground and VDD. If you leave pin 3 floating it might be able to display something, and it might not.
  4. MaxHeadRoom


    Jul 18, 2013
    There is an excellent 2 part article by Julyan Ilett first published in a 1997 article on the common HD4470 based LCD.
    It even shows how to do a hard wired hook up and operation to get the hang of the sequence.
    BTW, do not connect power directly the AK backlight, it will need a ~22Ω resistor.
    Last edited: Jun 1, 2015