Skip to content

"RuntimeError: I2C slave address was NACK'd" with SCD30 on MCP2221A breakout #2

Closed
@rpavlik

Description

@rpavlik

Might be related to adafruit/Adafruit_Blinka#262 but comment there said different boards should have different issues.

I'm using the sample from the SCD30 library docs:

import board
import busio
import adafruit_scd30


i2c = busio.I2C(board.SCL, board.SDA)
scd = adafruit_scd30.SCD30(i2c)

while True:
    # since the measurement interval is long (2+ seconds) we check for new data before reading
    # the values, to ensure current readings.
    if scd.data_available:
        print("Data Available!")
        print("eCO2:", scd.eCO2, "PPM")
        print("Temperature:", scd.temperature, "degrees C")
        print("Humidity:", scd.relative_humidity, "%%rH")
        print("")
        print("Waiting for new data...")
        print("")

    time.sleep(0.5)

Windows 10 2004, Adafruit MCP2221 breakout, Adafruit SCD30 breakout, Python 3.9.1 (installed with Scoop). The SCD30 works fine on the QT-Py I have here.

ryanp@RYZENSHINE-WIN   venv  E:\src-ssd\scd30                                                                                                                                                                                                   [09:57]
❯ $env:BLINKA_MCP2221=1
ryanp@RYZENSHINE-WIN   venv  E:\src-ssd\scd30                                                                                                                                                                                                   [09:57]
❯ & e:/src-ssd/scd30/venv/Scripts/python.exe e:/src-ssd/scd30/test.py
Traceback (most recent call last):
  File "e:\src-ssd\scd30\test.py", line 8, in <module>
    scd = adafruit_scd30.SCD30(i2c)
  File "E:\src-ssd\scd30\venv\lib\site-packages\adafruit_scd30.py", line 66, in __init__
    self.measurement_interval = 2
  File "E:\src-ssd\scd30\venv\lib\site-packages\adafruit_scd30.py", line 93, in measurement_interval  
    self._send_command(_CMD_SET_MEASUREMENT_INTERVAL, value)
  File "E:\src-ssd\scd30\venv\lib\site-packages\adafruit_scd30.py", line 220, in _send_command        
    i2c.write(self._buffer, end=end_byte)
  File "E:\src-ssd\scd30\venv\lib\site-packages\adafruit_bus_device\i2c_device.py", line 102, in write
    self.i2c.writeto(self.device_address, buf, start=start, end=end)
  File "E:\src-ssd\scd30\venv\lib\site-packages\busio.py", line 115, in writeto
    return self._i2c.writeto(address, memoryview(buffer)[start:end], stop=stop)
  File "E:\src-ssd\scd30\venv\lib\site-packages\adafruit_blinka\microcontroller\mcp2221\i2c.py", line 19, in writeto
    self._mcp2221.i2c_writeto(address, buffer, start=start, end=end)
  File "E:\src-ssd\scd30\venv\lib\site-packages\adafruit_blinka\microcontroller\mcp2221\mcp2221.py", line 315, in i2c_writeto
    self._i2c_write(0x90, address, buffer, start, end)
  File "E:\src-ssd\scd30\venv\lib\site-packages\adafruit_blinka\microcontroller\mcp2221\mcp2221.py", line 233, in _i2c_write
    raise RuntimeError("I2C slave address was NACK'd")
RuntimeError: I2C slave address was NACK'd

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions