I have just started to try using the Nokia 5110 LCD. The version I have is the red pCB which came from here: http://www.ebay.com.au/itm/170817974147?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
The pin arrangement is slightly different from most but I don’t think the problems lie there.
The code comes from a blog
and can be downloaded from
I don’t think the code is really the problem. The sketch does work. It is an hours/minutes elapsed timer display with a neat little bar graph below, to show seconds. The essential start is
// Pawel
// This works with UNO but streaks
#define PIN_SCE 7
#define PIN_RESET 6
#define PIN_DC 5
#define PIN_SDIN 4
#define PIN_SCLK 3
#define LCD_CMD 0
#define LCD_C LOW
#define LCD_D HIGH
#define LCD_X 84
#define LCD_Y 48
static const byte Digits[][4][18] =
The pin arrangement is.
Nokia 5110 Uno pins
- RST 6
- CE 7
- DC 5
- DIN 4
- CLK 3
- VCC 3V3
- LIGHT 5V
- GND GND
The first problem was probably a clash of pins, as it would not work on my proto shield. Pin 3 is already in use for the thermometers and is pulled high by a 4k7. I guess I can relocate that to the vacant pin 8. In the meantime I am running the 5110 with the bare EtherTen.
Now that I have the display actually displaying something, I cannot get the backlight to work. I did have it work momentarily, which was a real surprise. At the time, I had the wires that I thought should work it in my hands, not actually connected to anything. I have not been able to duplicate this trick. Nothing happens if the 5v line is disconnected.
The screen has vertical streaks and a cascading vertical shadow, like seeing a TV on the movies. The density of those streaks is determined by the number of active pixels in a vertical line. The bar graph dopes not contribute to the streaking - not enough pixels, I guess. While I have been writing this, the streaking first became less dense, even below a “1”, and the cascade much less apparent, then it became more dense.
The reset appears to work the same if I put it in RST rather than pin 6. Theree is nothing fancy about the circuit. The LCD is on a breadboard and eight jumpers therefrom to the Arduino.
I would be glad if those with more experience could comment.