nRF54L15DK I2C/TWI issues

Hello everyone,

I am testing out I2C on the nRF54L15 for a custom PCB project.

I first tested a simple mpu6050 sensor on &i2c21 on pins P1.11 for SCL and P1.12 for SDA.

I am just building it in a minimal sample so there is nothing in the main.

To test i am using CONFIG_SHELL and CONFIG_I2C_SHELL with CoolTerm.

With this setup it works and i can see the device

But when i try to change it to P0.04 for SCL and P0.03 for SDA using &i2c30 it cannot find the device anymore.

I have also disabled uart30 because the CTS uses P0.03. But it cannot see the device using shell

The device also shows up as disabled on the terminal. And the scanning is also really slow for some reason, I don't know.

This is the overlay file in the project:

Any ideas what could be causing this?

Many thanks,

Jack

Parents
  • Hi!

    But when i try to change it to P0.04 for SCL and P0.03 for SDA using &i2c30 it cannot find the device anymore.

    I have also disabled uart30 because the CTS uses P0.03. But it cannot see the device using shell

    To rule out issues with P0.03 , does P0.04 and P0.5 work better?

  • I have tried some more configurations. Somehow, the uneven pins seem to be causing an issue. (With SCL only on P0.03 or P0.04 because of clock pins) I have tried every combination of pins, but if there is something with an uneven pin in it, the device cannot be found. It acts as if there is nothing connected on the bus.

    SCL pin  SDA pin Works?
    P0.03 P0.04 No
    P0.04 P0.03 No
    P0.04 P0.02 Yes
    P0.04 P0.01 No
    P0.04 P0.00 Yes
    P0.03 P0.02 No
    P0.03 P0.01 No
    P0.03 P0.00 No

    While this is theoretically a workaround, I have already ordered a PCB with Pins P0.03 and P0.04 connected to the I2C-Bus.

    I only have one nRF54L15DK currently, so I cannot check if it is a board issue. Do you think you could replicate it? My program is just the minimal sample with I2C shell following this guide: https://blog.golioth.io/how-to-use-zephyr-shell-for-interactive-prototyping-with-i2c-sensors/

    And using this overlay to configure I2C with my test sensor (MPU-6050 breakout I had on hand)

    gst_nrf54_nrf54l15_cpuapp.overlay

  • Small update. I am now in office and have tried a different nRF54L15DK. Still the same issues. But on a small number of occasion the device(MPU6050) was label as (READY) in the device list on the I2C30 but i still could not communicate with it in any way and doesn't show up when i use the I2C scan. while on my own DK i haven't even seen it as ready once.

Reply
  • Small update. I am now in office and have tried a different nRF54L15DK. Still the same issues. But on a small number of occasion the device(MPU6050) was label as (READY) in the device list on the I2C30 but i still could not communicate with it in any way and doesn't show up when i use the I2C scan. while on my own DK i haven't even seen it as ready once.

Children
Related