El código es bastante largo puesto que saco bastantes datos...pero la parte de impresión de datos es bastante sencilla. Solo posicionar el puntero de escritura en la casilla y escribir...
Lo comentaba porque antes de revisar todo el código, mirar si ha habido algún caso similar.
Cierto es que pueda escribir encima de un dato sin borrarlo previamente y que fuera más largo el antiguo, por lo que el dato nuevo se imprime, y aparecen seguidos los dígitos antiguos...Pero lo que más me mosquea,y por eso pregunto, es que me cambien a la vez una serie de datos fijos que son de tres caracteres (TEM:, RPM:, etc..) que escribo al principio y que nunca me posiciono sobre ellos a la hora de escribir, sino a continuación.
P.D. Uso 3 caracteres creados por mi...no se si tendrá algo que ver...
Puedes describirme con mas palabras, pero no vamos a llegar a nada.
Lo que nos estas diciendo es el equivalente a llamar por telefono al doctor y decirle "me duele aca".
Cuando tengo problemas con mi codigo trato de reducir el problema a un codigo pequeño y descubrir que estoy haciendo mal.
Prueba con programas que sean repetitivos (ejemplos de Arduino / LiquidCrystal) ... si esos ejemplos funcionan correctamente, ya sabes que el problema esta en tu codigo, no en tu LCD.
Si tu LCD esta conectado con jumper-cables, es posible que algun cable no este bien conectado. Malas soldaduras tambien suele general dolores de cabezas.
Si los ejemplos de Arduino funcionan correctamente, quizas te podamos ayudar a descubrir los problemas posteando tu codigo aca.
Tu descripcion me hace pensar que es solo un error de programacion... asique toma aire y tira el codigo para que te ayudemos.