|
2 | 2 | Libraries |
3 | 3 | ######### |
4 | 4 |
|
5 | | -Here is where the Libraries API's descriptions are located: |
6 | | - |
7 | | -Supported Peripherals |
8 | | ---------------------- |
9 | | - |
10 | | -Currently, the Arduino ESP32 supports the following peripherals with Arduino APIs. |
11 | | - |
12 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
13 | | -| Peripheral | ESP32 | C3 | C6 | H2 | P4 | S2 | S3 | Notes | |
14 | | -+===============+=======+=======+=======+=======+=======+=======+=======+=======+ |
15 | | -| ADC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | (1) | |
16 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
17 | | -| BT Classic | Yes | N/A | N/A | N/A | N/A | N/A | N/A | | |
18 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
19 | | -| BLE | Yes | Yes | Yes | Yes | No | N/A | Yes | | |
20 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
21 | | -| DAC | Yes | N/A | N/A | N/A | Yes | Yes | N/A | | |
22 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
23 | | -| Ethernet | Yes | N/A | N/A | N/A | Yes | N/A | N/A | (2) | |
24 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
25 | | -| GPIO | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
26 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
27 | | -| Hall Sensor | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | |
28 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
29 | | -| I2C | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
30 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
31 | | -| I2S | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
32 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
33 | | -| LEDC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
34 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
35 | | -| MIPI | N/A | N/A | N/A | N/A | No | N/A | N/A | | |
36 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
37 | | -| Motor PWM | No | N/A | N/A | N/A | N/A | N/A | N/A | | |
38 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
39 | | -| MSPI | N/A | N/A | N/A | N/A | No | N/A | N/A | | |
40 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
41 | | -| Pulse Counter | No | No | No | No | No | No | No | | |
42 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
43 | | -| RMT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
44 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
45 | | -| SDIO | No | No | No | No | No | No | No | | |
46 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
47 | | -| SDMMC | Yes | N/A | N/A | N/A | N/A | N/A | Yes | | |
48 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
49 | | -| Timer | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
50 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
51 | | -| Temp. Sensor | N/A | Yes | Yes | Yes | Yes | Yes | Yes | | |
52 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
53 | | -| Touch | Yes | N/A | N/A | N/A | Yes | Yes | Yes | | |
54 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
55 | | -| TWAI | No | No | No | No | No | No | No | | |
56 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
57 | | -| UART | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
58 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
59 | | -| USB | N/A | Yes | Yes | Yes | Yes | Yes | Yes | (3) | |
60 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
61 | | -| Wi-Fi | Yes | Yes | Yes | N/A | Yes | Yes | Yes | (4) | |
62 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+ |
63 | | - |
64 | | -Notes |
65 | | -^^^^^ |
66 | | - |
67 | | -(1) ESP32-P4 calibration schemes not supported yet in IDF and ADC Continuous also lacks IDF support. |
68 | | - |
69 | | -(2) SPI Ethernet is supported by all ESP32 families and RMII only for ESP32 and ESP32-P4. |
70 | | - |
71 | | -(3) ESP32-C3, C6, H2 only support USB CDC/JTAG |
72 | | - |
73 | | -(4) ESP32-P4 only supports Wi-Fi through another SoC by using ``esp_hosted``. |
74 | | - |
75 | | -.. 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. |
| 5 | +Arduino libraries help you use the features of the ESP32 family of chips with the familiar Arduino API. |
| 6 | + |
| 7 | +Supported Features and Peripherals |
| 8 | +---------------------------------- |
| 9 | + |
| 10 | +Currently, the Arduino ESP32 supports almost everything available on the ESP32 family with an Arduino-like API. |
| 11 | + |
| 12 | +Not all features are available on all SoCs. Please check the `Product Selector <https://products.espressif.com>`_ page |
| 13 | +for more details. |
| 14 | + |
| 15 | +Here is a matrix of the library support status for the main features and peripherals per SoC: |
| 16 | + |
| 17 | +- |yes| Supported through the Arduino Core |
| 18 | +- |no| Not supported through the Arduino Core. It can still be used through the ESP-IDF API, but might require rebuilding the static libraries. |
| 19 | +- |n/a| Not available on the SoC |
| 20 | + |
| 21 | +.. rst-class:: table-wrap |
| 22 | + |
| 23 | +.. Using substitutions rather than emojis directly because in macOS vscode the emojis don't take a fixed space in the text |
| 24 | + and the table looks weird and hard to edit. This is a workaround to make the table easier to edit. Just write |
| 25 | + |yes|, |no|, |n/a| instead of emojis. |
| 26 | +
|
| 27 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 28 | +| Feature | ESP32 | C2 | C3 | C5 | C6 | C61 | H2 | P4 | S2 | S3 | |
| 29 | ++======================+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+ |
| 30 | +| ADC [1]_ | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |
| 31 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 32 | +| BT Classic | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |
| 33 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 34 | +| BLE [2]_ | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | |
| 35 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 36 | +| DAC | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |n/a| | |
| 37 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 38 | +| ESP-NOW [3]_ | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |n/a| | |yes| | |yes| | |
| 39 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 40 | +| Ethernet [4]_ | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |n/a| | |n/a| | |
| 41 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 42 | +| GPIO | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |
| 43 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 44 | +| Hall Sensor | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |
| 45 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 46 | +| I2C | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |
| 47 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 48 | +| I2S | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |
| 49 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 50 | +| I3C | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | |
| 51 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 52 | +| LEDC | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |
| 53 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 54 | +| Matter (Thread) [6]_ | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |n/a| | |yes| | |n/a| | |n/a| | |n/a| | |
| 55 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 56 | +| Matter (Wi-Fi) | |yes| | |no| | |yes| | |yes| | |yes| | |no| | |n/a| | |n/a| | |yes| | |yes| | |
| 57 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 58 | +| MIPI CSI | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | |
| 59 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 60 | +| MIPI DSI | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | |
| 61 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 62 | +| Motor PWM | |no| | |n/a| | |n/a| | |no| | |no| | |n/a| | |no| | |no| | |n/a| | |no| | |
| 63 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 64 | +| MSPI | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | |
| 65 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 66 | +| Pulse Counter | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |
| 67 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 68 | +| RMT | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | |yes| | |yes| | |yes| | |
| 69 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 70 | +| SDIO | |no| | |n/a| | |n/a| | |no| | |no| | |no| | |n/a| | |no| | |n/a| | |no| | |
| 71 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 72 | +| SDMMC | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |
| 73 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 74 | +| PSRAM | |yes| | |n/a| | |n/a| | |yes| | |n/a| | |yes| | |n/a| | |yes| | |yes| | |yes| | |
| 75 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 76 | +| Temp. Sensor | |n/a| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |
| 77 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 78 | +| Thread | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |n/a| | |yes| | |n/a| | |n/a| | |n/a| | |
| 79 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 80 | +| Timer | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |
| 81 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 82 | +| Touch | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |yes| | |
| 83 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 84 | +| TWAI/CAN-FD | |no| | |n/a| | |no| | |no| | |no| | |n/a| | |no| | |no| | |no| | |no| | |
| 85 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 86 | +| UART | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |
| 87 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 88 | +| USB OTG | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |yes| | |
| 89 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 90 | +| USB Serial | |n/a| | |n/a| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | |
| 91 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 92 | +| Wi-Fi [2]_ | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | |yes| | |yes| | |
| 93 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 94 | +| Zigbee [5]_ | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |n/a| | |yes| | |n/a| | |n/a| | |n/a| | |
| 95 | ++----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 96 | + |
| 97 | +.. [1] ESP32-P4 calibration schemes not supported yet in IDF and ADC Continuous also lacks IDF support. |
| 98 | +
|
| 99 | +.. [2] ESP32-P4 only supports Wi-Fi and BLE through another SoC by using ``ESP-Hosted``. |
| 100 | +
|
| 101 | +.. [3] ESP-NOW is not supported through ``ESP-Hosted``. |
| 102 | +
|
| 103 | +.. [4] SPI Ethernet is supported by all ESP32 families and RMII only for ESP32 and ESP32-P4. |
| 104 | +
|
| 105 | +.. [5] Non-native Zigbee SoCs can also run Zigbee, but must use another SoC (with Zigbee radio) as a RCP connected by UART/SPI. |
| 106 | + Check the `Gateway example <https://github.com/espressif/arduino-esp32/tree/master/libraries/Zigbee/examples/Zigbee_Gateway>`_ for more details. |
| 107 | +
|
| 108 | +.. [6] Matter over Thread is supported by our library but is not included in the pre-compiled libraries for ESP32-C6 and ESP32-C5. |
| 109 | + In order to use Matter over Thread, you need to use Arduino as an ESP-IDF component or rebuild the static libraries. |
| 110 | + 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. |
| 111 | +
|
| 112 | +.. note:: The ESP32-C2 and ESP32-C61 are only supported using Arduino as an ESP-IDF component or by rebuilding the static libraries. |
76 | 113 |
|
77 | 114 | .. include:: common/datasheet.inc |
78 | 115 |
|
|
0 commit comments