Arduino hängt sich auf

zusammen gebastelt triffts sehr gut ^^

Hier mal etwas was mir auf -Anhieb auffällt, ich selber hab nur das Display selber schon mal verwendet aber es könnte an deiner Programmierweise liegen:

 {
  if (newdata = false)
  lcd.setCursor(0, 0);
  lcd.print("Suche");
  lcd.setCursor(0, 1);
  lcd.print("Satelliten...    ");
 
}

zu

  if (newdata==false){
  lcd.setCursor(0, 0);
  lcd.print("Suche");
  lcd.setCursor(0, 1);
  lcd.print("Satelliten...    ");
 
}

== ist der Vergleichsoperator
= ist der Zuweisungsoperator
geschweifte klammern werden nur gesetzt nach:
Schleifen:
z.B.
while (Bedingung) { ... }
for (Initialisierung; Test; Fortsetzung) { ... }

Bedingungen:
z.B.
if(Bedingung) { ... }

oder Methoden:

void bla() { ... }

Die Klammern können weg gelassen werden, wenn nur eine Anweisung ausgeführt werden soll, außer bei Methoden.

number = -number;

soll bestimmt

number -= number;

sein

Auch sollte man entweder einheitlich " " oder ' ' verwenden.

Wenn du so dein Code durchgehst könnte es sein, dass es einfach nur ein Klammerfehler o.ä. ist der RAM zum überlaufen bringt.