WiFi iperf test difference ESP32 and ESP32-S3

gd_code
Posts: 8
Joined: Tue Sep 07, 2021 2:56 pm

WiFi iperf test difference ESP32 and ESP32-S3

Postby gd_code » 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:

  1. +---------+              +---------+
  2. |         |              |         |
  3. |  ESP A  +--------------+  ESP B  |
  4. |   AP    |              |   STA   |
  5. |         |              |         |
  6. +---------+              +---------+

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
I made two observations I can not explain:
  • 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)
  1. Module  Protocol    AP  station throughput (Mbps)
  2. ESP32-S3 TCP    server  client  ~4.5
  3. ESP32-S3 TCP    client  server  ~0.4
  4. ESP32-S3 UDP    server  client  ~65
  5. ESP32-S3 UDP    client  server  ~0.37
  6. ESP32 TCP   server  client  ~15
  7. ESP32 TCP   client  server  ~15
  8. ESP32 UDP   server  client  ~48
  9. ESP32 UDP   client  server  ~48

Did someone else made the same observations and/or have an explanation?

Kind regards,
gd_code

rislec
Posts: 1
Joined: Mon Aug 15, 2022 6:07 pm

Re: WiFi iperf test difference ESP32 and ESP32-S3

Postby rislec » Mon Aug 15, 2022 7:45 pm

I have been experiencing some WiFi performance inconsistencies with a FeatherS3 using the esp32s3 that I did not observe when I started off with a TinyPICO using the esp32-pico-d4. I have been using the iperf example program for diagnostic purposes. The inconsistencies continue with two esp32s3 devices using the iperf program. I tested with one using the Soft AP and the other connecting to it via station mode and sending data in both directions. I tested with both using station mode to a WiFi 6 AP and sending data in both directions. It wasn't until I started using iperf2 on my laptop all using that WiFi 6 AP that the inconsistencies became somewhat diagnosable.

The esp32-pico-d4 board is very consistent and transmits around 10Mbits/sec via TCP. The esp32s3 boards would periodically achieve 10Mbits/sec when transmitting via TCP, but would more often achieve around 0.2Mbits/sec. The problem seems to be physically related as leaving the controller untouched appears to achieve unchanged results, but moving it throughout a test run could dramatically affect performance. I haven't determined a reliable manner to achieve my expected performance. I was going to try tracking their signal strength throughout a test when I get back to it, but I don't think the information is actionable to me without more diagnostic equipment. I currently hypothesize that the issue is related to the antenna and/or transmitter.

Who is online

Users browsing this forum: No registered users and 97 guests