I2C Bus communication error - missing ACK

I have an error pop up when I am trying to run python code (thermal sensor). Error:“I2C Bus communication error - missing ACK”
I am using AMG8833 and OpenMV H7 camera.
I am connecting GND to GND; 3.3V to VIN; SCL to P4 and SDA to P5. Do I need connect something else?

Thank you.

This issue has been fixed in the latest firmware (3.6.2)

Unfortunately it’s still showing the same error.

Could be a wiring issue, please double check the connections (try different/shorter wires)…Do you have the H7 or H7-plus ? And are you using the Sparkfun breakout board ? If not you may need to add pull-ups to the SCl/SDA lines. Also please post the code.

It was wire. Now I don’t have this error.
Thanks for your help!

I am getting another issue now. My thermal scanner showing just 0 and blue screen.
I double check wire and I think it’s connect right(gnd->gnd;3.3v->vin;p4->scl;p5-sda)
I also try to run this code but it’s not showing anything.

i2c = I2C(2, I2C.MASTER)
for a in i2c.scan():
    print("0x%x"%(a<<1))

I still don’t know what camera you’re using but anyway, we’re going to update and fix the I2C code used for FIR sensors very soon, so this issue should be fixed soon.

I am using H7 camera with adafruit AMG8833

Hi, I’ve updated and fixed all the I2C code, and tested AMG8833, MLX90621 and MLX90640 on OMV3, OMV4 and OMV4P… and they’re all working fine. The attached firmware image should fix any issues with AMG8833 please try it and let me know.
firmware.zip (1.14 MB)

I’m encountering the same issue (OSError: I2C Bus communication error - missing ACK!). I’m using the OpenMV Cam H7 Plus with the Adafruit AMG8833 thermal sensor. I’ve tried shortening the wires and added 4.7K pull-up resistors but no luck. I will try updating the firmware. Is the following the proper way to update the firmware?

  • Tools > Run Bootloader (Load Firmware)
  • Firmware Path: C:\Users\Downloads\firmware.bin
  • Run

CODE:

fir.init(type=fir.FIR_AMG8833)

while(True):
clock.tick()
img = fir.snapshot(copy_to_fb=True)

IDE Version: 2.6.5

Yes, please make sure you have the latest IDE and firmware.

The latest IDE/firmware is not doing the trick. Using the firmware found in this thread bricks the OpenMV Cam. Below is the summary. Any other advise is appreciated. Thanks!

Device: OpenMV Cam H7 Plus
This is a known good device working fine without the thermal sensor function.

Thermal sensor: Adafruit AMG8833
This is a known good sensor working fine on another breadboard project.

Wiring: Wiring has been double and triple checked. I2C bus wires are 1.5" long. Tried 4.7K, 10K, as well as no pull-up resistors. I believe the AMG8833 already has built-in pull-ups.

Code:
fir.init(type=fir.FIR_AMG8833)
while(True):
clock.tick()
img = fir.snapshot(copy_to_fb=True)

IDE version: 2.6.5 (latest as of today 10/23/20)

Firmware 3.6.8 (latest as of today 10/23/20)
This causes the missing ACK error.

Firmware 3.6.3 (firmware.bin found in this thread)
This causes the OpenMV Cam to brick.

Please report a bug on github

Will check this. I’m doing an overhaul of the lcd and fir drivers soon for the OpenMV Cam Pure Thermal.

Will check this. I’m doing an overhaul of the lcd and fir drivers soon for the OpenMV Cam Pure Thermal.