I am trying to connect a sensor/controller to my Arduino Mega via i2c and I am experiencing some strange behavior on the i2c pins.
I am using a logic level converter from Sparkfun for connecting the sensor (3.3v) to the Arduino’s (5v) i2c SDA and SCK pins.
The device I am trying to communicate with is MAX31760, which is a fan-speed controller.
I connected this device as shown on the first page of the datasheet, with a 0.1uF capacitor between Vdd and GND, and I use 4.7K pullup resisters, except for the i2c pins, since the logic level converter already uses 10K pullup resisters on both the high and low side.
The code I am running is i2c scanner code which I found in the arduino playground forum.
The problem I am experiencing is that the code starts to run, and then the bus lines goes high and stays high. It seems that something causes the i2c bus to hang/lock up.
I performed another test by connecting the SCK line of the device to another pin on the arduino, and then toggle the pin between high and low with a 1ms delay.
When I connect my oscilloscope to the SCK lines on both the high (5V) side and the low (3.3V) side I clearly see a difference in the wave generated.
I attached 2 images/screenshots from my oscilloscope.
I have honestly no idea what the problem is, and would really appreciate any help with this problem.