MLX90614 IR Thermometer not responding

I bought a MLX90614 IR sensor and hooked it up based on the bildr page
http://bildr.org/2011/02/mlx90614-arduino/

Here is my setup based on the bildr page

I installed the library, and used the exact codes in the tutorial

#include <i2cmaster.h>


void setup(){
    Serial.begin(9600);
    Serial.println("Setup...");
    
    i2c_init(); //Initialise the i2c bus
    PORTC = (1 << PORTC4) | (1 << PORTC5);//enable pullups
}

void loop(){
  int dev = 0x5A<<1;
  int data_low = 0;
  int data_high = 0;
  int pec = 0;
  
  i2c_start_wait(dev+I2C_WRITE);
  i2c_write(0x07);
  
  // read
  i2c_rep_start(dev+I2C_READ);
  data_low = i2c_readAck(); //Read 1 byte and then send ack
  data_high = i2c_readAck(); //Read 1 byte and then send ack
  pec = i2c_readNak();
  i2c_stop();
  
  //This converts high and low bytes together and processes temperature, MSB is a error bit and is ignored for temps
  double tempFactor = 0.02; // 0.02 degrees per LSB (measurement resolution of the MLX90614)
  double tempData = 0x0000; // zero out the data
  int frac; // data past the decimal point
  
  // This masks off the error bit of the high byte, then moves it left 8 bits and adds the low byte.
  tempData = (double)(((data_high & 0x007F) << 8) + data_low);
  tempData = (tempData * tempFactor)-0.01;
  
  float celcius = tempData - 273.15;
  float fahrenheit = (celcius*1.8) + 32;

  Serial.print("Celcius: ");
  Serial.println(celcius);

  Serial.print("Fahrenheit: ");
  Serial.println(fahrenheit);

  delay(1000); // wait a second before printing again
}

However when I run it, all i see in the Serial window is “setup…” and nothing happens after that.

Am i supposed to do something after that? I have no experience with I2C whatsoever so I don’t even know what the code is even doing. What did I do wrong?

Do you have the MLX90614 connected EXACTLY as shown in the bildr tutorial, with pullup resistors of 4.7K?

..and the B-version (3V)