Nokia 5110 DIsplay (Graphic LCD 84x48 from Nokia 3310) [SOLVED]

oops! ok! thank you!!

how can I help??

@DanielCuartas, the port is done and the IDE library updated. Let me know how it works! :smiley:

Couldn’t get it to work,

Exact same error as before :cry:

Maybe is not updated in the build platform yet…

@DanielCuartas, you may need to ā€œdetachā€ the existing library and re-attach the new one which is version 1.1.0. Are you using the GFX or mfGFX version of the library? I haven’t yet updated the mfGFX version.

@peekay123 I just used Particle Dev and everything went smooth!!! Perfect!!! Awesome!!! You’re the best!! Thank you for the fast response!!

1 Like

Hello,
I’ve the exact same LCD as @rlacerda83 and I can’t get it to work. I tried several libraries : Nokia5110 and Adafruit_PCD8544. The screen doesn’t display anything.
I first suspected a faulty screen but when I tried it with my Arduino Nano, it worked like a charm, on first try.

I tried several pins configuration (hw and sw SPI), but stil nothing.

I have the latest v0.7 firmware, and I’m using the 3.3V from the photon to power the screen. I checked the voltage and it’s at 3,3V.

I configured it with the same setup as @DanielCuartas, but still no luck :unamused:

So if anyone manage to get it work, or is willing to help me, please let me know.

@YbuQc can you list your wiring or post a good picture of your setup? I believe @DanielCuartas was powering the display from Vin, not 3V3.

So here is my setup

LCD    Photon
VCC     +3.3V
GND     GND
SCE     A4
RST     D3
D/C     D2
DIN_MOS A5
SCLK    A3
LED : NC or +3.3V

And in the code, I declared the following:

Adafruit_PCD8544 g_Display = Adafruit_PCD8544(A3, A5, A4, D3, D2);

Then I try a simple:

g_Display.begin(); // This will setup our pins, and initialize the LCD
g_Display.display(); // with displayMap untouched, SFE logo

I don’t have any compilation error and the firmware upload works fine.

I also checked the LCD power voltage. Without LED connected I have +3.3V, with LED connected I have +2.9V. This LCD is supposed to work within the range +2.7;+3.3.

But you are right @peekay123, on the picture, the LCD is powered through Vin. I just checked and Vin on my Photon is +4.7, which is too much for my LCD.

@YbuQc, which library are you using?

I tried with the following libs:

  • Adafruit_PCD854 with Adafruit_GFX
  • Nokia-5110-LCD

Not at the same time of course :wink:

And also, I’m using th WEB IDE.

In my loop() function, I add the following lines, which is from the demo code:

g_Display.clearDisplay();
delay(1000);
g_Display.setTextSize(1);
g_Display.setTextColor(BLACK);
g_Display.setCursor(0,0);
g_Display.println("Hello, world!");
g_Display.setTextColor(WHITE, BLACK); // 'inverted' text
g_Display.println(3.141592);
g_Display.setTextSize(2);
g_Display.setTextColor(BLACK);
g_Display.print("0x"); g_Display.println(0xDEADBEEF, HEX);
g_Display.display();
delay(2000);

@YbuQc, I noticed that the D7 LED is on in your picture. Is this expected? Also, are you certain your system firmware and your app are at the same version?

@peekay123, yes the D7 LED is on, and it’s done on purpose. I’m building with IDE set to use firmware is 0.4.7. Just checked with the

Serial.printlnf("System version: %s", System.version().c_str());

And the answer is

System version: 0.4.7

I tried with the example from the Adafruit_PCD854, just changed the pin for the init with my setup:

Adafruit_PCD8544 display = Adafruit_PCD8544(A4, D2, D3);

Still no luck. The serial terminal displays the value from the function testdrawbitmap() but nothing happens on the LCD.

Also re-tried the Nokia-5110-LCD lib, same result.
I switched bread-board (opposite side) just in case, but no luck.
Well, I must admit I’m quite confused :confused:

Edit: I noticed that the setContrast method didn’t do anything when I connect A0 to LED LCD pin, even if I set the contrast value to 200.

Edit 2: With th Nokia-5110-LCD and the following setting :

Nokia5110LCD::Display nokiaLCD(D2, D3, D4, blPin, A5, A3);

I can see a very quick and brief display update once. Seems to be a partial logo… … even more confused! :confused:

@YbuQc, you can’t drive the LED directly from a Photon pin as it draw too much current. You should drive the LED through a resistor to limit current or don’t connect it at all. You need to use a single library so we can go from there. I suggest the web IDE ADAFRUIT_PCD8544 library along with the ADAFRUIT_GFX library (making sure to add it to the demo app NOKIA5110.INO).

I suggest you use software SPI to begin so un-comment line 34:
Adafruit_PCD8544 display = Adafruit_PCD8544(A3, A5, D2, A2, D3);

and comment out line 43:
//Adafruit_PCD8544 display = Adafruit_PCD8544(SS, D2, D3);

The wiring should be (best guess since your picture has no pin names):

NOKIA      PHOTON
Vcc         3V3
GND         GND
A2 (SS)     CE/CS
A3 (SCK)    CLK
A5 (MOSI)   Din
D2          DC
D3          RST

The wiring is key so check your connections well. Can you provide a link to where you purchased the display? :smile:

@peekay123, I bought my LCD here. As it’s using the PCD8544 I assumed it was ok :wink:

I will try this evening the software SPI with the exact same wiring as you suggested, using the Adafruit librairies.

Oups, I forgot indeed to specify the LCD wiring. Here we go, from left to right (on the previous picture)

Row    LCD
20     VCC
21     GND
22     SCE
23     RST
24     D/C
25     DIN_MOS
26     SCLK
27     LED 

@YbuQc, the display is a Nokia5110 and should work. Looking at your wiring, I am confused with ā€œRowā€ numbers. What do these represent? Your wiring should be:

PHOTON     NOKIA
VCC         3V3
GND         GND
A2 (SS)     SCE
A3 (SCK)    CLK
A5 (MOSI)   DIN/MOSI
D2          D/C
D3          RST
LED         NO connection!!

My previous wiring list was a backwards! For now, don’t connect anything to the LED pin of the display. Give this a shot :wink:

@peekay123, the ā€œrowā€ was the row on the breadboard :wink:

So, just compiled the example with Adafruit_PCD8544 (and the GFX). Wiring setup as required.

I can see a quick ā€œglitchā€ during the logo display, but after that nothing :’(

I checked all the connections (continuity with the multimeter), between the pins on the Photon and the pins on the LCD.
The voltage VCC/GND is at +3.3V

@YbuQc, are you running the demo app that comes with the library?

@peekay123, yes I’m running the demo app. Nothing changed, only add a

    while(!Serial.available()) Particle.process();

to wait for the ā€˜enter’ on the keyboard to continue the program. But I tried first without and doesn’t make any difference.

@YbuQc, I would say that you either have a wiring, power supply or defective display issue. Are you powering the LED input of the display and if so, how?