I know there are a couple of these out there, but I made my own for a university project. I have since been improving the library and keeping it running with the latest versions of the Arduino IDE.
It supports all of the different versions of the screen that I have come across - so far there are >10 known working types.
That is one of the major issues with a couple of the libraries I have seen for this screen as there is such a variation in the controllers used, with no way to really tell short of guessing. But I have written a much more comprehensive initialise call to allow the user to tune to the correct screen.
It also has a user settable origin which means that the displayed image can be centred on the screen - in some cases with the other libraries, there would be missing lines on one side, and a blank section on the other as the screens are aligned in the frame differently.
There is also an high speed mode which tries to get as much out of the screen in terms of frame rate as possible - granted as it is a serial display, this isn't very high, but it does allow an increase of ~5x the speed over the non high speed mode.
Included are two examples which explain in detail how each function works.
The library has a github page here (with each version available as a download):
As so far it has had over a hundred downloads and I have been getting good feedback from it when I have suggested the library to people, I figured it would be good to post it here (perhaps even on the playground, though someone would have to tell me how to do that).
I understand there is currently a library called gLCD for a differents type of screen which could get confusing. If that is the case, then it would be possible to rename my library to something like 'NokiaLCD' or some such variation.
Good library with good documentation. Of course you should add this to the Playground: Graphics LCD section of this page: http://arduino.cc/playground/Code/LCD (http://arduino.cc/playground/Code/LCD). While logged into arduino.cc you should see the small "edit" link on the upper left part of the LCD wiki page.
Thanks :D. I've added it to that playground page.
There is now a new version of the library which better fits in with the Arduino environment. It uses the arduino Print class as a base, and there are several other improvements for usability, size and speed.
For full details see the github page for the library:
The latest version, V3.3 adds support for rotating the screen 90,180, and 270 degrees (anticlockwise) to allow your nokia display to be mounted in any direction and have the screen the correct way up.
There is also now support for character wrapping, whereby if a string is too long for the screen, it is automatically wrapped onto a new line.
this looking sweet.
OpenLCB Dev Team
That is the only library (checked a lot of them), with my Nokia 6800 Epson LCD was somehow working, however strings are mirrored, but screen generally is showing sign of live.