Skip to content

CircuitPython_AD569x NOT working on Adafruit Metro ESP32-S3 (Adafruit Product ID: 5500) #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
dbiersach opened this issue Jan 30, 2024 · 2 comments
Assignees

Comments

@dbiersach
Copy link

dbiersach commented Jan 30, 2024

The code example for the Adafruit AD5693R Breakout Board - 16-Bit DAC with I2C Interface [Adafruit Product ID: 5811] provided by Adafruit Learning (https://learn.adafruit.com/adafruit-ad5693r-16-bit-dac-breakout-board/circuitpython-and-python) fails to run on the Adafruit Metro ESP32-S3 with 16 MB Flash 8 MB PSRAM [Adafruit Product ID: 5500] using CircuitPython 8.2.9.

I connected the DAC and the Metro ESP32-S3 via an Adafruit STEMMA QT / Qwiic JST SH 4-Pin Cable - 200mm Long [Adafruit Product ID: 4401] The green power light on the DAC was on, and Adafruit's I2C Debugging script indicated two I2C addresses found: ['0x36', '0x4c']

The same unmodified example (and cable) runs perfectly on an Adafruit KB2040 with CircuitPython 8.2.9.

Below is the error output in Thonny when running the example on the Metro ESP32-S3:

DAC Error

I suspect this is a bug in the I2C stack on the Metro ESP32-S3, but this bug is reproducible using this new DAC library, so it might offer a useful place to start tracking down the discrepancy.

@BlitzCityDIY BlitzCityDIY self-assigned this Mar 22, 2024
BlitzCityDIY added a commit that referenced this issue Dec 5, 2024
i was able to reproduce #3. also saw the same behavior that it **_did_** work with other boards (esp32-s3 tft feather and rp2040 feather). i think that the reset() function was raising the error because the DAC was resetting before the command was being acknowledged over I2C (this is noted in the [arduino driver](https://github.com/adafruit/Adafruit_AD569x/blob/6e725d0efbe4010b3971d011c6df82f64d6b0541/Adafruit_AD569x.cpp#L189)). i updated the function to not raise
@BlitzCityDIY BlitzCityDIY mentioned this issue Dec 5, 2024
@BlitzCityDIY
Copy link
Contributor

i was able to reproduce this and also saw the same behavior that it did work with other boards (esp32-s3 tft feather and rp2040 feather). a PR to update the reset() function was just merged in

@BlitzCityDIY
Copy link
Contributor

fix is in the newest library release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants