Auf was für einem Controller basiert der Arduino? Hört sich nach einem Atmel Problem an .... der I2C benutzt SMBus Logik und erfordert als Slave sog. Clock Stretching! Wenn der Slave seine Adresse hört und ein Datenbyte empfangen wurde, hält er die Clock Leitung auf Low bis die Programmlogik das Byte aus dem Empfangsregister kopiert ... das geht maximal 25mS gut, danach zwingt der Master wegen SMBus Logik ein erneutes Senden und hängt sich dabei weg ... während der Slave munter auf weitere Bytes wartet, der Bus ist dann in einem Konfliktzustand