Skip to content

NRF52840 I2C not working after nrfx update. #19214

@ricksorensen

Description

@ricksorensen

Port, board and/or hardware

SEEED NRF52840,

MicroPython version

MPY: soft reboot
MicroPython v1.29.0-preview.199.ga595bbba67 on 2026-05-09; XIAO nRF52840 Sense with NRF52840

Downloaded from download page.

Reproduction

Using the SEEED XIAO NRF52840 Sense plugged into the SEEED expansion board which has:

  • SSD1306 and PCF backup clock on one I2C bus
  • the I2C IMU on another
from machine import Pin, I2C


def dotest():
    i2c0 = I2C(0, scl=Pin("P5"), sda=Pin("P4"))
    x0 = i2c0.scan()
    print(f"i2c0- scl=P5 sda=P4    scan: {x0}")

    i2c1b = I2C(1, scl=Pin("P27"), sda=Pin("P7"))
    x1 = i2c1b.scan()
    print(f"i2c1b- scl=P27 sda=P7    scan: {x1}")


dotest()

Expected behaviour

$ mpremote run test_nrfi2c.py
i2c0- scl=P5 sda=P4    scan: [51, 60, 81]
i2c1b- scl=P27 sda=P7    scan: [106]
$

Occasionally there are spurious additions to scan- that is a different, intermittent issue.

Observed behaviour

$ mpremote run test_nrfi2c.py
i2c0- scl=P5 sda=P4    scan: []
i2c1b- scl=P27 sda=P7    scan: []
$

### Additional Information

This occured with the preview updates after 20260501.  It appears the major(?) change was `nrfx` updates.

Fails:

https://micropython.org/resources/firmware/SEEED_XIAO_NRF52-20260507-v1.29.0-preview.177.ge496000efc.uf2

Works:
https://micropython.org/resources/firmware/SEEED_XIAO_NRF52-20260501-v1.29.0-preview.115.g9f396bba8d.uf2



### Code of Conduct

Yes, I agree

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions