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);

}