Switch Case et boucle infinie?

char key = NO_KEY;
void loop(){
  char new_key = keypad.getKey();
  
  if (new_key != NO_KEY )
	  key = new_key;
    
  switch (key) {
    case '1' : Serial.println("Accelerometre"); break;
    case '2' : Serial.println("Accelerometre avec moteur dc"); break;
    case '3' : Serial.println("Accelerometre pour bras"); break;
    case '4' : Serial.println("Joystique"); break;
    case '5' : Serial.println("Joystique avec moteur dc"); break;
    case '6' : Serial.println("Joystique pour bras"); break;
    case '0' : Serial.println("Stop"); 
                  key = NO_KEY; // pour que stop ne soit fait qu'une seul fois
                  break;
    }
}

pas sorcier pourtant.