So, ich habe mich mal an dem ZeroBoost versucht. Nehme ich nur einen Motorkanal (sprich bei mir die linken 2 Motoren) funktioniert alles wunderbar.
Wenn ich den 2ten Kanal ebenfalls zur gleichen Zeit nutze ist unter PWM 30 Schluss. Woran könnte das liegen. Angenommen ich schalte die beiden Kanäle mit etwas Zeitversatz habe ich das Problem das ich dadurch eine Drehung erzeuge.

Anbei noch ein Beispiel (kommentiere ich nach dem Timeout "motor2" aus fahren die Motoren an Kanal 1 auch mit niedrigeren PWM Werten):
Code:
if(speed < 30) {
   motor1.forward(40);
   motor2.forward(40);
   setTimeout(() => {
     motor1.forward(speed);
     motor2.forward(speed);
   }, 300)
 } else {
   motor1.forward(speed);
   motor2.forward(speed);
 }