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

@peekay123
Possible issues:

  • wiring: continuity has been checked between Photon and LCD, and it ok for all 7 links
  • power suppply: input voltage for LCD has been measured and it’s +3.3V
  • display issue: LCD has been tested and seen fully functional with an Arduiono Nano

LED input of the display is not powered, I am not using the backlight on the display.

Another possible issue not mentioned is a defective Photon. How can I test that ? … no clue…

@YbuQc, did you try the software SPI as mentioned earlier?

@peekay123, indeed I tried with the software SPI and set up the LCD/Photon wiring as per the code’s example.

Edit: Forgot to mention that the Photon is powered through USB

@YbuQc, I don’t know what to say. Without one of these displays, I can’t really test it. The issue could be the timing in the library or the wiring. You could try to disconnect the RST line to see if that’s the problem as well.

@peekay123, if I disconnect the RST line, I don’t get the splashscreen “glitch”.

BTW, thanks a lot for trying to help me on that.

@YbuQc, I can’t really help you without having a display on hand. I’ll have to look for one to order.

@peekay123, let me know if there is anything I can do to help…

I’m back as I have almost completed my project. The only missing part now is the display. Do you have any tutorial/example I could use to debug the library ?
What I don’t understand is that the LCD is working fine with the Arduino Nano but not with the Photon, so I’m even not sure that buying another LCD will solve the problem :frowning:

So I have this 5110 Display that works fine on my Arduinos but I want to use it on my Photon. But unfortunately I can’t get any kind of image on it when connecting it to the Photon.

The “nokia-5110-lcd.h”-lib with the example compiles but nothing shows up
The “nokia-5110-lcd-spi1” gives me error messages

And both the “Adafruit_GFX/Adafruit_GFX.h” and the “Adafruit_mfGFX.h” fails with error:

Adafruit_PCD8544/Adafruit_PCD8544.h:51:46: error: expected class-name before ‘{’ token
class Adafruit_PCD8544 : public Adafruit_GFX {

Anyone with a simple guide for this? Connect as this… and us this library and this example…?

Give this a try; https://gist.github.com/kennethlimcp/6d810706873a46aa9753

Yeah. Now we are talking! Thank you.

Just need to find out why it stops at the err screen. But hey. The LCD works on my Photon.

That’s just a demo code to make sure things are wired correctly and the screen is displaying something…

you can see that there are other functions below to do things like writing a string to the screen etc. Would be nice to get the examples in the IDE working when i have time :slight_smile:

1 Like

Hi everyone!

Sorry for reviving such an old topic but it is…
Very new to me :smile:

I tried connecting my Nokia 5110 Lcd to the photon using the wiring examples in this thread and the example in the Nokia 5110 library: nothing.
What can I try to understand what is wrong?

Thanks for your time and patience.

Did you check that the wiring is correct?

Hi there!

I have found different suggestions on the forum, is there a good one that you suggest me to follow?

I also saw that if I load the example from the library after a bit the photon blinks green.

That is not happening is I use tinker.

I have this really old repo here with a .ino that shoud work: https://github.com/kennethlimcp/nokia-iot

I’ve tried running the cose and I also changed Spark. to Particle. in the whole file.

It still won’t compile:

nokia5110lcd.cpp:187:9: error: 'boolean led_update' redeclared as different kind of symbol
 0x0E, 0x01, 0xC0, 0x3F, 0xE0, 0x00, 0x00, 0x03, 0x0E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
         ^

In file included from ../system/inc/system_led_signal.h:21:0,
                 from ../wiring/inc/spark_wiring_led.h:21,
                 from ./inc/application.h:70,
                 from nokia5110lcd.cpp:25:
../services/inc/led_service.h:81:6: error: previous declaration of 'void led_update(system_tick_t, LEDStatusData*, void*)'
 void led_update(system_tick_t ticks, LEDStatusData* status, void* reserved);
      ^

In file included from ../wiring/inc/spark_wiring.h:37:0,
                 from ./inc/application.h:36,
                 from nokia5110lcd.cpp:25:
nokia5110lcd.cpp: In function 'void loop()':
../wiring/inc/spark_wiring_constants.h:63:25: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
 #define TRUE     (!FALSE)
                         ^

nokia5110lcd.cpp:240:22: note: in expansion of macro 'TRUE'
             WiFi.off();
                      ^
nokia5110lcd.cpp:243:20: error: assignment of function 'void led_update(system_tick_t, LEDStatusData*, void*)'
         }
                    ^

nokia5110lcd.cpp:243:20: error: cannot convert 'int' to 'void(system_tick_t, LEDStatusData*, void*) {aka void(long unsigned int, LEDStatusData*, void*)}' in assignment
nokia5110lcd.cpp: In function 'int ledBrightness(String)':
nokia5110lcd.cpp:289:16: error: assignment of function 'void led_update(system_tick_t, LEDStatusData*, void*)'
 //   else if (msg == "off")
                ^

nokia5110lcd.cpp:289:16: error: cannot convert 'bool' to 'void(system_tick_t, LEDStatusData*, void*) {aka void(long unsigned int, LEDStatusData*, void*)}' in assignment
make[1]: *** [../build/target/user/platform-6nokia5110lcd.o] Error 1
make: *** [user] Error 2

I’ve also read about wiring in the readme of the .ino file:

#define PIN_POWER A7 //Pin 1 on LCD
#define PIN_SCE   A2 //Pin 3 on LCD
#define PIN_RESET A0 //Pin 4 on LCD
#define PIN_DC    A1 //Pin 5 on LCD
#define PIN_SDIN  A5 //Pin 6 on LCD
#define PIN_SCLK  A3 //Pin 7 on LCD
#define PIN_LED   A6 //Pin 8 on LCD

but my Photon has just from A0 to A5.

Surely I am missing something…