Pequeño problema código temporizador []

Hola,
para darle formato, tendrías que sacar primero los segundos, los minutos y las horas, y luego darles formato en una cadena char

long milisegundos, segundos, minutos, horas;
char formato[25];


void loop()
{
   milisegundos = 10000000L; // por ejemplo

   segundos = milisegundos / 1000L;
   minutos = segundos / 60L;
   segundos = segundos % 60L;
   horas = minutos / 60L;
   minutos = minutos % 60L;
  
   sprintf(formato, "%ld h %ld min %ld seg", horas, minutos, segundos);
   Serial.println(formato);

}