Go Down

Topic: Nokia 3410 screen has problem with the 3310 library (Read 1 time) previous topic - next topic

ttouch

Hello,

I have a Nokia 3410 display (resolution 96×64) and I really want to use it rather than buying a 3310 one from ebay.
I've tried the first example, I get the "hello world" message, but 1/3 of the screen is black (due to the resolution difference with 3310). I've changed LCD_X (96) and LCD_Y (64) but the bottom line (8 pixel height) is still black and the message appears on the right side of the screen.

The pinout is ok, I double-checked it (if it wasn't it wouldn't work at all)
Has anyone worked with the 3410 screen?
Any workaround?
I've searched on google & in the ardu forum, but I only get 3310 results.

arduinodlb

#1
Oct 23, 2013, 07:31 pm Last Edit: Oct 23, 2013, 09:08 pm by arduinodlb Reason: 1
Well, at least one of your problems is the 3410 is 96 x 65, not 64. This is the visible screen resolution.

http://www.gsmarena.com/nokia_3410-315.php

Apparently it's driven by a  Philips OM6206 chip, and the internal resolution is 102 x 72, so I'd try that.

http://dangerousprototypes.com/forum/viewtopic.php?t=3219&p=31582
http://www.module.ro/nokia_3510.html
Do not IM me. I will not respond. Ask questions in the forum.


Apparently None of all 3410 would be the Same ? My Old nokia 3410 display works with The same Driver and resolution than the second in my hand ...
With my little knowledge I can say that the 3310 , 5110 and 3410 I have tested , has all a PD8455 Driver embeded and some series where made with another Drivers I don't know ...

ttouch


Apparently None of all 3410 would be the Same ? My Old nokia 3410 display works with The same Driver and resolution than the second in my hand ...
With my little knowledge I can say that the 3310 , 5110 and 3410 I have tested , has all a PD8455 Driver embeded and some series where made with another Drivers I don't know ...

You use the same code?
I mean the same resolution?
They don't have the same chip as arduinodlb said.

Not the same Code , but I change the resolution setup at the start of the Sketch , but be carfull there is 8 lines Height : 8x8=64px , but I dont know why this LCD screen is given for 96x65 ... What does the last line do ? Duno :)
As I can know , the 3310 and 5110 work with 6 lines 8x6 = 48 px .
I experiences some display bug when I try to display Images in 96x65 pix and 96x64 too ... I've missed something I think :)
If you want Work with a little breackout I made , here is the PCB Layout , and for someone who wants , the pinout I use to produce text , scroll graphics .

The link for the scroling text ( that someone on this forum gave to us ) working with few modifications resolution and position related :
http://blog.stuartlewis.com/2011/02/12/scrolling-text-with-an-arduino-and-nokia-5110-screen/comment-page-1/

The PCB Layout ( made with DesignSpark : Free , just register on the web site and you'll recieve Serial Number , this is Free Software and it works very good )
http://pcb.designspark.info/DesignSparkPCB_v5_1.exe
( see 3410-LCD-Breackout-PCB-V2.2.pcb in attachement of this post )

Some Pics Of the "Breackout" DIY :
I don't throw away the Old PCB nokia , to pick the micro LED to try to make backlight but , My solution is not accurate because the Double Sided PCB I use is not thin at all and the LED is not close to the transparent ABS case , so the light is not well diffused into the Cage where my LCD take place ... ( see pics ), but plan to rebuilt the Breackout PCB , to make a better backlight system :).


#6
Dec 10, 2013, 02:56 am Last Edit: Dec 10, 2013, 02:59 am by Dj_Garfield Reason: 1
I use Transfert Method to produce the PCB :
1/ Print the PCB design on a very thin paper like add-paper you should recieve in your mail box ( supermarket , or another addvertisment paper , certain daily paper works but not all of them => printed Mirrored !!
2/ Set an Iron to the max temperature
3/ Fix the printed circuit firmly right to the copper side of the PCB , be sure that NO scotch tape are on the circuit face !! ( place the printed face , witch the tonner is fixed on )
4/ With the Iron , press on the assembly this will fuse the tonner on the paper and fix it on the copper face of the PCB. => 5 ot 15 minutes depending of the printer ( I use a Lexmark T614 , contrast at 10 , with no other feature , in 1200 DPI )
5/ prepare a middle cold water , and put the assembly in there
6/ Wait above 1 or 2 hours ... Try to peel the wet paper but with the two hands in the water ( the paper DOESN'T dry  so the tonner will go away with the paper :) )
7/ put the PCB in The Iron Perchlorate ( BE CAREFULL This is harmfull to work without glasses , and glove to manipulate perchlorate )
8/ You have a very nice Printed circuit where you can solder the 3410 LCD Display ...

Or You can Order one from Seeduino , just send the PCB design to us and they'll do for you :)

Other Pics ...


#7
Dec 10, 2013, 03:39 am Last Edit: Dec 10, 2013, 03:48 am by Dj_Garfield Reason: 1
Sorry For the poor quality of the pics ( no flash on the phone ~=) )
I made something wrong with the Led Resitor I use because this is not very "Lighty" even with the  5v connected instead of the 3.3v ... Perhaps a 100homs resistor should be better This is not my final product , and I will do better for the next one :) ( see pics , I shunt the 330homs R , to show you where are the Led I pick on the nokia PCB :) )

See tab below for the pinout of the 3410 , and connect it to the Arduino ( freeduino for me but it's the same as Arduino UNO ), dont forget to put a 1µf capa between the Vout an the Ground or you will see flickering display ( duno what the capa does at this time but it works better with it ).

Here Is my connection tab :

LCD         =>         Component         =>     Arduino
Vcc          =>               NONE              =>          3.3v
Sck          =>          10K Resistor        =>          D3
SDin        =>          10K Resistor        =>          D4
D/C         =>          10K Resistor        =>          D5
SCE         =>             1K Resistor        =>          D7
GND        =>               NONE              =>         GND
Vout        =>         1µf Capacitor       =>     Ground
Res          =>          10K Resistor        =>          D6
LED         =>        To be Defined       =>          3.3v Or 5v Depending on the Resistor Or you can connect to any PWM output of the Arduino to be able to DIM the light.


Now I can learn how to do some good code to display images , and try to built a fuel gauge for my van :)



ttouch

Very good job! :)
Thank you for sharing.

BTW: You need 3v3 on the pins of the display (for long term use, I use 5v while prototyping).

Thank you ttouch :)

I prefere to work in a "secure" voltage for the component , I don't need power for motor or something else who need it , This little breackout is made to learn about programing and using this kind of component , My goal is a car Dashboard building for my old van , I Recieve yesterday the Touch Shield Color LCD display for the project .
1 week ago , I dind'nt know how to wire , program or something else about LCD display , It's not easy but very intresting !
And I would like to make my little contribution to this great forum , 'cause I found here ALL what we need to learn around arduino , and DIY project :)

#10
Dec 15, 2013, 02:11 pm Last Edit: Dec 15, 2013, 02:23 pm by Dj_Garfield Reason: 1
Back on this post to give you some helpfull informations :

- I think we use the wrong library ( AMO ), I found the U8G library on the net , and I try It : It Works ...
BUT : there is allways a "but" lol , The display is foot on instead of head on so I have to turn my LCD 180° to read it

- Aparently the 3410 is PCF8812 embed so the library for the PCD8544 Works but with a 96x65 resolution and the PCF8812 works with a 102x72 Resolution . Because both driver are pretty similar ( as read in the datasheets ).

If you want you can try this library and examples given with , and if you don't want to make some wire error keep in mind to read the comment in the sketch to adapt the correct pin connection :

The Original definition in the library :
U8GLIB_PCF8812 u8g( 13, 11, 10, 9, 8 );    // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
( A0 = DCin )
My definition , to avoid confusion with all configuration found around and to be able to swap bitween one library to another :
U8GLIB_PCF8812 u8g( 13, 11, 7, 5, 6 );       // SPI Com: SCK = 13, MOSI = 11, CS = 7, A0 = 5, Reset = 6

This Library works in SPI mode , If I understand SPI mode , all what we do ( bmp , drawing etc etc ), is send to the MOSI pin of the ATM328 , and is very fast :)

Edit :
The link to the library : https://github.com/fornellas/sketchbook/tree/master/libraries/U8glib

Edit 2 ( after 5 minutes reading the sketch entirely ) :
I know why the display is 180° rotated =>

 // flip screen, if required
 u8g.setRot180();
So I commented the line , and The display is head on now :)

Go Up