Aug 8, 2012

Connecting Nokia 5110 LCD breakout to Arduino


As I said in my last post, I have been playing with some hardware parts for Arduino.

In the "still to go" list I had:

  • Ethernet breakout
  • External EEPROM
  • RTC (DS 1307)
  • Nokia 5110 LCD
My plan was to tackle at least 2 of them during last weekend but I had a problem: all of this parts requires external components that I didn't have at hand. So I went to a local component shop but unfortunately I could not find most of the parts. 

The only part I had the required "missing" components was the Nokia LCD so I googled for "Nokia 5110 LCD  on Arduino" and voilá! The third entry in the results links to one great source of information about Arduino (and electronics in general). Now I was ready to start; I pulled my Arduino board, breadboard, the LCD (and required components) and put myself to connect them together.

My first disappointment came when I uploaded the sample application and nothing happened :(
Oopss.. maybe I have messed up with the connections... , let's see, pin x goes to y, pin z goes to w... no, everything looks connected correctly. After some head scratching I finally decided to do what I should have done from the beginning: Make sure the pin on my LCD breakout board matched the one in the Laydada  guide and of course they didn't! Compare the two pictures below (the red one is  mine and the blue one is the one used by ladyada):
As you can see they have different pinouts! Next step was to carefully reconnect the LCD and power on my Arduino (crossing my fingers hoping nothing bad had happened to neither my Arduino nor the LCD); this time everything but the backlight worked as expected; for some reason I could not explain the backlight refused to light up.  I checked and re-checked the connections many times but could not spot the problem. 

But at some point, during my investigation I could swear having seen the  backlight turning on and off; after some more testing I found out: by mistake I connected the backlight pin to the Arduino ground and that did the trick. But wait, both the LCD breakout schematic (not shown here) and the board itself does states that I should connect 3.3v on that pin... I have no idea what's happening here, but it is working. 

Next stop: external EEPROM.

Happy programming.


Willy said...

Hello, I bought the same display with the same pinout, and I'm having some troubles.
The ic is a cmos 4050? I haven't one yet, so I've decided to only light up the display.

But the only ways I can light up the display are:
a) connect GND to pin 7 (LIGHT) and Vcc (3 or 5v) to pin 8 (GND)
b) connect GND to pin 7 (LIGHT) and Vcc (3 or 5v) to pin 6 (VCC)

I cannot figured out why this LCD is acting like that...
I was thinking the pinout was wrong, but in your case works.
Some ideas?

Adriano Verona said...


Yes, the IC is a 4050.

By "light up" you mean the backlight, right?

If I connect as you said I get:

a) It does light up, but very dim
b) Lights up as in my setup

Maybe your part i broken?

Sorry not being able to help more... I a really new to this stuff.

Anonymous said...

I have the same issue as Willy.
a) light is dim
b) light is full
...but light doesnt work when connected properly.
No pixels are displayed when all wires are connected and using sample program from Adafruit.
Anyone know of a solution

Márcio Dall'Igna said...

Hello, I had similar problems with this LCD, take a look at my blog, I think I can help you.

Anonymous said...

Thank you so much Marcio.
It's now working.
I needed to change some of the arduino pins to match the code though.

Willy said...

Thanks all, with some adjustment (I used a CD4050 and found out the right lcd pinout) finally works! When I will some time I'll write an article on my blog:

Alon Hillel-Tuch said...

Hi everyone,

I know this is an old thread. However, I wanted throw out an answer that may work for people. I have a suspicion some of you are using out of the box Arduino Uno's. Some of them (even v3's) have a 3.3v out that is not accepted by the 5110 LCD's on ebay. The ebay stuff isn't as tolerant as the adafruit or sparkfun lcd's - you get what you pay for!

Instead of using the 3.3v from your arduino, try using a positive voltage regulator such as the L78L33ACZ (around $0.18). Put 0.33uf as Cin and 0.1uf as Cout. Connect that to your 5v out on your Uno. It has worked for me like a charm, use Lady Ada's tutorial and library. I recommend you just buy adafruits hardware as well, to support the library, it would avoid most of these threads.