Go Down

Topic: Melexis SMBus IR Thermometer - NFI (Read 20 times) previous topic - next topic


Did you find out specifically what the device didn't like about wiring?  Is it an I2C vs. smbus issue, something nonstandard in one of the devices, etc.?



The device could not accept a stop/start condition transmission during a transaction. From what I understand, you cannot send a repeated start condition in the wire library without first sending a stop condition. This does not work with the smbus device I was using. I don't know if the device is out of spec or the wire simply doesn't support all smbus communication protocols.


CalculusAE, I hope you're still getting emails for this thread.  I have been trying your code to get readings from the MLX90614 and haven't had any luck.  Now I don't know if I might have damaged the device or what.  I'm new to Arduino and as you know SMBus is not easy.  Anyway, I have the pin voltage in the Arduino's 3.3V, and SDA into Analog4 and SCL into Analog 5.  I have 4.7k pull-ups, but have also tried without.

It fires the init but doesn't get past the i2c_start_wait.  Any help GREALY appreciated!


I'm also trying to figure this out. I don't have the MLX sensor yet, but am already a bit mystified.. Where should I tell the i2c library which Arduino port(s) to use?

I'm looking at Peter Fleury's twimaster.c library.


Yes, this confused me at first too!  Pin 4 is data and pin 5 is the other one.

I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library.

I got it working very quickly with the TPA81, though I believe I had to add a (pull down) 1.4k transistor on each of those lines.

see: http://arduino.cc/en/Reference/Wire

Go Up