Nokia LCD using Philips PCF8833

Recently obtained a Sparkfun carrier board complete with Nokia LCD from a UK distributor this has an "X3" marking on the LCD connector. Connected the display to the mbed and tried the Nokia library. The backlight on the display illuminated but nothing on the LCD. Tried the alternative library and got the same result. Having posted my dilemma on the forum, it was suggested that the controller on the LCD may be a Philips PCF8833. Modified the reset() function in the source code of the first library and the display initialised.

According to the PCF8833 datasheet the colour mode is 12bit by default. I modified the relevant commands in the library source for controlling the window and pixel write commands. I was able to get the fill() command to appear to work but was unable to get the character generation to function. After closer inspection I was finding that whenever I sent the data for one pixel, two were displayed on the display. I spent a lot of time investigating and was unable to get the 12bit mode to function correctly. I decided to change the display mode to 16bit colour RGB (5:6:5), having done this I found that I was now getting one pixel displayed for one pixel data (in fact two bytes of data to send the 16bit colour info). Having completed this change, I found that the display functions correctly.

I have published the new routines along with the standard main.cpp example.

In conclusion, the routines now access the display with an origin of 0,0 in the top left corner and 129,129 in the bottom right. Colours have been defined in the .h file as integers in the 5:6:5 format.

Please feel to leave any comments either for future code expansion or any errors in my published code.

Nokia_Philips_Controller


5 comments

24 May 2010

Hi Phil

I just got a Nokia screen from Sparkfun.  It is the "new" version LCD-08600 which is on a different interface board.  I think I have it wired properly but,......

The board has     I wired

S1
S2
CS       pin 8
SCK      pin 7
DIO      pin 5
RESET    pin 9
Stat2
Stat1
Stat0
GND
3.3V

The backlight works, but no data is displayed.

I suspect there are code changes required based on some comments I have seen indicating that this module is different from their previous version.

If you could suggest a "how" to proceed to check this out I would appreciate it.

Thanks

Tim

25 May 2010

Hi Tim,

The display boards from Sparkfun seem to come with different Nokia LCDs. When I first tried mine, neither of the two existing code examples would not control the display.

It was suggested that I try and implement the Philips PCF8833 controller. I soon sent the correct commands to turn on the display but spent quite a lot of time working out how to control the colours and pixel depth required. In your case perhaps it is worth trying the other two examples in the Cookbook. The only identifying mark on my LCD was an "X3" on the display flexible circuit connector. My interface board doesn't have the switches and extra connections S1..Stat0.. you only need 3v3, GND, CS, DIO,SCK. Ensure that DIO is connected to MOSI on the SCI port not MISO that would stop things working as you only use the Master Output to the display from the processor.

Let me know how you get on.

Regards

Phil.

25 May 2010

Hi Phil:

Thanks for confirming the pin out information.  It's a helpful start for me.

I will let you know how it works out.

regards,

Tim

25 May 2010

Hi Phil:

Hmm.  I have confirmed my wiring.  I guess mine is not a Philips.

I wonder if I could convert your code to the Epson command set?  Would that be a difficult task?

Thanks

Tim

25 May 2010

Hi Phil:

 I loaded up one of the other modules in the cookbook (referenced from inside "Graphics" in the Display section of the cookbook)  That one has a link for MobileLCD as published by Simon Ford. in November of 2009.

I had to do a little bit of playing, but nothing much and it worked right away.

I have some work to do now to add boxes and so forth like yours has, but I can say that the "Hello World" part of your example program displays perfectly.  Very crisp!!!

Thanks again,

Tim

You need to log in to post a comment