HardwareSerial* serial = &Serial1; void setup() { serial->begin(57600); } bool needEol; void loopWriteCount(); long writeInterval = 1000000; // 1 second (1 million micros) void loop() { loopWriteCount(); if ( needEol ) { serial->println(); needEol = false; } } void loopWriteCount() { static long nextTime; long intervalOffset = 50; if ( writeInterval < 0 ) return; if ( micros() < nextTime - intervalOffset) return; nextTime += writeInterval; static long count; ++count; unsigned long mics = micros(); unsigned long mils = millis(); serial->print( count ); serial->print( " millis:" ); serial->print( mils ); serial->print( " micros:" ); serial->print( mics ); needEol = true; }