Using 3v LCD with Arduino Uno

I have some 3v Newhaven LCDs on hand (NHD‐0208AZ‐RN‐YBW‐3V) and would like to use them with my Arduino Uno. If I use a voltage divider circuit to reduce my 5v supply to 2v, and use that as GND to the display, so that all the HIGHs and the Vcc from the Arduino are viewed as 3v by the LCD? The voltage divider circuit would share GND with the Arduino. Thanks.

Voltage dividers are fine for reducing 5V signals to 3V, but not for reducing 5V power supply to 3V.

Your Uno's 3V pin may be able to supply enough power to the LCD. Check the data sheet. If you don't understand the data sheet, post a link to it here.

PS. With most LCD displays, the backlight requires much more current than the LCD itself. I hope the data sheet you have states the required currents!

Thanks for the advice. Here's the LCD controller datasheet -- the sheet for the display doesn't have any current requirements listed. The controller apparently needs only 0.25mA, and has no backlight. Am I correct in understanding that current is divided in the same proportion as voltage, so that if I I reduce voltage from 5 to 2, the available current would be reduced by 40%? I am concerned that even if I supply the LCD's power from the Arduino's 3v pin, all the digital signals are still going to 5v when they are high. Is that correct? Would that be a problem?
ST7066U.pdf (604.4 KB)

Do you know Ohm's Law?
You can divide with resistors from 5V down to 3.3V - but just if the current is constant!
The more current you drain - the larger the voltage drop.
And imagine: the LCD might be "dynamic": draws a bit more current now, e.g. when something has to be done, a bit less when quiet:

Ohm's Law tells you: if the current changes - the voltage drop changes (on a resistor divider).
Worst case: no current = no voltage drop! - you get the full 5V on the 3V3 device (and you kill it).

You need an LDO - voltage regulator!

That is indeed the data sheet for the lcd's controller chip. It says that it can run at 2.7V to 5.5V, so you could give it 5V power and data signals no problem. But the whole LCD module could contain other components that would be damaged by 5V.

I guess we need to see the data sheet for the whole LCD module, to see if that specifies a different range of voltages.

No, we are dealing with semiconductor devices here, they don't follow such simple rules.

Correct, you would need to reduce the voltage of these signals so they match the voltage powering the LCD module. One way to do that is to use voltage dividers, e.g. 10K & 22K which would reduce 5V signals down to 3.4V, which should be close enough to the 3.3V power from the Uno's "3V" pin.

But you cannot use a voltage divider to create power for the module, you need a voltage regulator for that. Fortunately the Uno has a 3.3V regulator built in. Since your LCD module requires less than a milliamp and has no backlight, the Uno's built in regulator will supply this no problem.

You be able to drive the LCD from the 3.3V pin. Max 1,5mA isn't a problem.

The display hasn't a backlight.

For the data lines you need levelshifter.

Level shifters could be used but are not strictly needed. The signals are not bidirectional, so simple voltage dividers could be used instead.

What if you use R/W then the data lines are bidirectional.

True. But with LCD modules like these, there is normally no need to read data back from the module, only write to it. So the RW pin can be connected to ground and the signals are never bi-directional.

Connecting to a UNO or other 5V chip means you need a couple of dozen resistors.

You can use packs something like this

its all untidy.

If you try to wire all that on a breadboard you will have problems.

Maybe someone can suggest a low component count way to do the level shifting?

Otherwise wouldnt it be easier to connect it to a 3V arduino?

1 Like

Will say there is abnormally too.

TXS0108 costs 1.35€/piece without VAT and take with 25. That isn't the great cost.

I appreciate all this feedback. I was way off on my (mis)understanding about current flow through a voltage divider. At the risk of flogging a dead horse AND exposing my ignorance -- would using the Arduino's 5v to power the LCD and 1.5v from an external source such as a battery for the LCD ground work? The battery would have to share GND with the Arduino -- does this create a direct short somewhere? I would like to avoid soldering all those resistors; for me, buying a 5v version of the LCD would be less trouble.

That is a good choice, or use a 3.3V Arduino with the 3.3V LCD -- no interface problem!

No. The Arduino and LCD must have a common ground.

It's only 12.

Since the battery providing GND to the LCD via a 1.5v line is grounded to the Arduino, does that make the LCD and the Arduino have a common ground? Or is that just wishful thinking?

Two "grounds" with a voltage difference of 1.5V between them are not a common ground, by definition.

Thanks!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.