PCA9685 found in i2cdetect but throws

I found i2c 0x40 and 0x70 in bus 0

1

and python coding :

from adafruit_servokit import ServoKit
kit = ServoKit(channels=16)

and I get an error

Traceback (most recent call last):
File “/usr/local/lib/python3.8/dist-packages/adafruit_bus_device/i2c_device.py”, line 176, in __probe_for_device
self.i2c.writeto(self.device_address, b"")
File “/usr/local/lib/python3.8/dist-packages/busio.py”, line 175, in writeto
return self._i2c.writeto(address, buffer, stop=stop)
File “/usr/local/lib/python3.8/dist-packages/adafruit_blinka/microcontroller/generic_linux/i2c.py”, line 52, in writeto
self._i2c_bus.write_bytes(address, buffer[start:end])
File “/usr/local/lib/python3.8/dist-packages/Adafruit_PureIO/smbus.py”, line 314, in write_bytes
self._device.write(buf)
TimeoutError: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.8/dist-packages/adafruit_bus_device/i2c_device.py”, line 182, in __probe_for_device
self.i2c.readfrom_into(self.device_address, result)
File “/usr/local/lib/python3.8/dist-packages/busio.py”, line 165, in readfrom_into
return self._i2c.readfrom_into(address, buffer, stop=stop)
File “/usr/local/lib/python3.8/dist-packages/adafruit_blinka/microcontroller/generic_linux/i2c.py”, line 59, in readfrom_into
readin = self._i2c_bus.read_bytes(address, end - start)
File “/usr/local/lib/python3.8/dist-packages/Adafruit_PureIO/smbus.py”, line 181, in read_bytes
return self._device.read(number)
TimeoutError: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/morse/chimLabs/ServoController.py”, line 2, in
kit = ServoKit(channels=16)
File “/usr/local/lib/python3.8/dist-packages/adafruit_servokit.py”, line 89, in init
self._pca = PCA9685(
File “/usr/local/lib/python3.8/dist-packages/adafruit_pca9685.py”, line 141, in init
self.i2c_device = i2c_device.I2CDevice(i2c_bus, address)
File “/usr/local/lib/python3.8/dist-packages/adafruit_bus_device/i2c_device.py”, line 63, in init
self.__probe_for_device()
File “/usr/local/lib/python3.8/dist-packages/adafruit_bus_device/i2c_device.py”, line 185, in __probe_for_device
raise ValueError(“No I2C device at address: 0x%x” % self.device_address)
ValueError: No I2C device at address: 0x40
Exiting…
Cleaning up pins

========================================

Package: nvidia-jetpack
Version: 4.6.1-b110

ubuntu 20.04 update by Install Ubuntu 20.04 on Jetson Nano - Q-engineering
adafruit-circuitpython-servokit==1.3.13

Thank you for support.

hello chimlabs2022,

please refer to similar issue, Topic 178453.
is it hardware issue? you may also check whether you’re able to use i2cget to check devices.
thanks

Yes, i can use i2cget and return hexadecimal. But this line not working :

from adafruit_servokit import ServoKit
kit = ServoKit(channels=16)

Thank you for your support.

hello chimlabs2022,

you may dig into this, what’s the error reports and please try debug this.

Thank you for your support.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.