Eigentlich einfach und herzergreifend.
Du mußt die Zahl (1 , Drehzahl, etc) in einen String verwandeln und brauchst die länge. das ist sprachspezifisch (welche Sprache sprichst du ?)
als Beispiel nur das "1M" in basic
Code:
dim bcc as byte

    print chr (2)               ' STX
    bcc = 0

    bcc = bcc XOR chr("1")
    print "1";
    bcc = bcc XOR chr("M")
    print "M";

    bcc = bcc XOR chr(3) ' ETX
    print chr (3);
    if bcc < 32  then bcc = bcc + 32    ' das ist so definiert bei BCC
    print chr (bcc);
Der Datenteil sollt natürlich eine Schleife sein, aber zum probieren, ob's paßt, reicht das mal so
Ich vermute auch, du kannst mehrere Commandos in einem Frame senden
STX 1M1D40I300N ETX BCC ' richtung, strom und drehzahl

fertig (glaub ich)