This component provides external wireless connectivity(Wi-Fi & Bluetooth) for ESP chips that do not have built-in wireless capabilities. The APIs used by this component are compatible with the Wi-Fi and Bluetooth component APIs in the ESP-IDF.
| Features | Supported | Sill not Supported |
|---|---|---|
| Virtual Wi-Fi interfaces | Station, SoftAP | Sniffer, Wi-Fi Aware (NAN) |
| Wi-Fi Modes | Station, SoftAP, Station/AP-coexistence mode | |
| Wi-Fi Protocols | 802.11 b/g/n | |
| Wi-Fi Security Modes | Open / WPA / WPA2 / WPA3 / WPA2-Enterprise / WPA3-Enterprise / WPS | WAPI / DPP |
| Power Save | Modem-sleep | |
| Wi-Fi Data Transmission | AMSDU, AMPDU, HT40, QoS | |
| Vendor Features | ESP-NOW, Long Range mode, SmartConfig, Channel State Information | |
| Scan | Fast scan, All-channel scan | |
| Antennas | Multiple | |
| Bluetooth features | Classic Bluetooth, BLE 4.2 |
- Supported Host : ESP32P4
- Supported Target : ESP8689
-
ESP32-P4 Core Board with HWD-124 ESP32-P4 Core ESP32_Sub
-
Hardware setup
- Pin Connections
ESP32P4 ESP8689 Function 42 EN Reset 43 BOOT Forcing ESP8689 in download mode 45 D1 Data 1 46 D0 Data 0 47 CLK Clock 48 CMD Command 49 D3 Data 3 50 D2 Data 2 - The ESP32P4 controls the reset of the ESP8689 through pin 42.
- Pin Connections
- SDIO Only
- Wi-Fi and Bluetooth, traffic for both runs over SDIO
| Classification | Supported APIs |
|---|---|
| Initialization | esp_wifi_init / esp_wifi_deinit |
| esp_wifi_start / esp_wifi_stop | |
| Configuration | esp_wifi_set_mode / esp_wifi_get_mode |
| esp_wifi_set_config / esp_wifi_get_config | |
| esp_wifi_set_storage | |
| esp_wifi_set_protocol / esp_wifi_get_protocol | |
| esp_wifi_set_country / esp_wifi_get_country | |
| esp_wifi_set_country_code / esp_wifi_get_country_code | |
| esp_wifi_set_bandwidth / esp_wifi_get_bandwidth | |
| esp_wifi_set_mac / esp_wifi_get_mac | |
| esp_wifi_restore | |
| esp_wifi_set_vendor_ie / esp_wifi_set_vendor_ie_cb | |
| esp_wifi_set_channel / esp_wifi_get_channel | |
| esp_wifi_set_inactive_time / esp_wifi_get_inactive_time | |
| esp_wifi_set_rssi_threshold | |
| Connection | esp_wifi_connect / esp_wifi_disconnect |
| esp_wifi_sta_get_aid / esp_wifi_ap_get_sta_aid | |
| esp_wifi_sta_get_ap_info | |
| esp_wifi_ap_get_sta_list_with_ip / esp_wifi_ap_get_sta_list | |
| esp_wifi_deauth_sta | |
| esp_wifi_sta_get_rssi | |
| esp_wifi_sta_get_negotiated_phymode | |
| Scan | esp_wifi_scan_start / esp_wifi_scan_stop |
| esp_wifi_set_scan_parameters / esp_wifi_get_scan_parameters | |
| esp_wifi_scan_get_ap_num | |
| esp_wifi_scan_get_ap_records / esp_wifi_scan_get_ap_record | |
| esp_wifi_clear_ap_list | |
| Others | esp_wifi_80211_tx |
| esp_wifi_statis_dump |
-
Add this component to your project using
idf.py add-dependency esp-extconncommand. -
In the main file of the example, add the following line:
#ifdef CONFIG_ESP_EXT_CONN_ENABLE #include "esp_extconn.h" #endif
-
In your app_main() function, add the following line as the first line:
#ifdef CONFIG_ESP_EXT_CONN_ENABLE esp_extconn_config_t config = ESP_EXTCONN_CONFIG_DEFAULT(); esp_extconn_init(&config); #endif
-
Using esp_wifi components like built-in wireless chips :)
| Parameters | Value | |
| System Parameters | CACHE_L2_CACHE | 128 KB |
| CACHE_L2_CACHE_LINE | 64 B | |
| FREERTOS_HZ | 100 Hz | |
| Wi-Fi Parameters | WIFI_STATIC_RX_BUFFER_NUM | 24 |
| WIFI_DYNAMIC_RX_BUFFER_NUM | 128 | |
| WIFI_DYNAMIC_TX_BUFFER_NUM | 128 | |
| WIFI_RX_BA_WIN | 32 | |
| WIFI_IRAM_OPT | y | |
| WIFI_RX_IRAM_OPT | y | |
| Lwip Parameters | LWIP_IRAM_OPTIMIZATION | y |
| LWIP_TCPIP_RECVMBOX_SIZE | 64 | |
| LWIP_TCP_WND_DEFAULT | 65535 | |
| LWIP_TCP_SND_BUF_DEFAULT | 65535 | |
| LWIP_TCP_RECVMBOX_SIZE | 64 | |
| LWIP_TCP_ACCEPTMBOX_SIZE | 64 | |
| LWIP_UDP_RECVMBOX_SIZE | 64 | |
| Tasks Parameters | Iperf traffic Core ID | 0 |
| Iperf traffic Priority | 23 | |
| Lwip Core ID | 0 | |
| Lwip Priority | 23 | |
| Wi-Fi Core ID | 0 | |
| Wi-Fi Priority | 23 | |
| SDIO TX Core ID | 1 | |
| SDIO TX Priority | 24 | |
| SDIO RX Core ID | 1 | |
| SDIO RX Priority | 23 | |
| Router parameters | Type | ASUS RT-AX88U Pro |
| Bandwidth | 40MHZ | |
| Beacon interval (ms) | 1000 | |
| Mode | N only | |
[ ID] Interval Transfer Bandwidth
[ 1] 0.0000-1.0000 sec 5.69 MBytes 47.7 Mbits/sec
[ 1] 1.0000-2.0000 sec 5.77 MBytes 48.4 Mbits/sec
[ 1] 2.0000-3.0000 sec 5.79 MBytes 48.6 Mbits/sec
[ 1] 3.0000-4.0000 sec 5.81 MBytes 48.8 Mbits/sec
[ 1] 4.0000-5.0000 sec 5.90 MBytes 49.5 Mbits/sec
[ 1] 5.0000-6.0000 sec 5.87 MBytes 49.2 Mbits/sec
[ 1] 6.0000-7.0000 sec 5.88 MBytes 49.3 Mbits/sec
[ 1] 7.0000-8.0000 sec 5.80 MBytes 48.6 Mbits/sec
[ 1] 8.0000-9.0000 sec 5.80 MBytes 48.6 Mbits/sec
[ 1] 9.0000-10.0000 sec 5.79 MBytes 48.6 Mbits/sec
[ 1] 0.0000-10.0053 sec 58.1 MBytes 48.7 Mbits/sec Interval Bandwidth
0.0- 1.0 sec 51.24 Mbits/sec
1.0- 2.0 sec 51.04 Mbits/sec
2.0- 3.0 sec 51.59 Mbits/sec
3.0- 4.0 sec 51.44 Mbits/sec
4.0- 5.0 sec 51.58 Mbits/sec
5.0- 6.0 sec 51.45 Mbits/sec
6.0- 7.0 sec 51.25 Mbits/sec
7.0- 8.0 sec 51.91 Mbits/sec
8.0- 9.0 sec 51.66 Mbits/sec
9.0-10.0 sec 51.21 Mbits/sec
0.0-10.0 sec 51.44 Mbits/sec[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 1] 0.0000-1.0000 sec 7.69 MBytes 64.5 Mbits/sec 0.178 ms 0/5558 (0%)
[ 1] 1.0000-2.0000 sec 7.72 MBytes 64.7 Mbits/sec 0.172 ms 0/5580 (0%)
[ 1] 2.0000-3.0000 sec 7.73 MBytes 64.8 Mbits/sec 0.196 ms 0/5589 (0%)
[ 1] 3.0000-4.0000 sec 7.71 MBytes 64.7 Mbits/sec 0.178 ms 0/5576 (0%)
[ 1] 4.0000-5.0000 sec 7.72 MBytes 64.8 Mbits/sec 0.167 ms 0/5583 (0%)
[ 1] 5.0000-6.0000 sec 7.73 MBytes 64.8 Mbits/sec 0.163 ms 0/5588 (0%)
[ 1] 6.0000-7.0000 sec 7.73 MBytes 64.9 Mbits/sec 0.168 ms 22/5615 (0.39%)
[ 1] 7.0000-8.0000 sec 7.73 MBytes 64.8 Mbits/sec 0.177 ms 24/5614 (0.43%)
[ 1] 8.0000-9.0000 sec 7.72 MBytes 64.8 Mbits/sec 0.171 ms 20/5606 (0.36%)
[ 1] 9.0000-10.0000 sec 7.72 MBytes 64.7 Mbits/sec 0.176 ms 27/5607 (0.48%)
[ 1] 0.0000-10.0010 sec 77.2 MBytes 64.8 Mbits/sec 0.195 ms 93/55922 (0.17%)Interval Bandwidth
0.0- 1.0 sec 84.16 Mbits/sec
1.0- 2.0 sec 84.34 Mbits/sec
2.0- 3.0 sec 84.43 Mbits/sec
3.0- 4.0 sec 84.14 Mbits/sec
4.0- 5.0 sec 83.56 Mbits/sec
5.0- 6.0 sec 84.45 Mbits/sec
6.0- 7.0 sec 84.57 Mbits/sec
7.0- 8.0 sec 84.20 Mbits/sec
8.0- 9.0 sec 83.71 Mbits/sec
9.0-10.0 sec 83.86 Mbits/sec
0.0-10.0 sec 84.14 Mbits/secNote : Due to the limited clock frequency (40M) of SDIO, there may be slight packet loss in the UDP TX direction.