Error 5 with I2C is quite often caused by lack of pull-up resistors on the SCL and SDA lines. Your board may already have these: if you have a multimeter, check the resistance of the (disconnected) board between SCL-Vcc and SDA-Vcc. It should read between 1 kΩ to 10 kΩ (ADS111x datasheet, fig. 39, p. 31). You can add external ones if your board doesn't have them.
i2c.scan() only does a very simple transaction, and may sometimes work even without pull-up resistors even if it shouldn't.
There's a mature, well-maintained MicroPython library for the ADS1115: robert-hh/ads1x15: Micropython driver for ADS1115 and ADS1015, found via Awesome MicroPython. Feel free to roll your own, though
i2c.scan() only does a very simple transaction, and may sometimes work even without pull-up resistors even if it shouldn't.
There's a mature, well-maintained MicroPython library for the ADS1115: robert-hh/ads1x15: Micropython driver for ADS1115 and ADS1015, found via Awesome MicroPython. Feel free to roll your own, though
Statistics: Posted by scruss — Sat Jul 27, 2024 2:19 pm