Como salir de un ciclo while por Serial.read()?

Hola buenas tardes, tengo un inconveniente con el while y es que no se como detener un ciclo while usando el Serial.input().
Mi codigo es:

void loop() {
int input = Serial.read();

switch(input)
{
case '1':
 while(input != '0')
 {
right (200,90);
left(200,90);
Serial.read();
  
 }
 disableMotors();
  break;
}

You are reading the serial port receive buffer before you know that there is anything in the serial receive buffer.

The serial input basics tutorial may help you to understand serial communication.

Debes poner tu código Arduino entre las etiquetas code asi:

void loop() {
   if (Serial.available()){
      char input = Serial.read();
      switch (input) {
      case '1':
         disableMotors();
         break;
      case '2':
         ...
         break;
      default:
         ...
      }
   }
}

Antes de leer datos con Serial.read() debes asegurarte que hay datos que leer con Serial.available(). Es te metodo te indicara el numero de bytes (caracteres ASCII) disponibles en el buffer. Si no hay datos retorna un valor de 0. Cada vez que lees un byte con Serial.Read() se borrara del buffer.