Go Down

Topic: Nokia 3410 screen has problem with the 3310 library (Read 2089 times) 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy