El bucle DO puede realizar el bucle siempre y cuando la variable el cual ejecuta el DO continue estable.
int respuesta = 1;
do{
valor++;
Serial.println(valor); delay(500);
} while(respuesta = 1);
En el caso de WHILE, el bucle continuará hasta llegar al valor establecido, basicamente sustituye perfectamente al FOR, pero con la finalidad de no volver a contar si ya alcanzó su objetivo.
int valor;
while(valor < 20){
valor++;
Serial.println(valor); delay(500);
}