[ESP32-S3] Geekble Nano TOE VS LWIP Iperf Performance Test
Ethernet performance comparison between ESP32-S3 with WIZnet TOE and LWIP using iperf tests
esspressif - ESP32-S3
x 1
Geekble - Geekble nano
x 1
Software Apps and online services
Esspressif - ESP-IDF
x 1
Introduction
Test Environment Configuration
MCU: ESP32-S3
TOE Chip: WIZnet W5500 (SPI Interface)
Tool: iperf3
Test scenarios
- Standard iperf test
- iperf test under Ping flood attack
- iperf Performance under CPU Load
Test Result - Standard iperf test
Average Bandwidth (iperf test results)
ESP32 + TOE : 34.8 Mbps
ESP32 + LWIP: 9.22 Mbps
Test Result - iperf test under Ping flood attack
A continuous Ping flood of approximately 1500 ICMP echo requests per second was applied to generate network load.
Average Bandwidth (iperf test results)
ESP32 + TOE : 34.3 Mbps
ESP32 + LWIP: 1.52 Mbps
The ESP32-S3 with TOE maintained stable throughput under both normal and Ping flood conditions.
While the LWIP-based setup showed severe performance degradation under heavy ICMP load,
the TOE-based system demonstrated almost no drop in bandwidth — clearly proving the benefit of hardware TCP/IP offloading.
Test Result - iperf Performance under CPU Load
Experiment Objective
To evaluate how much network performance degrades when a high-priority CPU load task runs on the ESP32-S3,
and to verify the effectiveness of WIZnet TOE’s hardware TCP/IP offloading in maintaining performance under CPU stress.
Test Conditions
Source code of the cpu_load_task function used to generate artificial CPU load.
It runs with a higher priority than the network task to intentionally increase CPU utilization.
cpu_load_task to FreeRTOS and assigning it to run on Core 0.Output of the FreeRTOS tasks command.
The load0 task operates with a higher priority than the iperf_traffic task, confirming the intended CPU load condition.
Comparison of average throughput between TOE and LWIP under CPU load.
While TOE showed only about a 25% reduction, LWIP performance dropped by approximately 49%.
| Category | Normal | Under CPU Load | Drop | Reduction Rate |
|---|---|---|---|---|
| TOE | 34.8 Mbps | 26.1 Mbps | ↓ 8.7 Mbps | ~25% decrease |
| LWIP | 9.22 Mbps | 4.66 Mbps | ↓ 4.56 Mbps | ~49% decrease |
Although the absolute drop in throughput appears larger for TOE,
the reduction rate of LWIP (approximately 49%) is nearly twice that of TOE (25%).
This indicates that TOE not only delivers higher overall throughput but also maintains much more stable performance under CPU stress.
In the TOE configuration, even when the CPU is heavily loaded,
TCP session management, retransmission control, and checksum calculations are handled by the hardware,
minimizing the performance impact.
In contrast, with LWIP, all TCP/IP processing is performed by the CPU itself; therefore,
when a high-priority computation task (load task) consumes CPU time, network task scheduling is delayed, leading to a sharp decline in throughput.
Evaluation
Through this series of experiments, the practical benefits of combining the ESP32-S3 with WIZnet’s TOE were clearly verified.
Three types of tests were conducted — standard iperf performance, stability under Ping flood conditions, and network performance under CPU load.
Standard iperf Test
The TOE configuration achieved an average throughput of 34.8 Mbps, compared to 9.22 Mbps with LWIP — approximately 3.8 times higher performance.
This confirms that hardware TCP/IP offloading significantly improves transmission efficiency.
Ping Flood Test
The TOE-based system maintained 34.3 Mbps, showing almost no degradation,
while the LWIP setup dropped drastically to 1.52 Mbps.
This demonstrates the superior stability and resilience of TOE against heavy ICMP traffic.
CPU Load Test
Under CPU stress, TOE maintained 26.1 Mbps (about 25% drop),
whereas LWIP decreased to 4.66 Mbps (about 49% drop).
These results experimentally confirm that TOE is highly resistant to CPU scheduling interference thanks to hardware TCP/IP offloading.
Practical Application
With TOE integration, the ESP32-S3 achieves a stable wired network performance of approximately 25–35 Mbps (3–4 MB/s).
This improvement enables the development of real-time network processing applications that were previously impractical under the LWIP environment (~9 Mbps).
The table below summarizes potential application areas that can fully utilize this enhanced throughput.
| Field | Example | Technical Feasibility |
|---|---|---|
| Industrial Automation / IoT Gateway | High-speed sensor data acquisition, quality inspection video transmission, motion control networking | ✅ Enables stable real-time data transfer and deterministic control |
| Video & Image Streaming | MJPEG or low-bitrate H.264 streaming (CCTV, inspection camera) | ✅ Supports real-time streaming of 720p–1080p low-compression video |
| Robotics / AGV / Drone Communication | TCP-based remote control and status feedback | ✅ Ensures low latency and reliable bidirectional communication |
| Firmware OTA / Large Log Transfer | Firmware update, data backup, or log upload | ✅ Provides fast and stable bulk data transmission |
| Secure Node / Encryption Gateway (WCC Architecture) | Real-time encryption/decryption relay | ✅ Enables parallelized data processing with minimal CPU overhead via hardware offloading |

