WiFi iperf test difference ESP32 and ESP32-S3
Posted: Tue Jun 28, 2022 9:36 am
Hi,
I did some out-of-the-box WiFi testing with the espressif iperf example, between 2 ESP32-WROVER-E's (part of the ESP32-Ethernet-kit_A_V1.2) and similarly between 2 ESP-S3's (part of ESP32-S3-DevKitC-1 v1.0). I wanted to test the throughput between 2 identical modules, so the simple setup is as follows:
My IDF version is ESP-IDF v4.4.1.
The steps I followed:
Did someone else made the same observations and/or have an explanation?
Kind regards,
gd_code
I did some out-of-the-box WiFi testing with the espressif iperf example, between 2 ESP32-WROVER-E's (part of the ESP32-Ethernet-kit_A_V1.2) and similarly between 2 ESP-S3's (part of ESP32-S3-DevKitC-1 v1.0). I wanted to test the throughput between 2 identical modules, so the simple setup is as follows:
- +---------+ +---------+
- | | | |
- | ESP A +--------------+ ESP B |
- | AP | | STA |
- | | | |
- +---------+ +---------+
My IDF version is ESP-IDF v4.4.1.
The steps I followed:
- I set the idf.py set-target to esp32 and esp32s3 respectively, built and flashed to the devices.
- set ESP A to AP (`ap ssid [pass]`), set ESP B to station mode (sta ssid [pass])
- set TCP server and client (`iperf -s -i 3` and `iperf -c 192.168.4.1 -i 3 -t 30` resp.)
- same for UDP test, but with -u option attached
- Using the ESP32-S3, the WiFi AP SSID does not appear in my WiFi networks list on my PC or smartphone, while for the ESP32 this SSID does appear. It is however no problem on the ESP32-S3 to make a connection between the ESP32-S3 AP and ESP32-S3 station.
- For the ESP32-S3 the performance results are much less consistent than those of the ESP32 (see table)
- Module Protocol AP station throughput (Mbps)
- ESP32-S3 TCP server client ~4.5
- ESP32-S3 TCP client server ~0.4
- ESP32-S3 UDP server client ~65
- ESP32-S3 UDP client server ~0.37
- ESP32 TCP server client ~15
- ESP32 TCP client server ~15
- ESP32 UDP server client ~48
- ESP32 UDP client server ~48
Did someone else made the same observations and/or have an explanation?
Kind regards,
gd_code