Doesn't work MLX90614 by SubeCell Board

Hello!
Doesn’t work MLX90614 by SubeCell Board
IR pyrometer MLX90614 works fine with Arduino UNO and ESP32, but does not work with SubaCell Board and CubeCell Board Plus
Other I2c sensors (MAX44009, ATH10, BME280 etc…) work good

#include "Arduino.h"
#include "Wire.h"

void setup()
{
  Serial.begin(115200);
  pinMode(Vext,OUTPUT);
  digitalWrite(Vext,LOW);
  delay(1000);
  Wire.begin();   
}

void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
     Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
      Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknown error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }
  }
  if (nDevices == 0)
  Serial.println("No I2C devices found\n");
  else
  Serial.println("done\n");

//  delay(5000);
}

Is the address not scanned?

Yes. Address not scanned

Test the device voltage to see if the voltage is insufficient.

From the datasheet of MLX90614, we can see that its power supply voltage needs at least 3.6V.

I turned on the power supply and 3.6V and 5V - it works
If you connect to Atmega328 - it works from 3.3V

MLX90614 connect to Arduino Uno
Set frequency 100KHz/Real frequency 100KHz - works fine

MLX90614 connect to CubeCell Board
Set frequency 100KHz/Real frequency 119KHz - does not work

CubeCell Board
Set frequency 50KHz/Real frequency 71KHz - does not work

CubeCell Board
Set frequency 20KHz/Real frequency 29KHz - does not work

Do you have any ideas on this?

Here is the corrected version of the Shire library with which everything worked fine


Thanks @gharmelech
It would be nice to add this library to IDE

Hello @sav50. I am also trying to communicate with MLX90614 with no success. I tried the library you mention but it gave me many errors. Did you succeed? Would yoi share your code?
Thanks in advance.

Hello
I am using this library


and the wire.h at the link above

Thanks @sav59 for you help. I will try it… Thanks again

Hello there, I made it work. the I2C scan recognize the MLX90614, it is commnicating in a bus with other 3 sensors!. But now the sparkfun library is not retrieving the temp. value.Did you make any adjustment in the SparkFun library? (apart of wire1)

Firmware:

Output:

It is necessary to check the supply voltage MLX90614 - 3 or 5 V (there are different sensors)

It is necessary to check the Pull Up of resistors on the SDA and SCL pins

SparkFun library did not change

Wire.h - https://github.com/gharmelech/Wire-HTCC-