Print, Println \0, \r, \n que son, cuando y como usarlos correctamente

Hola a todos, quiero hacer una consulta, porque busco info y termino mas confundido de lo que empecé...primero, que diferencia concreta hay entre print y println en el serial?
y \0 \r \n? que función cumplen?
pregunto porque uno busca ejemplos de todo tipo y aparecen las distintas maneras de usarlos y quisiera poder entender bien para que se usa cada uno, cuando hay que usarlo etc..
del \0 leí que es conveniente siempre que haya texto tipo Serial.print (con o sin ln) ("Hola \0");
pero el resto no tengo idea...

Print imprime y deja el cursor detrás del último caracter.

Serial.print("Hola");
Serial.print("Manola");

Obtienes

HolaManola

Si hubiese otra impresión se haría a continuación.

Println agrega un salto de línea

Serial.println("Hola");
Serial.println("Manola");

Obtienes

Hola
Manola

(nota que queda una línea en blanco debajo, si hubiese otra impresión aparecería ahí)

\r es un caracter return o retorno de carro

\n es un caracter new line o línea nueva

\0 es un caracter 0 (cero) y se usa como terminador de las cadenas.

Saludos

Hola gatul muchas gracias por responder, aclarado.. saludos