Problem with 3310 LCD Display

Hi some days ago I salvaged a Nokia 3310 Display and now I’m trying to connect it to my Arduino UNO but I’m having problems with it.

First of all I noticed that my display has a different pinout than the sparkfun version (I am following this one):

http://www.myplace.nu/mp3/images/nokia_lcd_large.jpg

Instead of this:

I validated the wiring multiple times and seems to be fine. Also I wrote a clear screen code with a led in each pin so I can see the instructions sent to the screen but it’s not working here is a sample:

#define SCLK 3
#define SDIN 4
#define DC 5
#define RST 6
#define SCE 7

void setup()
{
  pinMode(SCLK, OUTPUT);
  digitalWrite(SCLK, 0);
  pinMode(SDIN, OUTPUT);
  digitalWrite(SDIN, 0);
  pinMode(DC, OUTPUT);
  digitalWrite(DC, 0);
  pinMode(RST, OUTPUT);
  digitalWrite(RST, 1);
  pinMode(SCE, OUTPUT);
  digitalWrite(SCE, 1);
  
  delay(1000);
  //Reset
  digitalWrite(RST, LOW);
  delay(10);
  digitalWrite(RST, HIGH);
  
  delay(1000);
  //Tell LCD that extended commands follow
  digitalWrite(DC, LOW);
  digitalWrite(SCE, LOW);
  shiftOut(SDIN, SCLK, MSBFIRST, 0x21);
  digitalWrite(SCE, HIGH);
  
  delay(1000);
  //Set LCD Vop (Contrast)
  digitalWrite(DC, LOW);
  digitalWrite(SCE, LOW);
  shiftOut(SDIN, SCLK, MSBFIRST, 0xA0);
  digitalWrite(SCE, HIGH);
  
  delay(1000);
  //Set Temp coefficent
  digitalWrite(DC, LOW);
  digitalWrite(SCE, LOW);
  shiftOut(SDIN, SCLK, MSBFIRST, 0x04);
  digitalWrite(SCE, HIGH);
  
  delay(1000);
  //LCD bias mode 1:48
  digitalWrite(DC, LOW);
  digitalWrite(SCE, LOW);
  shiftOut(SDIN, SCLK, MSBFIRST, 0x14);
  digitalWrite(SCE, HIGH);
  
  delay(1000);
  //We must send 0x20 before modifying the display control mode
  digitalWrite(DC, LOW);
  digitalWrite(SCE, LOW);
  shiftOut(SDIN, SCLK, MSBFIRST, 0x20);
  digitalWrite(SCE, HIGH);
  
  delay(1000);
  //Set display control
  digitalWrite(DC, LOW);
  digitalWrite(SCE, LOW);
  shiftOut(SDIN, SCLK, MSBFIRST, 0x0C); //0D = Inverted mode
  digitalWrite(SCE, HIGH);
  
  
  for (int index = 0 ; index < (84 * 48 / 8) ; index++){
    digitalWrite(DC, HIGH); 
    digitalWrite(SCE, LOW);
    delay(50);
    shiftOut(SDIN, SCLK, MSBFIRST, 0x55);
    digitalWrite(SCE, HIGH);
  }
}

void loop(){
}

My problem is that every time I turn on the arduino the LCD display shows a bunch of random pixels and do nothing (You can see this in the image below):

I’m not able to understand why the screen is not doing anything. Any idea why is this happening?
Regards.

EDIT: Updated the code I’m using and revalidated everything again. Display is getting commands because I can edit the contrast and invert the screen. Any idea why is it failing?

Hi.

I’m using same salvaged 3310 lcd from a nokia device.
For pin-out I got info here:

I used these 2 lib’s:

and this one:

All of theses libs are easy to use and interact nicely with arduino and the 3310 nokia lcd.

Hi, arssant.

That pinout is exactly what I'm using and I'm able to change screen contrast, reset the screen and invert it. The initialization process is working but I'm not able to get any output from the screen.

I tried the clearing process but adding some bytes instead of 0x00, printing a char and a string but the display just show the random pixels that you see in the image (Always the same pattern of pixels)