You are using staging server - a separate instance of the ESP Component Registry that allows you to try distribution tools and processes without affecting the real registry.
<!--
Copyright 2026 Morse Micro
SPDX-License-Identifier: Apache-2.0
-->
# iperf
An adaption of ESP32 iperf REPL to test Wi-Fi HaLow throughput.
On boot the device connects as a station, then exposes the `iperf`
command for UDP/TCP RX/TX throughput tests via the serial moitor.
---
## Building
Set the target, layering in the board profile for your board/hat, then configure and
build. See [configs](../../configs/README.md) for the full `SDKCONFIG_DEFAULTS` usage.
Setting the Wi-Fi HaLow country code is required — in `menuconfig` it is under
`Wi-Fi HaLow Connection Manager → Country code to use for Wi-Fi HaLow`
(`CONFIG_HALOW_COUNTRY_CODE`).
For example, for a Seeed Studio XIAO ESP32-S3 paired with a XIAO Wi-Fi HaLow
(MM6108) hat:
SDKCONFIG_DEFAULTS="sdkconfig.defaults;managed_components/morsemicro__halow/configs/sdkconfig.defaults.seeed_xiao_esp32s3-seeed_xiao_mm6108" \
idf.py set-target esp32s3
idf.py menuconfig build # set the country code (required)
## Running
Flash and open the serial monitor to reach the REPL:
idf.py flash monitor
At the `iperf>` prompt, run `help` for the command list, then `iperf` to test throughput.
## Configuration
Options under `HaLow iperf Example Configuration` (`idf.py menuconfig`):
| Option | Type | Default | Description |
| --- | --- | --- | --- |
| `CONFIG_WIFI_SSID` | string | `"MorseMicro"` | SSID of the Wi-Fi HaLow AP to join. |
| `CONFIG_WIFI_PSK` | string | `"12345678"` | Passphrase for the Wi-Fi HaLow AP. |
To create a project from this example, run:
idf.py create-project-from-example "morsemicro/halow=2.11.2-esp32-1.1:iperf"