void print_frequency(unsigned long frequency) { float floatfrq; if (frequency < 1000) { Serial.print(frequency); Serial.println(" Hz"); } else if (frequency < 1000000) { floatfrq = frequency; floatfrq /= 1000; Serial.print(floatfrq,3); Serial.println(" kHz"); } else if (frequency < 1000000000) { floatfrq = frequency; floatfrq /= 1000; floatfrq /= 1000; Serial.print(floatfrq,3); Serial.println(" MHz"); } else { Serial.print(frequency); Serial.println(" Hz"); } } and the main loop: void loop() { measureFrequency(1000); // 1000ms standard gate time while (_measurement_ready==false); //wait until ready print_frequency(_frequency); }