weak i2c signal

I am using SparkFun MicroMod RP2040 Processor (https://www.sparkfun.com/products/17720) on SparkFun MicroMod Data Logging Carrier Board (https://www.sparkfun.com/products/16829)

The I2C fails to talk with i2c devices (have tried several devices).

I try to debug the port so I checked SDA/SCL with oscilloscope using https://github.com/raspberrypi/pico-exa … bus_scan.c

The clock falls to 0V.

The data “falls” 2.6V

I disconnected pullup resistors and using the internal pull up

gpio_pull_up(PICO_DEFAULT_I2C_SDA_PIN);

gpio_pull_up(PICO_DEFAULT_I2C_SCL_PIN);

there is no devices that connected and I see only one fall of the SCL (instead of at least 8 of the address).

Any suggestion why I am not see the SDA falls down while requesting device address?

Reconnect the pullup resistors. They are absolutely required for I2C function.

Droop in the data voltage is the direct result of the pullup resistances (impedances) being too high. 4.7K is typical, but you can lower the values, to 1K if necessary.

I reconnect the 2.2kOhm resistor and tried to change them to 10kOhm.

The yellow channel is SCL.

The green channel is SDA.

the signal rate is 100kHz and the pulse change from 3.3v to 0v and back in 10us (100kKz).

Do you have any suggestion why doesn’t see the second pulse of the clock?

As I see the signal doing all the way from 3.3v to 0v successfully so i guess the guess that the resistor rate is ok.

I found that in case of removing the function:

stdio_init_all();

The SCL works fine.

I want to work with I2C and UART.

PICO_DEFAULT_UART_TX_PIN = 0
PICO_DEFAULT_UART_RX_PIN = 1
PICO_DEFAULT_I2C_SDA_PIN = 4
PICO_DEFAULT_I2C_SCL_PIN = 5

In the datasheet it looks like the both interfaces can work together:

https://datasheets.raspberrypi.com/rp20 … asheet.pdf

Do you have any how can I use UART and I2C in the same project?