I2C Timeout isue ESP32

Hi
2 Month before I had a running code.
I find out that there is a problem with timeout threshold in latest esp32 version

I want to go back to an older platform (5.2) but than I get compiler Problems.
The Code that works before don’t compile.

So my question. How to get back to the Versions of all 2 Month before

regards

Joerg

Which Espressif32 Platform versions do you have installed right now?

If you use platform = espressif32 without fixing it to a specific platform version, the version with the highest version number will be picked by platformio.

I am a bit confused about your Arduino version “2.3.5”. There never was such an Espressif Arduino version. The latest 2.x version was 2.0.17 (platform-espressif32 6.8.0 - 6.10.0) - See this list

There also was no Espressif Arduino version which based on ESP-IDF 5.2 (see the list above).

Did you install pioarduino to get the latest Espressif Arduino core (3.x) ?
If so, this version will be picked up by platformio as it has the highest version number. The change from 2.x to 3.x comes with a lot of API changes which breaks existing code - See Migration from 2.x to 3.0 - - — Arduino ESP32 latest documentation

If you want to go back to a specific version, simply change the platform setting in your platformio.ini

Example, to get Espressif Arduino 2.0.9 based on ESP-IDF 4.4.4:
platform = espressif32 @ 6.3.2

I’m having the same problem on my arduino platform, going back versions didn’t help me. Let me know if you find a solution!

So you are using the exact same (but still unknown) espressif32 platform version? And you also have tried a newer Espressif Arduino 3.x by using pioarduino? :wink:

The problem was fixed in latest version when use

platform = espressif32

thanks for Your try to help, sorry for late responce

regards

Joerg

The situation is still unclear as there is no version specified.

platform = espressif32 in your platformio.ini will either

  • install the latest available official espressif32 platform by PlatformIO if no espressif32 platform is installed to your system
  • or use the espressif32 platform on your system wich has the highest version number

You have to check which versions are installed on your system or have a look at the output during a build.

Example for installed platforms:


Highest available version: 54.3.20 (pioarduino → Espressif Arduino 3.2.0)

Build-Output Example:

Processing esp32dev (platform: espressif32; board: esp32dev; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (54.3.20) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 3.2.0 
 - framework-arduinoespressif32-libs @ 5.4.0+sha.2f7dcd862a 
 - tool-esptoolpy @ 4.8.9 
 - tool-mklittlefs @ 3.2.0 
 - tool-riscv32-esp-elf-gdb @ 14.2.0+20240403 
 - tool-xtensa-esp-elf-gdb @ 14.2.0+20240403 
 - toolchain-xtensa-esp-elf @ 14.2.0+20241119

Note these lines:

PLATFORM: Espressif 32 (54.3.20) > Espressif ESP32 Dev Module
...
- framework-arduinoespressif32 @ 3.2.0 

The project is using Espressif Arduino 3.2.0.


If you want to stick your project to a specific version you have to specify the version of the platform to be used. Example: official espressif32 platform 6.11.0 by PlatformIO:

platform = espressif32 @ 6.11.0

Build-Ouput:

Processing esp32dev (platform: espressif32 @ 6.11.0; board: esp32dev; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (6.11.0) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 3.20017.241212+sha.dcc1105b 
 - tool-esptoolpy @ 1.40501.0 (4.5.1) 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5

Note these lines:

PLATFORM: Espressif 32 (6.11.0) > Espressif ESP32 Dev Module
...
 - framework-arduinoespressif32 @ 3.20017.241212+sha.dcc1105b 

The project is using Espressif Aruduino version 2.0.17.


What’s the Espressif Arduino Version you’re using in your project?