Compile Arduino libs with ESP_LOGx

There are 2 primary approaches and both of them involve editing file configs/defconfig.common. Edit the file directly and then build. Later you can git restore configs/defconfig.common to go back. Copy the file cp configs/defconfig.common configs/defconfig.debug and edit the debug version.

vim configs/defconfig.common or vim configs/defconfig.debug

Edit line 44 containing by default CONFIG_LOG_DEFAULT_LEVEL_ERROR=y to one of the following lines depending on your desired log level:

CONFIG_LOG_DEFAULT_LEVEL_NONE=y # No output
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y # Errors - default
CONFIG_LOG_DEFAULT_LEVEL_WARN=y # Warnings
CONFIG_LOG_DEFAULT_LEVEL_INFO=y # Info
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y # Debug
CONFIG_LOG_DEFAULT_LEVEL_VERBOSE=y # Verbose

Then simply build the libs for all SoCs or one specific SoC. Note that building for all SoCs takes a lot of time, so if you are working only with specific SoC(s), build only for those.

Note

If you have copied the defconfig file and the debug settings are in file configs/defconfig.debug add flag debug to compilation command. Example : ./build.sh debug

  • Option 1: Build for all SoCs: ./build.sh

  • Option 2: Build for one SoC: ./build.sh -t <soc>. The exact text to choose the SoC:

    • esp32

    • esp32s2

    • esp32c3

    • esp32s3

    • Example: ./build.sh -t esp32

    • A wrong format or non-existing SoC will result in the error sed: can’t read sdkconfig: No such file or directory