I am trying for RPi Pico to act as an I2C Slave to emulate AHT21 sensor. I using MicroPython. My problem is the Master does not support clock stretching and Python cannot service the IRQ fast enough consistently. I wanted to use DMA to bypass this. I cannot find a way to prepare the DMA data in advance. It seems the I2C interface keeps the Tx FIFO flushed (and DREQ_I2C0_TX asserted) until it is addressed. This immediately drains all data prepared for the Tx FIFO in the DMA.
Statistics: Posted by Smajdalf — Fri Jan 09, 2026 9:17 pm