micros_now=micros(); digitalWrite(sonic_ranger_init,LOW); delayMicroseconds(2); digitalWrite(sonic_ranger_init,HIGH); delayMicroseconds(15); digitalWrite(sonic_ranger_init,LOW); delayMicroseconds(20); micros_delay=pulseIn(sonic_ranger_echo,HIGH,35000L); distance_mm=micros_delay*343/2000; // This is round trip time so 1/2/1000=1/2000 Serial.println(distance_mm);