Gestione

....

Ipotizzo: non hai messo le resistenze in serie ai led e dopo 4 secondi ti si è bruciato il pin di Arduino. :sweat_smile:
La corrente massima erogabile da un pin è di 40mA (ma MASSSIMA!!), si consiglia di solito di non superare i 20mA.
Inoltre per singola porta, ovvero un gruppo di pin, non puoi erogare più di 200mA, meglio non superare i 150.

Per collegare i motori invece ti consiglio di usare dei transistor con diodo di ricircolo. Necessitano di molta più corrente che non un led e Arduino non la può fornire.
Tra l'altro... che tipo di motori sono?

void loop() {
  char ch;
  if (Serial.available() > 0)
  ch=Serial.read();
  {      //LETTURA CARATTERI
  if (ch=='A')
...

A me sembra che ci sia un errore.
La parentesi graffa di apertura gruppo istruzioni dopo il Serial.available va inserita prima del ch=Serial.read();

Bravo Cyb, in effeti c'è ua graffa messa male. XD

const byte A = 2;
const byte B = 3;
const byte S = 4;
const byte D = 5;

// char x=0;

void setup(){
  pinMode(A,OUTPUT);      //ALTO;
  pinMode(B,OUTPUT);      //BASSO;
  pinMode(S,OUTPUT);      //SINISTRA;
  pinMode(D,OUTPUT);      //DESTRA;
  // pinMode(FC,INPUT);
 
  digitalWrite(A,LOW);
  digitalWrite(B,LOW);
  digitalWrite(S,LOW);
  digitalWrite(D,LOW);
 
  Serial.begin(9600);
}


void loop() {
  if (Serial.available() > 0)
  {
    char ch = Serial.read();    //LETTURA CARATTERI
    
    if (ch=='A')                          //carico verso l'alto
      digitalWrite(A,HIGH);
    
    if (ch=='B')                           //carico verso il basso
      digitalWrite(B,HIGH);
    
    if (ch=='S')                           //rotazione a sinistra della gru
      digitalWrite(S,HIGH);
    
    if (ch=='D')                           //rotazione a destra della gru
      digitalWrite(D,HIGH);
    
    if (ch=='F')                           //arresto motori
    { 
      digitalWrite(A,LOW);
      digitalWrite(B,LOW);
      digitalWrite(S,LOW);
      digitalWrite(D,LOW);
    }
  }
}

@arduino_solari:
per favore, quando includi del codice, fallo usando gli appositi tag.

Fai l'eco dei caratteri ricevuti (=rispedisci indietro il carattere letto) e guarda un po' se per caso sulla seriale arriva qualche cosa che non deve.

arduino_solari:
E come si fa?

Metti un Serial.print dopo il Seria.read e rispedisci indietro quello che l'Arduino ha letto (istruendo il dispositivo/programma che stai usando per spedire i dati di leggere le cose che tornano indietro).

a parte questo, ci sono altre soluzioni per risolvere il problema?

La mia non è una soluzione al problema ma un metodo di diagnostica.
Ti suggerito un qualcosa con cui fare debugging e verificare intanto che i dati arrivino corretti. Il tuo codice è semplice, mi pare funzionante. Se si spengono i led può darsi che arrivino caratteri spuri tra cui la "F". Vediamo intanto di escludere questo problema.
Che cosa usi per spedire i dati?
Un terminale o un programma?

Perciò modifica il programma in modo che possa anche stampare ciò che riceve. Fai lo stesso su Arduino e guarda un po' se transitano caratteri non voluti

Però continua a fartelo, giusto?
Potresti pubblicare l'ultima versione del programma che stai usando?