esp-extconn

APACHE-2.0 License

Stars
6
Committers
6

ESP External Connection

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.

Supported Features

Supported ESP Chips

  • Supported Host : ESP32P4
  • Supported Target : ESP8689

Supported Boards

  • ESP32-P4_Function_EV_Board with ESP32_Module_SDIO_Converter_Board

  • Hardware setup

    • Pin Connections
      ESP32P4 ESP8689 Function
      53 EN Reset
      GND IO0 Forcing ESP8689 in download mode
      • The ESP32P4 controls the reset of the ESP8689 through pin 53.

Supported Transports

  • SDIO Only
    • Wi-Fi and Bluetooth, traffic for both runs over SDIO

Supported APIs

Step to enable this component in an example code:

  1. Add this component to your project using idf.py add-dependency esp-extconn command.

  2. In the main file of the example, add the following line:

    #ifdef CONFIG_ESP_EXT_CONN_ENABLE
    #include "esp_extconn.h"
    #endif
    
  3. 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
    
  4. Using esp_wifi components like built-in wireless chips :)

Throughput Performance

1. Parameters

2. Performance

1. TCP TX

[ 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

2. TCP RX

 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

3. UDP TX

[ 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%)

4. UDP RX

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/sec

Note : Due to the limited clock frequency (40M) of SDIO, there may be slight packet loss in the UDP TX direction.

Related Projects