Probleme int 0 pas egal a 0...

Ton problème vient peut-être du fait que tu ne testes pas si le buffer de lecture est vide.

while (1 < Wire.available()) { // loop through all but the last

oui desolé je ne l'ai pas mis dans mon exemple mais je l'ai bien mis dans mon script d’origine.

Ce que tu prends pour un 0 est peut-être le dernier caractère de "10" : tu peux tester avec "11" au lieu de "10".

Tu veux dire la ou je met byte x = 10, je remplace les 10 par des 11?

Tu es sur que le maitre envoie bien 0 et non le caractère '0' ?

oui j'en suis sure car le maitre envoi toujours la mème chose (avec une fonction qui n'est jamais modifier). Et sa fonctionne 9 fois sur 10 avec ce mème 0. Dans le doute j'ai essayer if (x == "0") et mème if (x == 0.0)