From 193db0f100fc42f269a3c460e1053195c735929e Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Sat, 6 Dec 2025 18:55:03 -0300 Subject: [PATCH 1/5] docs(socs): Add missing SoCs and features to documentation --- README.md | 2 +- docs/en/boards/boards.rst | 8 +- docs/en/common/datasheet.inc | 4 + docs/en/getting_started.rst | 3 +- docs/en/libraries.rst | 114 ++++++++++++---------- package/package_esp32_index.template.json | 3 + 6 files changed, 78 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index e6a0eb2dffb..d8a08b00689 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Arduino core for the ESP32, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2, ESP32-P4, ESP32-S2 and ESP32-S3. +# Arduino core for the ESP32 family of SoCs [![Build Status](https://img.shields.io/github/actions/workflow/status/espressif/arduino-esp32/push.yml?branch=master&event=push&label=Compilation%20Tests)](https://github.com/espressif/arduino-esp32/actions/workflows/push.yml?query=branch%3Amaster+event%3Apush) [![Verbose Build Status](https://img.shields.io/github/actions/workflow/status/espressif/arduino-esp32/push.yml?branch=master&event=schedule&label=Compilation%20Tests%20(Verbose))](https://github.com/espressif/arduino-esp32/actions/workflows/push.yml?query=branch%3Amaster+event%3Aschedule) diff --git a/docs/en/boards/boards.rst b/docs/en/boards/boards.rst index 407b019a78b..0f156e17f3a 100644 --- a/docs/en/boards/boards.rst +++ b/docs/en/boards/boards.rst @@ -18,10 +18,16 @@ The ESP32 is divided by family: * ESP32 * Wi-Fi, BT and BLE 4 +* ESP32-C2 + * Wi-Fi and BLE 5 * ESP32-C3 * Wi-Fi and BLE 5 +* ESP32-C5 + * Dual-band Wi-Fi 6, BLE 5 and IEEE 802.15.4 * ESP32-C6 - * Wi-Fi, BLE 5 and IEEE 802.15.4 + * Wi-Fi 6, BLE 5 and IEEE 802.15.4 +* ESP32-C61 + * Wi-Fi 6, BLE 5 * ESP32-H2 * BLE 5 and IEEE 802.15.4 * ESP32-P4 diff --git a/docs/en/common/datasheet.inc b/docs/en/common/datasheet.inc index 7086a12d1a8..a4f580cd826 100644 --- a/docs/en/common/datasheet.inc +++ b/docs/en/common/datasheet.inc @@ -4,7 +4,9 @@ Datasheet * `ESP32`_ (Datasheet) * `ESP32-C2`_ (Datasheet) * `ESP32-C3`_ (Datasheet) +* `ESP32-C5`_ (Datasheet) * `ESP32-C6`_ (Datasheet) +* `ESP32-C61`_ (Datasheet) * `ESP32-H2`_ (Datasheet) * `ESP32-P4`_ (Datasheet) * `ESP32-S2`_ (Datasheet) @@ -14,7 +16,9 @@ Datasheet .. _ESP32: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf .. _ESP32-C2: https://www.espressif.com/sites/default/files/documentation/esp8684_datasheet_en.pdf .. _ESP32-C3: https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf +.. _ESP32-C5: https://www.espressif.com/sites/default/files/documentation/esp32-c5_datasheet_en.pdf .. _ESP32-C6: https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf +.. _ESP32-C61: https://www.espressif.com/sites/default/files/documentation/esp32-c61_datasheet_en.pdf .. _ESP32-H2: https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf .. _ESP32-P4: https://www.espressif.com/sites/default/files/documentation/esp32-p4_datasheet_en.pdf .. _ESP32-S2: https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf diff --git a/docs/en/getting_started.rst b/docs/en/getting_started.rst index 1b0f1bba87a..86b2fd692a1 100644 --- a/docs/en/getting_started.rst +++ b/docs/en/getting_started.rst @@ -39,6 +39,7 @@ SoC Stable Development Datasheet ========== ====== =========== ================================= ESP32 Yes Yes `ESP32`_ ESP32-C3 Yes Yes `ESP32-C3`_ +ESP32-C5 Yes Yes `ESP32-C5`_ ESP32-C6 Yes Yes `ESP32-C6`_ ESP32-H2 Yes Yes `ESP32-H2`_ ESP32-P4 Yes Yes `ESP32-P4`_ @@ -47,7 +48,7 @@ ESP32-S3 Yes Yes `ESP32-S3`_ ========== ====== =========== ================================= .. note:: - ESP32-C2 is also supported by Arduino-ESP32 but requires using Arduino as an ESP-IDF component or rebuilding the static libraries. + ESP32-C2 and ESP32-C61 are also supported by Arduino-ESP32 but require using Arduino as an ESP-IDF component or rebuilding the static libraries. For more information, see the `Arduino as an ESP-IDF component documentation `_ or the `Lib Builder documentation `_, respectively. diff --git a/docs/en/libraries.rst b/docs/en/libraries.rst index d9961d67b41..453132c07db 100644 --- a/docs/en/libraries.rst +++ b/docs/en/libraries.rst @@ -9,57 +9,63 @@ Supported Peripherals Currently, the Arduino ESP32 supports the following peripherals with Arduino APIs. -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Peripheral | ESP32 | C3 | C6 | H2 | P4 | S2 | S3 | Notes | -+===============+=======+=======+=======+=======+=======+=======+=======+=======+ -| ADC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | (1) | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| BT Classic | Yes | N/A | N/A | N/A | N/A | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| BLE | Yes | Yes | Yes | Yes | No | N/A | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| DAC | Yes | N/A | N/A | N/A | Yes | Yes | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Ethernet | Yes | N/A | N/A | N/A | Yes | N/A | N/A | (2) | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| GPIO | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Hall Sensor | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| I2C | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| I2S | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| LEDC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| MIPI | N/A | N/A | N/A | N/A | No | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Motor PWM | No | N/A | N/A | N/A | N/A | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| MSPI | N/A | N/A | N/A | N/A | No | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Pulse Counter | No | No | No | No | No | No | No | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| RMT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| SDIO | No | No | No | No | No | No | No | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| SDMMC | Yes | N/A | N/A | N/A | N/A | N/A | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Timer | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Temp. Sensor | N/A | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Touch | Yes | N/A | N/A | N/A | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| TWAI | No | No | No | No | No | No | No | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| UART | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| USB | N/A | Yes | Yes | Yes | Yes | Yes | Yes | (3) | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Wi-Fi | Yes | Yes | Yes | N/A | Yes | Yes | Yes | (4) | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Peripheral | ESP32 | C2 | C3 | C5 | C6 | C61 | H2 | P4 | S2 | S3 | Notes | ++===============+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+ +| ADC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | (1) | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| BT Classic | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| BLE | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Yes | (4) | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| DAC | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Ethernet | Yes | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | (2) | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| GPIO | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Hall Sensor | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| I2C | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| I2S | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| LEDC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| MIPI | N/A | N/A | N/A | N/A | N/A | N/A | N/A | No | N/A | N/A | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Motor PWM | No | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| MSPI | N/A | N/A | N/A | N/A | N/A | N/A | N/A | No | N/A | N/A | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Pulse Counter | No | No | No | No | No | No | No | No | No | No | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| RMT | Yes | Yes | Yes | Yes | Yes | N/A | Yes | Yes | Yes | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| SDIO | No | No | No | No | No | No | No | No | No | No | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| SDMMC | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| PSRAM | Yes | N/A | N/A | Yes | N/A | Yes | N/A | Yes | Yes | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Timer | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Temp. Sensor | N/A | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Thread | N/A | N/A | N/A | Yes | Yes | N/A | Yes | N/A | N/A | N/A | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Touch | Yes | N/A | N/A | N/A | N/A | N/A | N/A | Yes | Yes | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| TWAI | No | N/A | No | No | No | N/A | No | No | No | No | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| UART | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| USB | N/A | N/A | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | (3) | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Wi-Fi | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Yes | Yes | Yes | (4) | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Zigbee | N/A | N/A | N/A | Yes | Yes | N/A | Yes | N/A | N/A | N/A | | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ Notes ^^^^^ @@ -68,12 +74,14 @@ Notes (2) SPI Ethernet is supported by all ESP32 families and RMII only for ESP32 and ESP32-P4. -(3) ESP32-C3, C6, H2 only support USB CDC/JTAG +(3) ESP32-C3, C5, C6, C61 and H2 only support USB CDC/JTAG -(4) ESP32-P4 only supports Wi-Fi through another SoC by using ``esp_hosted``. +(4) ESP32-P4 only supports Wi-Fi and BLE through another SoC by using ``esp_hosted``. .. note:: Some peripherals are not available for all ESP32 families. To see more details about it, see the corresponding SoC at `Product Selector `_ page. +.. note:: The ESP32-C2 and ESP32-C61 are only supported using Arduino as an ESP-IDF component or by rebuilding the static libraries. + .. include:: common/datasheet.inc APIs diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 96af1b6d286..716af37fddb 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -28,6 +28,9 @@ { "name": "ESP32-C3 Dev Board" }, + { + "name": "ESP32-C5 Dev Board" + }, { "name": "ESP32-C6 Dev Board" }, From bf85900a62f3002beb12fbea1f13b9b6899032a0 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Tue, 9 Dec 2025 15:42:16 -0300 Subject: [PATCH 2/5] docs(table): Improve table information --- docs/_static/chatbot_widget.css | 14 +-- docs/_static/custom.css | 25 +++++ docs/conf_common.py | 8 +- docs/en/boards/boards.rst | 6 +- docs/en/libraries.rst | 183 ++++++++++++++++++-------------- docs/requirements.txt | 8 +- 6 files changed, 153 insertions(+), 91 deletions(-) create mode 100644 docs/_static/custom.css diff --git a/docs/_static/chatbot_widget.css b/docs/_static/chatbot_widget.css index c6585b0588d..2a9c1d8daf3 100644 --- a/docs/_static/chatbot_widget.css +++ b/docs/_static/chatbot_widget.css @@ -1,9 +1,9 @@ #kapa-widget-container { - z-index: 10000 !important; - position: absolute !important; - } + z-index: 10000 !important; + position: absolute !important; +} - .mantine-Modal-root { - z-index: 10000; - position: absolute; - } +.mantine-Modal-root { + z-index: 10000; + position: absolute; +} diff --git a/docs/_static/custom.css b/docs/_static/custom.css new file mode 100644 index 00000000000..32981965e45 --- /dev/null +++ b/docs/_static/custom.css @@ -0,0 +1,25 @@ +/* Custom styles for Arduino ESP32 documentation */ + +/* Wide table support - make content container wider */ +/* +.document { + max-width: 1100px !important; +} + +.wy-nav-content { + max-width: 1100px !important; +} +*/ + +/* Make tables scrollable when they exceed page width */ +.table-wrap { + overflow-x: auto; + max-width: 100%; +} + +.table-wrap table { + font-size: 0.9em; + width: auto !important; + display: table; +} + diff --git a/docs/conf_common.py b/docs/conf_common.py index 0960d7c4315..7f6e9324d29 100644 --- a/docs/conf_common.py +++ b/docs/conf_common.py @@ -6,6 +6,9 @@ rst_prolog = """ .. |version| replace:: 3.3.4 .. |idf_version| replace:: 5.5 +.. |no| replace:: ❌ +.. |yes| replace:: ✅ +.. |n/a| replace:: ➖ """ languages = ["en"] @@ -29,7 +32,10 @@ html_static_path = ["../_static"] html_js_files = ["../_static/chatbot_widget_en.js"] -html_css_files = ["../_static/chatbot_widget.css"] +html_css_files = [ + "../_static/chatbot_widget.css", + "../_static/custom.css", +] # Conditional content diff --git a/docs/en/boards/boards.rst b/docs/en/boards/boards.rst index 0f156e17f3a..5de14119d6d 100644 --- a/docs/en/boards/boards.rst +++ b/docs/en/boards/boards.rst @@ -18,7 +18,7 @@ The ESP32 is divided by family: * ESP32 * Wi-Fi, BT and BLE 4 -* ESP32-C2 +* ESP32-C2 [#rebuild-required]_ * Wi-Fi and BLE 5 * ESP32-C3 * Wi-Fi and BLE 5 @@ -26,7 +26,7 @@ The ESP32 is divided by family: * Dual-band Wi-Fi 6, BLE 5 and IEEE 802.15.4 * ESP32-C6 * Wi-Fi 6, BLE 5 and IEEE 802.15.4 -* ESP32-C61 +* ESP32-C61 [#rebuild-required]_ * Wi-Fi 6, BLE 5 * ESP32-H2 * BLE 5 and IEEE 802.15.4 @@ -37,6 +37,8 @@ The ESP32 is divided by family: * ESP32-S3 * Wi-Fi and BLE 5 +.. [#rebuild-required] This SoC is only supported using Arduino as an ESP-IDF component or by rebuilding the static libraries. + For each family, we have SoC variants with some differentiation. The differences are more about the embedded flash and its size and the number of the cores (dual or single). The modules use the SoC internally, including the external flash, PSRAM (in some models) and other essential electronic components. Essentially, all diff --git a/docs/en/libraries.rst b/docs/en/libraries.rst index 453132c07db..af27934b539 100644 --- a/docs/en/libraries.rst +++ b/docs/en/libraries.rst @@ -2,83 +2,112 @@ Libraries ######### -Here is where the Libraries API's descriptions are located: - -Supported Peripherals ---------------------- - -Currently, the Arduino ESP32 supports the following peripherals with Arduino APIs. - -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Peripheral | ESP32 | C2 | C3 | C5 | C6 | C61 | H2 | P4 | S2 | S3 | Notes | -+===============+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+ -| ADC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | (1) | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| BT Classic | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| BLE | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Yes | (4) | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| DAC | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Ethernet | Yes | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | (2) | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| GPIO | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Hall Sensor | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| I2C | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| I2S | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| LEDC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| MIPI | N/A | N/A | N/A | N/A | N/A | N/A | N/A | No | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Motor PWM | No | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| MSPI | N/A | N/A | N/A | N/A | N/A | N/A | N/A | No | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Pulse Counter | No | No | No | No | No | No | No | No | No | No | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| RMT | Yes | Yes | Yes | Yes | Yes | N/A | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| SDIO | No | No | No | No | No | No | No | No | No | No | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| SDMMC | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| PSRAM | Yes | N/A | N/A | Yes | N/A | Yes | N/A | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Timer | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Temp. Sensor | N/A | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Thread | N/A | N/A | N/A | Yes | Yes | N/A | Yes | N/A | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Touch | Yes | N/A | N/A | N/A | N/A | N/A | N/A | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| TWAI | No | N/A | No | No | No | N/A | No | No | No | No | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| UART | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| USB | N/A | N/A | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | (3) | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Wi-Fi | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Yes | Yes | Yes | (4) | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Zigbee | N/A | N/A | N/A | Yes | Yes | N/A | Yes | N/A | N/A | N/A | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ - -Notes -^^^^^ - -(1) ESP32-P4 calibration schemes not supported yet in IDF and ADC Continuous also lacks IDF support. - -(2) SPI Ethernet is supported by all ESP32 families and RMII only for ESP32 and ESP32-P4. - -(3) ESP32-C3, C5, C6, C61 and H2 only support USB CDC/JTAG - -(4) ESP32-P4 only supports Wi-Fi and BLE through another SoC by using ``esp_hosted``. - -.. note:: Some peripherals are not available for all ESP32 families. To see more details about it, see the corresponding SoC at `Product Selector `_ page. +Arduino libraries help you use the features of the ESP32 family of chips with the familiar Arduino API. + +Supported Features and Peripherals +---------------------------------- + +Currently, the Arduino ESP32 supports almost everything available on the ESP32 family with an Arduino-like API. + +Not all features are available on all SoCs. Please check the `Product Selector `_ page +for more details. + +Here is a matrix of the library support status for the main features and peripherals per SoC: + +- |yes| Supported through the Arduino Core +- |no| Not supported through the Arduino Core. It can still be used through the ESP-IDF API, but might require rebuilding the static libraries. +- |n/a| Not available on the SoC + +.. rst-class:: table-wrap + +.. Using substitions rather than emojis directly because in macOS vscode the emojis don't take a fixed space in the text + and the table looks weird and hard to edit. This is a workaround to make the table easier to edit. Just write + |yes|, |no|, |n/a| instead of emojis. + ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Feature | ESP32 | C2 | C3 | C5 | C6 | C61 | H2 | P4 | S2 | S3 | ++======================+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+ +| ADC [1]_ | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| BT Classic | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| BLE [2]_ | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| DAC | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| ESP-NOW [3]_ | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |n/a| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Ethernet [4]_ | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |n/a| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| GPIO | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Hall Sensor | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| I2C | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| I2S | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| I3C | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| LEDC | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Matter (Thread) [6]_ | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |n/a| | |yes| | |n/a| | |n/a| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Matter (Wi-Fi) | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |n/a| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| MIPI CSI | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| MIPI DSI | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Motor PWM | |no| | |n/a| | |n/a| | |no| | |no| | |n/a| | |no| | |no| | |n/a| | |no| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| MSPI | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Pulse Counter | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |no| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| RMT | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| SDIO | |no| | |n/a| | |n/a| | |no| | |no| | |no| | |n/a| | |no| | |n/a| | |no| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| SDMMC | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| PSRAM | |yes| | |n/a| | |n/a| | |yes| | |n/a| | |yes| | |n/a| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Temp. Sensor | |n/a| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Thread | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |n/a| | |yes| | |n/a| | |n/a| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Timer | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Touch | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| TWAI/CAN-FD | |no| | |n/a| | |no| | |no| | |no| | |n/a| | |no| | |no| | |no| | |no| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| UART | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| USB OTG | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| USB Serial | |n/a| | |n/a| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Wi-Fi [2]_ | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | |yes| | |yes| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +| Zigbee [5]_ | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |n/a| | |yes| | |n/a| | |n/a| | |n/a| | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ + +.. [1] ESP32-P4 calibration schemes not supported yet in IDF and ADC Continuous also lacks IDF support. + +.. [2] ESP32-P4 only supports Wi-Fi and BLE through another SoC by using ``ESP-Hosted``. + +.. [3] ESP-NOW is not supported through ``ESP-Hosted``. + +.. [4] SPI Ethernet is supported by all ESP32 families and RMII only for ESP32 and ESP32-P4. + +.. [5] Non-native Zigbee SoCs can also run Zigbee, but must use another SOC (with Zigbee radio) as a RCP connected by UART/SPI. + Check the `Gateway example `_ for more details. + +.. [6] Matter over Thread is supported by our library but is not included in the pre-compiled libraries. + In order to use Matter over Thread, you need to use Arduino as an ESP-IDF component or rebuild the static libraries. + Check the `Arduino_ESP_Matter_over_OpenThread example `_ for more details. .. note:: The ESP32-C2 and ESP32-C61 are only supported using Arduino as an ESP-IDF component or by rebuilding the static libraries. diff --git a/docs/requirements.txt b/docs/requirements.txt index ef2ab88cb65..09e458b5caf 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,7 +1,7 @@ -sphinx==4.5.0 -esp-docs>=1.4.0 +sphinx==7.1.2 +esp-docs==2.1.1 sphinx-copybutton==0.5.0 -sphinx-tabs==3.2.0 -numpydoc==1.5.0 +sphinx-tabs==3.4.7 +numpydoc==1.10.0 standard-imghdr==3.13.0 Sphinx-Substitution-Extensions==2022.2.16 From 44ea4e7bd6720579cbbb8c90ced20fbbb3af0e8c Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Wed, 10 Dec 2025 10:46:05 -0300 Subject: [PATCH 3/5] docs(matter): Fix matter support --- docs/en/libraries.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/libraries.rst b/docs/en/libraries.rst index af27934b539..33aa6028439 100644 --- a/docs/en/libraries.rst +++ b/docs/en/libraries.rst @@ -53,7 +53,7 @@ Here is a matrix of the library support status for the main features and periphe +----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ | Matter (Thread) [6]_ | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |n/a| | |yes| | |n/a| | |n/a| | |n/a| | +----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Matter (Wi-Fi) | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |n/a| | |yes| | |yes| | +| Matter (Wi-Fi) | |yes| | |no| | |yes| | |yes| | |yes| | |no| | |n/a| | |n/a| | |yes| | |yes| | +----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ | MIPI CSI | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | +----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ @@ -105,7 +105,7 @@ Here is a matrix of the library support status for the main features and periphe .. [5] Non-native Zigbee SoCs can also run Zigbee, but must use another SOC (with Zigbee radio) as a RCP connected by UART/SPI. Check the `Gateway example `_ for more details. -.. [6] Matter over Thread is supported by our library but is not included in the pre-compiled libraries. +.. [6] Matter over Thread is supported by our library but is not included in the pre-compiled libraries for ESP32-C6 and ESP32-C5. In order to use Matter over Thread, you need to use Arduino as an ESP-IDF component or rebuild the static libraries. Check the `Arduino_ESP_Matter_over_OpenThread example `_ for more details. From 714ba2341f7f1c4d664460a02dad8fd9c5cb19d4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Wed, 10 Dec 2025 17:48:04 +0000 Subject: [PATCH 4/5] ci(pre-commit): Apply automatic fixes --- docs/_static/custom.css | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/_static/custom.css b/docs/_static/custom.css index 32981965e45..e75ee37555a 100644 --- a/docs/_static/custom.css +++ b/docs/_static/custom.css @@ -22,4 +22,3 @@ width: auto !important; display: table; } - From 96353e3ab23bf4e95b37044563499b541a14dc71 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Wed, 10 Dec 2025 16:44:28 -0300 Subject: [PATCH 5/5] fix(pre-commit): Apply code suggestions --- docs/en/libraries.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/libraries.rst b/docs/en/libraries.rst index 33aa6028439..c4032c786c7 100644 --- a/docs/en/libraries.rst +++ b/docs/en/libraries.rst @@ -20,7 +20,7 @@ Here is a matrix of the library support status for the main features and periphe .. rst-class:: table-wrap -.. Using substitions rather than emojis directly because in macOS vscode the emojis don't take a fixed space in the text +.. Using substitutions rather than emojis directly because in macOS vscode the emojis don't take a fixed space in the text and the table looks weird and hard to edit. This is a workaround to make the table easier to edit. Just write |yes|, |no|, |n/a| instead of emojis. @@ -102,7 +102,7 @@ Here is a matrix of the library support status for the main features and periphe .. [4] SPI Ethernet is supported by all ESP32 families and RMII only for ESP32 and ESP32-P4. -.. [5] Non-native Zigbee SoCs can also run Zigbee, but must use another SOC (with Zigbee radio) as a RCP connected by UART/SPI. +.. [5] Non-native Zigbee SoCs can also run Zigbee, but must use another SoC (with Zigbee radio) as a RCP connected by UART/SPI. Check the `Gateway example `_ for more details. .. [6] Matter over Thread is supported by our library but is not included in the pre-compiled libraries for ESP32-C6 and ESP32-C5.