IR sensor gives different results when changing Arduino UNOs


In order to verify the functionality of 4 pieces of Arduino UNO clones arriving from Ebay I used an old, small project.
It uses a DFRobot IR sensor, MLX90614. The same sensor was used in all 4 tests. The 4 different UNOs were differing some 1 degree, MIN to MAX, C around the centre of 36 degrees. I used my body temperature in the ear as reference.
What would the reason be? Different oscillator frequency, different what, in those 4 UNO clones?

  IR Thermometer Sensor-MLX90614
* ****************************************************
  This example is to get the ambient temperature and object temperature by the IIC bus

  @author jackli(
  @version  V1.0
  @date  2016-2-2

  GNU Lesser General Public License.
  See <> for details.
  All above must be included in any redistribution
* ****************************************************/
#include <Wire.h>
#include <IR_Thermometer_Sensor_MLX90614.h>

IR_Thermometer_Sensor_MLX90614 MLX90614 = IR_Thermometer_Sensor_MLX90614();

void setup() {

void loop() {
  unsigned long start;
  unsigned long ending;
  float temp;

  //  Serial.print("Ambient = "); Serial.print(MLX90614.GetAmbientTemp_Celsius());    Serial.println(" *C");
  start = micros();
  temp = MLX90614.GetObjectTemp_Celsius();
  ending = micros();

  //  Serial.print("Object  = "); Serial.print(MLX90614.GetObjectTemp_Celsius());     Serial.println(" *C");
  Serial.print("Object  = "); Serial.print(temp);    Serial.println(" *C");

//  Serial.print("Micros = "); Serial.println(ending - start);

  //  Serial.print("Ambient = "); Serial.print(MLX90614.GetAmbientTemp_Fahrenheit()); Serial.println(" *F");
  //  Serial.print("Object  = "); Serial.print(MLX90614.GetObjectTemp_Fahrenheit());  Serial.println(" *F");

  //  Serial.println();