Y aún mantengo mi duda, ¿seguiremos necesitando contar las vueltas con un sensor no?
Las vueltas del motor deben contarse para asegurar una distancia de desplazamiento.
Ya que el proceso de subida y bajada tienen diferente velocidad si no cuentas las vueltas no sabes donde esta tu carga desplazada.
Para explicarte el código necesito saber porque usas Motor1 y Motor2, se supone que tienes un solo motor no es así?
Otra cosa es que estos comandos
direct: Should be between 0 and 3, with the following result
0: Brake to VCC
1: Clockwise
2: CounterClockwise
3: Brake to GND
aseguran el funcionamiento del motor pero tienes 0 o 3 para frenarlo sea contra VCC o contra GND.
Estas usando 0 o sea que le aplicas VCC. Verifica si eso no calienta el motor como has dicho o si el calentamiento ocurre por arrancar en 0.
De todos modos luego te explicaré pero pasamos de 0 a 50 que es donde dices empieza a moverse en 500 mseg y no creo que eso genere calentamiento del motor.
Si puedo cambiar la rampa para que vaya desde 45 y no desde 0 a 255.