Sending/reading SMS with FBUS protocol

Does anyone know what hardware I can use to communicate between the Nokia 3310 and the Arduino?

I've tested a lot of hardware setups, but none of them work!

In software it seems I have to send 128 times 'U' or 0x55 in HEX. This is is to synchronize the UART in the phone with the microcontroller. Then for testing I send

1E 00 0C D1 00 07 00 01 00 03 00 01 60 00 72 D5

This sample frame is used to get the hardware and software version from a Nokia phone. When the hardware is good, the Nokia 3310 should reply back with some info. But nothing happens...

Maybe funny to tell: Yesterday I've worked/tested on this from 08:00 in the morning till 23:00 in the evening ::slight_smile: :stuck_out_tongue: and NO progress :cry:

With Nokia 3310 FBUS cable it doesn't work, but also without FBUS cable, and with direct soldered cables into the phone it doesn't work. Because the Nokia 3310 data (FBUS) cable inverts the signal I use 2 transistors between Arduino and phone to also invert the signal. A picture of the setup:

To be complete, here the code what I used in the Arduino:

// ASCII Table 
// by Nicholas Zambetti <http://www.zambetti.com> 

void setup() 
{ 
  Serial.begin(115200); 

  // wait for the long string to be sent 
  delay(100); 
} 
 
int number = 0; // first visible character '!' is #33 
int var = 0;
int var2 = 0;
int incomingByte = 0;
 
void loop() 
{ 

  while(var < 128){
    Serial.print(0x55, HEX);
    //delay(10);
  var++;
  }
  
  
  
  
  while(var2 < 1){
    
  // 1E 00 0C D1 00 07 00 01 00 03 00 01 60 00 72 D5
 
  delay(1000); 
  
  //Serial.print("1E0CD10701030160072D5");
  
  
  Serial.print(0x1E, HEX);   //1E
  Serial.print(0x00, HEX);   //00
  Serial.print(0x0C, HEX);   //0C
  Serial.print(0xD1, HEX);   //D1
  Serial.print(0x00, HEX);   //00
  Serial.print(0x07, HEX);   //07
  Serial.print(0x00, HEX);   //00 
  Serial.print(0x01, HEX);   //01
  Serial.print(0x00, HEX);   //00
  Serial.print(0x03, HEX);   //03
  Serial.print(0x00, HEX);   //00
  Serial.print(0x01, HEX);   //01
  Serial.print(0x60, HEX);   //60
  Serial.print(0x00, HEX);   //00
  Serial.print(0x72, HEX);   //72
  Serial.print(0xD5, HEX);   //D5
  
  
  
  //Serial.println(0);   //0
  //delay(1000);
  
  var2++;
  }
  
  
  if (Serial.available() > 0) {
            // read the incoming byte:
            incomingByte = Serial.read();

            // say what you got:
            //Serial.print("I received: ");
            Serial.print(incomingByte, HEX);
  }
 
}

I someone can help me would be VERY great!!

Thanks in advance,

Atmoz