Problema Pilotaggio di due o più motori passo-passo tramite doppi ponti H L298N

Salve.
è da più di una settimana che ci ragiono sopra ma non riesco a venirne fuori.
Per la tesina sto cercando di comandare un robot-arms CS-113 della elettronica veneta mettendo offline la scheda elettronica ed interfacciandomi tramite arduino e l'utilizzo di ponti H L298N.
Riesco a comandare un motore ma non a duplicare lo sketch per comandarne due o più.
Il robot possiede 6 motori unipolari a 4 fili ma ne utilizzo solo 4 di motori.
Questo è il codice:

#include <Stepper.h>

#define STEPS 24
#define STEPS1 24

Stepper stepper(STEPS, 2,3,4,5);
Stepper stepper1(STEPS1, 6,7,8,9);
int steps = 0;
int steps1 = 0;
void setup()
{
stepper.setSpeed(250);
stepper1.setSpeed(250);
Serial.begin(9600);
}
void loop()
{
char ch = Serial.read();
char ch1 = Serial.read();
if(ch >= '0' && ch <= '9'){
steps = steps * 10 + ch - '0'; // yes, accumulate the value
}
else if(ch == '+'){
stepper.step(steps);
steps = 0;
}
else if(ch == '-'){
stepper.step(steps * -1);
steps = 0;
}

if(ch1 >= '0' && ch1 <= '9'){
steps1 = steps1 * 10 + ch1 - '0'; // yes, accumulate the value
}
else if(ch1 == '+'){
stepper1.step(steps1);
steps1 = 0;
}
else if(ch1 == '-'){
stepper1.step(steps1 * -1);
steps1 = 0;
}
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
}

La modifica che ho provato ad apportare duplicando i comandi con l'aggiunta dell'uno non ha portato a risultati..
La parte finale dei DigitalWrite tutti LOW e perchè mi teneva sempre alimentato i motori con conseguente surriscaldamento dei ponti H.

Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare.
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.

Dal monitor serial 1 input hai !! Perchè due Serial.read(); ??
Che te ne fai ?
Per me non è molto chiaro come vorresti comandare i due motori. Che vuoi scrivere sulla seriale ?

Immaginavo fosse sbagliato.
La mia idea era di far muovere tutti i motori contemporaneamente magari avendo già prestabilito una posizione e poi cliccando a(ad esempio) eseguiva i movimenti prestabiliti oppure di muovere un motore alla volta inserendo dal monitor il numero di passi voluto.

#include <Stepper.h>

#define STEPS 24

Stepper stepper(STEPS, 1,2,3,4);
Stepper stepper1(STEPS, 5,6,7,8);
Stepper stepper2(STEPS, 9,10,11,12);
int steps = 0;
void setup()
{
stepper.setSpeed(250);
Serial.begin(9600);
}
void loop()
{
char ch = Serial.read();
if(ch == 'A') {
if(ch >= '0' && ch <= '9'){ // is ch a number?
steps = steps * 10 + ch - '0'; // yes, accumulate the value
}
else if(ch == '+'){
stepper.step(steps);
steps = 0;
}
else if(ch == '-'){
stepper.step(steps * -1);
steps = 0;
}
}
else if(ch == 'S') {
  if(ch >= '0' && ch <= '9'){ // is ch a number?
steps = steps * 10 + ch - '0'; // yes, accumulate the value
}
else if(ch == '+'){
stepper1.step(steps);
steps = 0;
}
else if(ch == '-'){
stepper1.step(steps * -1);
steps = 0;
}
}
else if(ch == 'D') {
  if(ch >= '0' && ch <= '9'){ // is ch a number?
steps = steps * 10 + ch - '0'; // yes, accumulate the value
}
else if(ch == '+'){
stepper2.step(steps);
steps = 0;
}
else if(ch == '-'){
stepper2.step(steps * -1);
steps = 0;
}
}
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
}

Credo di aver trovato la soluzione.
Può essere corretto?