Hack Your 16×2 LCD

16x2 LCD 5V

Nowadays most popular microcontrollers are working on 3.3V but many liquid crystal displays (LCDs) for them are usually on 5V, because they are centered on Hitachi’s de facto standard LCD controller – the HD44780 chip. Presented here is a simple yet effective trick to convert the standard 5V type LCD to a 3.3V one!

As you can see in the following photo some LCD modules have unpopulated footprints on the back for mounting a switched-capacitor voltage converter like the L7660 or MAX660 IC. Incase you have the same LCD circuit board, just add one MAX660 chip (U3),and two 10uF capacitors (C1-C2) to complete the hack. However, don’t forget to open the jumper J1 and close J3. That’s all.

5V to 3V3 16x2 LCD

This little modification adds a negative charge pump converter to feed negative contrast voltage(V0) around 2.5V to the display electronics. This hack is necessary because the characters on the liquid crystal display type mentioned here becomes visible only when VDD-V0 ≥ 5V, where VDD is the operating voltage, and V0 is the contrast voltage of the LCD. Our simple maths gives an output value of V0 ≈ -2V, good for proper operation of the LCD at 3.3V. Take note, here the backlight lamp works as well on 3.3V, its brightness is slightly lower. This can be corrected by changing the value of its onboard current-limiter resistor (R8) if necessary.

Another issue for concern (often when interfacing with fast microcontrollers) is the oscillator frequency of the LCD electronics, ie. when the supply voltage is lowered (5V to 3.3V), frequency of the built-in clock oscillator also falls down. The Rosc should be changed to a suitable value (from the typical 91KΩ – see next figure) for 3.3V if the extension of command execution time cannot be accepted.

5V to 3V3 LCD-Rosc Pointer

Even if your LCD is a different type i.e. without the vacant solder pads, you can still convert it to a 3.3V type with the help of the L7660 chip. For this, just build the following circuit on a small veroboard (or a customized pcb), and carefully interface it to your 5V LCD. However, your 5V LCD should be a type with HD44780 (or compatible) controller at its heart. The potentiometer (P1) in the given circuit is for contrast level adjustment of the display.

5V to 3V3 16x2 LCD - Circuit


The pcb artwork of the adapter given here is for the quick reference of interested home pcb makers. Anyway, it’s not a scaled image; the actual pcb dimension is ~ 17.78 x 30.48mm!

5V to 3V3 16x2 LCD

PCB artwork

While I was in the middle of my experiments, I got another 16×2 (5V) LCD module from a friend abroad (see next photo). It has the provision to mount L7660 chip (suits our needs) but we need to populate some more resistors/jumpers in addition to the usual 10uFx2 capacitors (see the marked area). Now I’m surfing the internet to get it running on 3.3V – stay tuned for updates…

New 16x2 LCD Module

I hope that you leave learned something new and have fun with this information. If you have any improvements, corrections/additions, please let me hear about them as well!

Useful Resources

Leave a Comment


  • hello,
    please I buy 3,3V type LCD on ebay, but I cant make it works, it seems like your (with solder jumper etc)
    but I cant get any character, how you have connect contrast adjustmen plese?
    can you hare some schematic.

    thank you.

      • Hello, I was searching also a methode to convert the 5V LCD to 3.3V and found a website in my country that is selling the 3.3V model hand they have a picture with the LCD from the back. The resolution is not so good but they seem to use 20 ohm resistor for backlight (R8), and maybe a 473 (47k) (it’s not very clear from the picture) as R6.


  • Hello

    Thanks for the great project.

    A vending machine that I’m trying to repair used the same 1602 lcd, with constant backlight on, but only uses 14 pins, leaving 15 and 16 disconnected.
    How would I bridge the pads on the back to run +5v and ground straight to the backlight as opposed to my current solution which is a wire bridge between pin 1 and 16 and 3 and 15.

    Hope that makes sense.

  • Very interesting site. I have 40×04 LCD display and positions for the chip and two capacitors are easily identifiable, but I cannot identify jumpers. Could you better explain where should the output of MAX660 (pin 5) go to, what are jumpers connecting in case of 5V and in 3.3V? I cannot see that from your picture?

    Here is the picture of my device (but I could make better myself if it will be useful).


    The strange thing is that V0 goes to jumper J1 and since J1 is open, it goes nowhere! I cannot believe it, V0 must be connected somewhere to make some impact, is it?? On the other hand, the output of MAX660 goes to resistor position R9 (which is empty). Everything is very confusing. If I understand right V0 pin should be below 0V to work, but how is output of MAX660 helping to pull the voltage down?

    Best regards

      • Let me elaborate: I would like to know what is going on when you switch from 5V to 3.3V. My hypothesis is that something like this should happen:


        When you VDD=5V, V0=0.5, so you simply use outside voltage divider. However, when you use VDD=3.3V, V0=-1.2V. If you want to go below 0V, you need -3,3V from MAX660 pin 5, so part of voltage divider must be of the PCB.

        I need to know how this works on your PCB so I could find solutions for my PCB.

        • @Marko: Prime theme of this post is the build of a negative charge pump converter to feed negative contrast voltage (V0) around to the display electronics (as clearly described in the 3rd paragraph).

          Now I don’t have the parts used in this 2-years old post handy. Moreover, I’m looking for something different for a revision. So, I can’t provide more assistance right now. Sorry about that!