I have an I2C device with address 0x62. I know this because I plugged it into my RPI 4B and ran
sudo i2cdetect -y 1. I see the device, if I remove the device power and rerun the command, the device is missing from the list.
I am trying to write a circuitpython script to interface with this device. My code is very simple
import busio from board import * i2c = busio.I2C(SCL, SDA) print(i2c.scan()) i2c.deinit()
This always returns an empty list. I can not figure out why. When I run
sudo i2cget -y 1 0x62 I get the error
Error: Read failed. I have tired a few different versions of the code above. I have tried to use
while i2c.trylock(), no change.
Adafruit has the following code:
"""CircuitPython Essentials I2C Scan example""" # If you run this and it seems to hang, try manually unlocking # your I2C bus from the REPL with # >>> import board # >>> board.I2C().unlock() import time import board i2c = board.I2C() while not i2c.try_lock(): pass try: while True: print("I2C addresses found:", [hex(device_address) for device_address in i2c.scan()]) time.sleep(2) finally: # unlock the i2c bus when ctrl-c'ing out of the loop i2c.unlock()
This also fails to find my device.
Device is SCD41 CO2 Sensor. I have a small dev kit for it which provides pinout.
I can not attach the image so I am sharing a link to it. Yellow is SCL and attached to pin 5, Green is SDA and is attached to pin 3.