forked from micropython/micropython
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed
Labels
Milestone
Description
I've got a Feather S2 and this sparkfun board: https://www.sparkfun.com/products/16294 . The sparkfun board is at address 0x60 vs the 0x67 that adafruit has for their MCP9600 CircuitPython library.
So I wrote this code:
import time
import board
import busio
import adafruit_mcp9600
# frequency must be set for the MCP9600 to function.
# If you experience I/O errors, try changing the frequency.
i2c = busio.I2C(board.SCL, board.SDA, frequency=100000)
mcp = adafruit_mcp9600.MCP9600(i2c, address=0x60) # sparkfun default address is 60
while True:
print((mcp.ambient_temperature, mcp.temperature, mcp.delta_temperature))
time.sleep(1)I get this error:
File "adafruit_bus_device/i2c_device.py", line 102, in write
OSError: [Errno 19] Unsupported operation
Then, after hitting control-D in the Mu REPL it just tells me there isn't an I2C device at 0x60.
Someone in the Adafruit Discord mentioned running this 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()When I did that, it showed up once and then it stopped discovering the board.
On the Feather S2 I tried both with Circuit Python 6.0.1 and 6.1.0-beta2.
So, here are some steps I did to isolate the Feather S2:
- I tried different Stemma QT cables
- I tried the Adafruit AHT20 and that DID work with the Feather S2
- But for the sparkfun board that's giving me issues, I tried it with a QT Py and that worked perfectly, It worked both with my original code and with the I2C scan Adafruit code.
So, in conclusion:
- The Sparkfun board works with the QT Py (Circuit Python 6.0.0).
- The Sparkfun board does not work with the Feather S2 neither with Circuit Python 6.0.1 nor Circuit Python 6.1.0-beta 2
- The Feather S2 isn't completely broken for I2C as it works with the AHT20 - or at least it pases the I2C scan for the AHT 20.
Thanks!