|
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 | C2 | C3 | C5 | C6 | C61 | H2 | P4 | S2 | S3 | Notes | |
14 | | -+===============+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+ |
15 | | -| ADC | Yes | Yes | Yes | 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 | N/A | N/A | N/A | | |
18 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
19 | | -| BLE | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Yes | (4) | |
20 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
21 | | -| DAC | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | | |
22 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
23 | | -| Ethernet | Yes | N/A | N/A | N/A | N/A | N/A | N/A | Yes | N/A | N/A | (2) | |
24 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
25 | | -| GPIO | Yes | Yes | Yes | 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 | N/A | N/A | N/A | | |
28 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
29 | | -| I2C | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
30 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
31 | | -| I2S | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
32 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
33 | | -| LEDC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
34 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
35 | | -| MIPI | N/A | N/A | N/A | 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 | N/A | N/A | N/A | | |
38 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
39 | | -| MSPI | N/A | N/A | N/A | N/A | N/A | N/A | N/A | No | N/A | N/A | | |
40 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
41 | | -| Pulse Counter | No | No | No | No | No | No | No | No | No | No | | |
42 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
43 | | -| RMT | Yes | Yes | Yes | Yes | Yes | N/A | Yes | Yes | Yes | Yes | | |
44 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
45 | | -| SDIO | No | No | No | No | No | No | No | No | No | No | | |
46 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
47 | | -| SDMMC | Yes | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Yes | | |
48 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
49 | | -| PSRAM | Yes | N/A | N/A | Yes | N/A | Yes | N/A | Yes | Yes | Yes | | |
50 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
51 | | -| Timer | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
52 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
53 | | -| Temp. Sensor | N/A | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
54 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
55 | | -| Thread | N/A | N/A | N/A | Yes | Yes | N/A | Yes | N/A | N/A | N/A | | |
56 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
57 | | -| Touch | Yes | N/A | N/A | N/A | N/A | N/A | N/A | Yes | Yes | Yes | | |
58 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
59 | | -| TWAI | No | N/A | No | No | No | N/A | No | No | No | No | | |
60 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
61 | | -| UART | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | |
62 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
63 | | -| USB | N/A | N/A | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | (3) | |
64 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
65 | | -| Wi-Fi | Yes | Yes | Yes | Yes | Yes | Yes | N/A | Yes | Yes | Yes | (4) | |
66 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
67 | | -| Zigbee | N/A | N/A | N/A | Yes | Yes | N/A | Yes | N/A | N/A | N/A | | |
68 | | -+---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
69 | | - |
70 | | -Notes |
71 | | -^^^^^ |
72 | | - |
73 | | -(1) ESP32-P4 calibration schemes not supported yet in IDF and ADC Continuous also lacks IDF support. |
74 | | - |
75 | | -(2) SPI Ethernet is supported by all ESP32 families and RMII only for ESP32 and ESP32-P4. |
76 | | - |
77 | | -(3) ESP32-C3, C5, C6, C61 and H2 only support USB CDC/JTAG |
78 | | - |
79 | | -(4) ESP32-P4 only supports Wi-Fi and BLE through another SoC by using ``esp_hosted``. |
80 | | - |
81 | | -.. 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 substitions 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 | +| MIPI CSI | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | |
| 55 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 56 | +| MIPI DSI | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | |
| 57 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 58 | +| Motor PWM | |no| | |n/a| | |n/a| | |no| | |no| | |n/a| | |no| | |no| | |n/a| | |no| | |
| 59 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 60 | +| MSPI | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |no| | |n/a| | |n/a| | |
| 61 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 62 | +| Pulse Counter | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |no| | |
| 63 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 64 | +| RMT | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | |yes| | |yes| | |yes| | |
| 65 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 66 | +| SDIO | |no| | |n/a| | |n/a| | |no| | |no| | |no| | |n/a| | |no| | |n/a| | |no| | |
| 67 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 68 | +| SDMMC | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |
| 69 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 70 | +| PSRAM | |yes| | |n/a| | |n/a| | |yes| | |n/a| | |yes| | |n/a| | |yes| | |yes| | |yes| | |
| 71 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 72 | +| Thread | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |n/a| | |yes| | |n/a| | |n/a| | |n/a| | |
| 73 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 74 | +| Timer | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |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 | +| Touch | |yes| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |yes| | |
| 81 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 82 | +| CAN-FD/TWAI | |no| | |n/a| | |no| | |no| | |no| | |n/a| | |no| | |no| | |no| | |no| | |
| 83 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 84 | +| UART | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |
| 85 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 86 | +| USB OTG | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |yes| | |
| 87 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 88 | +| USB Serial | |n/a| | |n/a| | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | |
| 89 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 90 | +| Wi-Fi [2]_ | |yes| | |yes| | |yes| | |yes| | |yes| | |yes| | |n/a| | |yes| | |yes| | |yes| | |
| 91 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 92 | +| Zigbee [5]_ | |n/a| | |n/a| | |n/a| | |yes| | |yes| | |n/a| | |yes| | |n/a| | |n/a| | |n/a| | |
| 93 | ++---------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ |
| 94 | + |
| 95 | +.. [1] ESP32-P4 calibration schemes not supported yet in IDF and ADC Continuous also lacks IDF support. |
| 96 | +
|
| 97 | +.. [2] ESP32-P4 only supports Wi-Fi and BLE through another SoC by using ``ESP-Hosted``. |
| 98 | +
|
| 99 | +.. [3] ESP-NOW is not supported through ``ESP-Hosted``. |
| 100 | +
|
| 101 | +.. [4] SPI Ethernet is supported by all ESP32 families and RMII only for ESP32 and ESP32-P4. |
| 102 | +
|
| 103 | +.. [5] Non-native Zigbee SoCs can also run Zigbee, but must use another SOC (with Zigbee radio) as a RCP connected by UART/SPI. |
| 104 | + Check the `Gateway example <https://github.com/espressif/arduino-esp32/tree/master/libraries/Zigbee/examples/Zigbee_Gateway>`_ for more details. |
82 | 105 |
|
83 | 106 | .. note:: The ESP32-C2 and ESP32-C61 are only supported using Arduino as an ESP-IDF component or by rebuilding the static libraries. |
84 | 107 |
|
|
0 commit comments