From 8182550cf279ac14de851ce2e621fe11885c5e40 Mon Sep 17 00:00:00 2001 From: Matthew Date: Wed, 25 Feb 2026 05:25:52 -0800 Subject: [PATCH 1/4] docs: add sdkconfig configuration section for ESP-IDF (#400) Document two sdkconfig features for ESP-IDF projects: - board_build.esp-idf.sdkconfig_path for custom sdkconfig output path - SDKCONFIG_DEFAULTS layering via board_build.cmake_extra_args for maintaining small defaults files instead of the full generated config Links to integration test examples in platform-espressif32 (PR #1718). --- platforms/espressif32_extra.rst | 43 +++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/platforms/espressif32_extra.rst b/platforms/espressif32_extra.rst index 29253130f9..dab1d5f655 100644 --- a/platforms/espressif32_extra.rst +++ b/platforms/espressif32_extra.rst @@ -197,6 +197,49 @@ Examples: [env:custom_builtin_table] board_build.partitions = no_ota.csv +sdkconfig Configuration (ESP-IDF) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ESP-IDF projects use ``sdkconfig`` files to configure the SDK. By default, +PlatformIO generates ``sdkconfig.`` (e.g. ``sdkconfig.esp32dev`` for +``[env:esp32dev]``). This file contains the full merged configuration and is +a build artifact, not a source file. + +**Custom sdkconfig path** + +Use ``board_build.esp-idf.sdkconfig_path`` to control where the generated +sdkconfig is written: + +.. code-block:: ini + + [env:myenv] + board_build.esp-idf.sdkconfig_path = sdkconfig.custom + +**SDKCONFIG_DEFAULTS layering** + +Instead of checking in the full generated ``sdkconfig.``, you can maintain +small defaults files containing only intentional overrides. Multiple files are +separated by semicolons — later files override earlier ones: + +.. code-block:: ini + + [env:myenv] + board_build.cmake_extra_args = + -DSDKCONFIG_DEFAULTS="sdkconfig.common;sdkconfig.board" + +This enables patterns like: + +* ``sdkconfig.common`` — shared across all environments (committed) +* ``sdkconfig.board`` — board-specific overrides (committed) +* ``sdkconfig.local`` — developer-specific tweaks (gitignored) + +Add ``sdkconfig.*`` to ``.gitignore`` and only check in the defaults files. +This keeps diffs clean and makes your configuration intent explicit. + +See the `espidf-sdkconfig-defaults `__ +and `espidf-sdkconfig-custom-path `__ +examples for working projects. + Embedding Binary Data ~~~~~~~~~~~~~~~~~~~~~ From 298e6341d06d12dcdacc9baed8c4b252619daa28 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 11 Jun 2026 13:43:21 +0300 Subject: [PATCH 2/4] Depend on Python 3.7+ --- core/installation/requirements.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/installation/requirements.rst b/core/installation/requirements.rst index 82028f2f31..bfd69ad4ea 100644 --- a/core/installation/requirements.rst +++ b/core/installation/requirements.rst @@ -23,7 +23,7 @@ credit-card-sized computers (`Raspberry Pi `_, :Python Interpreter: - **Python 3.6+ or above**. See detailed instructions on how to + **Python 3.7+ or above**. See detailed instructions on how to :ref:`faq_install_python`. :Terminal Application: From 878e67f25b8e1c810a40c10eca01fbdda86a7ae0 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 11 Jun 2026 14:55:09 +0300 Subject: [PATCH 3/4] Add docs for "PLATFORMIO_DISABLE_UPGRADE_CHECK" env var and `-p` for pio run --- core/userguide/cmd_run.rst | 9 +++++++++ envvars.rst | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/core/userguide/cmd_run.rst b/core/userguide/cmd_run.rst index e61f43e599..25fe65fd6e 100644 --- a/core/userguide/cmd_run.rst +++ b/core/userguide/cmd_run.rst @@ -68,6 +68,15 @@ There are also built-in system targets: + ``envdump`` dump current build environment + +.. option:: + -p, --port + +Set both :option:`pio run --upload-port` and :option:`pio run --monitor-port` options simultaneously. +This option is a convenient way to specify the same port for both uploading +firmware and monitoring device output, streamlining the workflow for +users who want to use the same port for both operations. + .. option:: --upload-port diff --git a/envvars.rst b/envvars.rst index fb3fc858ac..bc0ea7c767 100644 --- a/envvars.rst +++ b/envvars.rst @@ -79,6 +79,11 @@ Disable progress bar for package/library downloader and uploader. This is useful when calling PlatformIO from subprocess and output is a ``pipe`` (not a ``tty``). The possible values are ``true`` and ``false``. Default is ``PLATFORMIO_DISABLE_PROGRESSBAR=false``. +.. envvar:: PLATFORMIO_DISABLE_UPGRADE_CHECK + +Disable upgrade availability checks. +The possible values are ``true`` and ``false``. Default is ``PLATFORMIO_DISABLE_UPGRADE_CHECK=false``. + .. envvar:: PLATFORMIO_SYSTEM_TYPE This environment variable allows you to manually specify the system type, overriding the automatic detection. From 4d581ea56db5c753b65f6941e1afa1d9cc595759 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 11 Jun 2026 15:21:42 +0300 Subject: [PATCH 4/4] Document an option to disable checking udev rules --- core/userguide/cmd_settings.rst | 12 ++++++++++++ envvars.rst | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/core/userguide/cmd_settings.rst b/core/userguide/cmd_settings.rst index 6f4b3eecdc..971371e47d 100644 --- a/core/userguide/cmd_settings.rst +++ b/core/userguide/cmd_settings.rst @@ -113,6 +113,18 @@ Default location for PlatformIO projects (PlatformIO Home). Verify the proxy server certificate against the list of supplied CAs. See also PlatformIO Core :ref:`piocore_install_proxy_configuration`. +.. _setting_disable_udev_rules_check: + +``disable_udev_rules_check`` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:Default: No +:Values: Yes/No + +Disable check for udev rules on Linux. +See :ref:`platformio_udev_rules` for more details about udev rules and +how to install them. + .. _setting_enable_telemetry: ``enable_telemetry`` diff --git a/envvars.rst b/envvars.rst index bc0ea7c767..d3ade53ff9 100644 --- a/envvars.rst +++ b/envvars.rst @@ -262,3 +262,7 @@ Allows one to override setting :ref:`setting_projects_dir`. .. envvar:: PLATFORMIO_SETTING_ENABLE_PROXY_STRICT_SSL Allows one to override setting :ref:`setting_enable_proxy_strict_ssl`. + +.. envvar:: PLATFORMIO_SETTING_DISABLE_UDEV_RULES_CHECK + +Allows one to override setting :ref:`setting_disable_udev_rules_check`.