Go Down

Topic: Nokia 6100 Color LCD library (Read 4 times) previous topic - next topic


Jan 10, 2010, 11:03 pm Last Edit: Jan 10, 2010, 11:09 pm by lgeek Reason: 1
Hi! I've been fooling around with my Arduino in the last months (and with ATmega MCUs in the last 3 years or so), but this is the first time I'm posting on the forum. Anyway, my name is Cosmin and I'm an undergratuate at the University of Manchester. Now that we got that out of the way:

I wrote a library for interfacing with the Nokia 6100/6610/etc color displays. The source code is on github: http://github.com/lgeek/Arduino-Color-LCD

What I'm planning to do next?

  • some code refactoring
  • adding support for 12 bit colors
  • checking the compatibility with different display controllers (maybe someone could lend me displays with known controllers?)

If you have any feedback or questions, I'm glad to hear them.


[font=Times New Roman]
I have found your excellent description at:
http://www.arduino.cc/playground/Code/LCDPCF8833 The device described there looks rather close to the one I bought from Sparkfun. Please note that I am describing both the display and the break-out-board.

Your instructions are excellent, except for one problem. The IDE can't find the header file despite being placed exactly where your code page wants them placed. This is being tested under Version 18, which was obtained from the Google Code place, and under Cygwin. Do you have any suggestions for fixing the obvious error messages that surface upon clicking the verify button.
Time has a reason for moving. Do we?


Sorry, I didn't write that page. Actually I had no idea that library existed. So which one have you used?


[font=Times New Roman]
Actually yours. From your Github storage location as described on the Sparkfun pages for the LCD screen:
http://www.sparkfun.com/commerce/product_info.php?products_id=569 And the break-out-board is this one:

Your description comes up on the 27th entry of the 28 there.
Time does not believe in deadlines. Only in itself.


Jan 15, 2010, 12:17 am Last Edit: Jan 15, 2010, 12:18 am by lgeek Reason: 1
OK then. I'll be able to test my library tomorrow on a Windows installation and see what goes wrong. Linux user here, so I have to get to another computer. :)

LE: In the meantime, make sure you restart the IDE after copying the library files.


[font=Times New Roman]
I just tried the whole business exactly as before on this Windows Seven system running with Cygwin, but on one running Slackware Linux.

But he does have pre-built AVR support installed. I chose to transform Debian ones to what Slackware uses for packaging.

The problem get stranger when I copy the include file from its place as described on storage place to where the AVR tool chain put its. There's a claim of a missing directive.

Whose toolchain are you using there for the Arduino? Prebuilt, did you make it yourself, what? Also which distribution?
Time and operas do not collide, they move in parallel lines.


I tried it on Win Vista with Arduino 17 and it worked. The file tree should look like this:
Code: [Select]

The Linux distribution I'm using is Arch, with Arduino 17 + avr-libc and avr-gcc from the repository.


[font=Times New Roman]
I quite agree. I promptly unzipped a copy of 17 that I have stored with the original folder containing my Arduino work, and tried it, arranging it that way.

Of course it worked. (Building via the verify button.)

Since I also have a copy of what will be 18 from Google Code, and that's my primary place I decided to repeat it there. Of course the same problem happened. I need to confirm of course where the run.sh script is launching from either the dist directory or the build one but then I'll know more.
Time is something created by the Timelords to keep in a TARDIS.


[font=Times New Roman]
I've just examined the header pages for the library you wrote.

In it you created or even selected Port D for this. I've examined the description for the 328 part that's on my Arduino Duemilanove, see:
http://arduino.cc/en/Main/ArduinoBoardDuemilanove and while I have seen before people describe a "Port D" for their sketches, and port numbers. Pin mapping comes up here http://arduino.cc/en/Hacking/PinMapping168

And of course the question:
Are the pins numbered 2, 3, 4, 5 matching these, Digital 2, 3, 4, 5?

I imagine they are of course, and am planning on trying the first example tomorrow or Sunday.

Oh and what's the license on your code that's in the storage hub? Is it the same as that used on the regular Arduino places? Most of them are GPL as it happens.
Time has more issues then we do why else can it not be properly tracked.


I'm trying to use ColorLCD library for Nokia 6100 lcd using the following configuration:
PORD pins 2,3,4,5 are connected to lcd through  1,8k/3.3k voltage dividers
From a regulated 7V/500mA power supply i go in an lm7806(6V for backlight) and from the lm7806 in an lm1117 for 3.3V for logic and lcd Vcc.

When i try the SimpleDemo sketch from the library the result is shown here http://www.grozeaion.com/download/arduino
Any idea why this is happening?
One more thing
lcd.colorFill(0, 0, 132, 26, BLUE); shows the filled rectangle at the top of the screen (this is ok) bu if i change it to
lcd.colorFill(0, 50, 132, 26, BLUE); nothing is shown
if i change the 50 to 70 then the box is shown at the bottom
What do i have to do to display the box in the middle of the screen or even better to move it using an for statement?
Thank you!


Apr 26, 2010, 09:42 pm Last Edit: Apr 26, 2010, 09:43 pm by gvi70000 Reason: 1
Well..i got something out of it

#include <ColorLCD.h>

// Define some color codes
#define WHITE 0xFF
#define BLACK 0x00
#define RED     0b11100000
#define GREEN   0b00011100
#define BLUE    0b00000011
#define YELLOW      0xFC
#define MAGENTA      0xE3
#define CYAN      0x1F
#define GRAY    0b01101110

// Create a instance of the MyLCD class
ColorLCD lcd;

void setup()
 // Init serial comunication and the LCD display
 lcd.setBackground(GRAY);//works only with GRAY
void loop()
 lcd.moveCursor(3, 10);  //if x is 3 -white screen; if x is between 39 -41 i've got a black box in lower side and a white color with noise as background
 lcd.println("0000000000000000", WHITE);//less than 16 chars- screen becomes darker
 //if color is added then it works with WHITE,BLUE,MAGENTA,CYAN
 //while(1);//not working

Go Up