I am considering getting some Nokia 5110 displays for use with my Arduino Nano board but I am in a pickle because I can't tell the correct way to wire it.

Some people say to power it with 3.3V and only 3.3V and to use 3.3V logic or else. But other people claim running it on 5V just fine. The data sheet for the Philips IC that controls it says that it can have a maximum input voltage of 7V so it looks like I would be fine. However, some people report abnormal behavior and short life span of the screen. If I used the circuit below except with Vcc and LED going to 3.3V, would that be OK?

The nano runs on 5V logic so I would keep the 10k's. If that is correct, is it saying I need the equivelent of a 40k on the RST pin of the LCD? Why? Any ideas much appreciated! enter image description here


According to the datasheet for the LCD controller it should run happily from 5V supply. The controller accepts logic levels up to Vdd, so I see no problem with that either. I also never had any issues with a Nokia 3310 display, which uses the same controller, operating at 5V.

If you really want to run the LCD at 3.3V, then the proper way would be to use a level shifter (like 74HC4050) and external 3.3V voltage regulator.

I would be more concerned about the LCD driver implementation instead, here is a quote from the datasheet, page 15:

Immediately following power-on, the contents of all internal registers and of the RAM are undefined. A nRES pulse must be applied. Attention should be paid to the possibility that the device may be damaged if not properly reset.


The nRES input must be ≤0.3VDD when VDD reaches VDDmin (or higher) within a maximum time of 100 ms after VDD goes HIGH.

Therefore, be careful when implementing the driver and especially if you are planning on using someone else's implementation.

| improve this answer | |
  • \$\begingroup\$ Ok! Thanks for the info...but I am a little confused, what is driver implementation? I'm sorry, I'm not too good at low level problems. \$\endgroup\$ – NULL Aug 28 '15 at 21:02
  • \$\begingroup\$ In order to communicate with the LCD you need to write some interface (i.e. driver) that sends proper commands to the LCD controller via SPI. If you're going to use a library for arduino, make sure it conforms to the paragraph I quted. \$\endgroup\$ – v.m. Aug 28 '15 at 21:11

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.