docs(socs): Add missing SoCs and features to documentation (#12112)

* docs(socs): Add missing SoCs and features to documentation

* docs(table): Improve table information

* docs(matter): Fix matter support

* ci(pre-commit): Apply automatic fixes

* fix(pre-commit): Apply code suggestions

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
This commit is contained in:
Lucas Saavedra Vaz
2025-12-10 18:35:29 -03:00
committed by GitHub
parent b2ae61e842
commit 2b15254d0b
10 changed files with 160 additions and 77 deletions

View File

@@ -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)

View File

@@ -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;
}

24
docs/_static/custom.css vendored Normal file
View File

@@ -0,0 +1,24 @@
/* 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;
}

View File

@@ -6,6 +6,9 @@ from esp_docs.conf_docs import * # noqa: F403,F401
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_context["github_repo"] = "arduino-esp32" # noqa: F405
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

View File

@@ -18,10 +18,16 @@ The ESP32 is divided by family:
* ESP32
* Wi-Fi, BT and BLE 4
* ESP32-C2 [#rebuild-required]_
* 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 [#rebuild-required]_
* Wi-Fi 6, BLE 5
* ESP32-H2
* BLE 5 and IEEE 802.15.4
* ESP32-P4
@@ -31,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

View File

@@ -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

View File

@@ -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 <esp-idf_component.html>`_ or the
`Lib Builder documentation <lib_builder.html>`_, respectively.

View File

@@ -2,77 +2,114 @@
Libraries
#########
Here is where the Libraries API's descriptions are located:
Arduino libraries help you use the features of the ESP32 family of chips with the familiar Arduino API.
Supported Peripherals
---------------------
Supported Features and Peripherals
----------------------------------
Currently, the Arduino ESP32 supports the following peripherals with Arduino APIs.
Currently, the Arduino ESP32 supports almost everything available on the ESP32 family with an Arduino-like API.
+---------------+-------+-------+-------+-------+-------+-------+-------+-------+
| 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) |
+---------------+-------+-------+-------+-------+-------+-------+-------+-------+
Not all features are available on all SoCs. Please check the `Product Selector <https://products.espressif.com>`_ page
for more details.
Notes
^^^^^
Here is a matrix of the library support status for the main features and peripherals per SoC:
(1) ESP32-P4 calibration schemes not supported yet in IDF and ADC Continuous also lacks IDF support.
- |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
(2) SPI Ethernet is supported by all ESP32 families and RMII only for ESP32 and ESP32-P4.
.. rst-class:: table-wrap
(3) ESP32-C3, C6, H2 only support USB CDC/JTAG
.. 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.
(4) ESP32-P4 only supports Wi-Fi through another SoC by using ``esp_hosted``.
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| 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| | |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| |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| 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| |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
.. note:: Some peripherals are not available for all ESP32 families. To see more details about it, see the corresponding SoC at `Product Selector <https://products.espressif.com>`_ page.
.. [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 <https://github.com/espressif/arduino-esp32/tree/master/libraries/Zigbee/examples/Zigbee_Gateway>`_ 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.
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 <https://github.com/espressif/arduino-esp32/tree/master/idf_component_examples/Arduino_ESP_Matter_over_OpenThread>`_ 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.
.. include:: common/datasheet.inc

View File

@@ -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

View File

@@ -28,6 +28,9 @@
{
"name": "ESP32-C3 Dev Board"
},
{
"name": "ESP32-C5 Dev Board"
},
{
"name": "ESP32-C6 Dev Board"
},