Skip to content

Feather S2 i2c issue - can't find board #3894

@djotaku

Description

@djotaku

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!

Metadata

Metadata

Assignees

Labels

bugespressifapplies to multiple Espressif chips

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions