2025-03-17 9:09 AM
Hi,
We are using an ESP32-S3 device as the I2C master to communicate with STM32G070CBT processors operating in I2C bootloader mode. We have two revisions (Revision B and Revision Y) of the STM32G070CBT processors.
When probing the STM32 I2C bootloader at address 0x51, Revision B responds successfully without any issues. However, using the exact same hardware and configuration, Revision Y fails to respond, resulting in an I2C transaction timeout:
E (13891) i2c.master: I2C transaction timeout detected
E (13891) i2c.master: probe device timeout. Please check if xfer_timeout_ms and pull-ups are correctly set up
Important details:
We confirmed the STM32 bootloader mode is enabled correctly for both revisions.
Hardware connections and pull-up resistors remain identical.
Lowering I2C speed to 100 kHz doesn't resolve the issue.
Issue specifically arises when using ESP32-S3 with ESP-IDF's latest I2C driver. Older versions of the ESP-IDF I2C driver do not exhibit this problem.
We suspect there may be subtle differences between STM32G070 Revision B and Revision Y regarding their I2C bootloader implementation. Could there be differences in I2C bootloader behavior or timing requirements between these revisions? Any guidance or documentation highlighting potential differences between these revisions would be greatly appreciated.
Thank you for your support.
2025-03-17 9:23 AM
Did you check the bootloader version? There is this interesting note in the version changes.
You could also download the contents of the system flash with STM32CubeProgrammer and compare them.
2025-03-18 1:02 AM
We read the bootloader version using CubeProgrammer. Revision Y appears as v11.3, while Revision B appears as v11.2.
In the AN2606 document, the difference is noted as:
"Compatibility break on boot sequence versus older versions."
As a result, an initialization of hardware peripherals step has been added to the bootloader sequence.
How could this difference impact the behavior?
Note: The tests were conducted after performing a full chip erase on both Revision B and Revision Y boards.
2025-03-18 6:03 AM
I can't see how that would affect the results you're seeing.
Can you look at the signals on the I2C lines? Since these are not the same hardware, can you swap one chip to the other board to test?