Skip to content

Core adafruit_bus_device is incompatible with Debug_I2C #10890

@FoamyGuy

Description

@FoamyGuy

CircuitPython version and board name

Adafruit CircuitPython 10.1.2-16-ga2532bd537-dirty on 2026-03-04; Adafruit Fruit Jam with rp2350b

Code/REPL

import adafruit_lis3dh
import board
import digitalio

from adafruit_debug_i2c import DebugI2C

i2c = DebugI2C(board.I2C())
int1 = digitalio.DigitalInOut(board.D8)
accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, address=0x19, int1=int1)

print(accelerometer.acceleration)

for i in range(2):
    print(accelerometer.acceleration)

Behavior

Raises this exception when the driver that Debug_I2C instance is passed to attempts to create I2CDevice

code.py output:
Traceback (most recent call last):
  File "code.py", line 34, in <module>
  File "/lib/adafruit_tcs3430.py", line 258, in __init__
AttributeError: 'DebugI2C' object has no attribute 'probe'

Like from this line: https://github.com/adafruit/Adafruit_CircuitPython_TCS3430/blob/887075088e92cabdd165c9ddbe127f8a98c786dc/adafruit_tcs3430.py#L279 (line numbers differ because I had different version of driver on device)

Description

No response

Additional information

I think Debug_I2C was made for the python implementation of adafruit_bus_device and perhaps never updated for the core implementation, or perhaps the core implementation is missing something internally that the python one has.

If I force the driver to use the python implementation by changing the name of the library directory and import code like this:

from adafruit_bus_device_py import i2c_device

Then it succeeds and does print all of the debugging traffic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions