Motoren ohne delay per BT steuern

hat man mit serial.read ebenfalls ein delay?

Nein, das liest das nächste Zeichen im Eingangspuffer. Und liefert -1 wenn nichts da ist (wobei das schon vorher mit available() abfängt).

Das mit den mehrstelligen Zahlen musst du natürlich extra behandeln

In der ersten Version in meinem Link werden die eingehenden Daten als C String behandelt und erst mal komplett gepuffert. Danach wird mit String Funktionen getrennt und konvertiert. Das ist sehr, sehr flexibel, aber braucht bei langen Strings auch recht viel Speicher (mindestens ein Byte pro Zeichen + 1).

Bei der zweiten Version werden die Ziffern direkt aufaddiert. Man multipliziert immer den aktuellen Wert mit 10 und addiert die aktuelle Ziffer dazu. Also z.B. 523:
5 -> 0 * 10 + 5 = 5
2 -> 5 * 10 + 2 = 52
3 -> 52 * 10 + 3 = 523

Für rein positive Zahlen sehr einfach, man verliert die Flexibilität von Strings. Die man aber auch nur braucht wenn man komplexere Sachen machen will. z.B. Variablen anhand von gesendetem Text oder Zeichen zu identifizieren.