examples/wifi/README.md
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-S2 | ESP32-S3 | ESP32-P4 | ESP32-H2 |
|---|
This directory contains a range of examples ESP-IDF projects. These are intended to demonstrate the Wi-Fi functionality, and to provide code that you can copy and adapt into your own projects.
ESP Chips with Wi-Fi can use the examples as is.
ESP Chips without Wi-Fi (e.g., ESP32-P4 and ESP32-H2) can work with a two-chip solution described below.
The examples are grouped into sub-directories by category. Each category directory contains one or more example projects:
espnow is the connectionless Wi-Fi communication protocol.fast_scan shows how to use fast scan while connecting to an AP.ftm is a how to use FTM (Fine Timing Measurement) feature to calculate distance between devices.getting_started contains the basic examples for using Wi-Fi in STA and AP mode.iperf shows the common performance measurements for two ESP running this example.power_save contains a how to use power save mode of Wi-Fi.roaming contains 2 examples that demonstrate roaming capabilities.scan shows how to scan for all the available APs.smart_config shows how ESP connects to a target AP with ESPTOUCH.wifi_eap_fast shows how ESP connects to AP with Wi-Fi enterprise encryption using the EAP-FAST method.wifi_easy_connect shows how to configure an ESP device as an enrollee using Device Provisioning Protocol (DPP).wpa2_enterprise shows how ESP connects to AP with WPA2 enterprise encryption.wps contains a how to use the Wi-Fi Protected Setup protocol.Some ESP chips like the ESP32-P4 or ESP32-H2, without built-in Wi-Fi or Bluetooth, can still use these features through a two-chip solution via ESP-Hosted.
The two chip solution needs:
idf_component.yml. See the idf_component.yml in iperf for an example.The ESP32-P4-Function-EV-Board is used here as a demonstration on how to run a Wi-Fi example.
On this board,
idf.py set-target esp32p4
idf.py menuconfig
Set Component config -> Wi-Fi Remote -> choose slave target to esp32c6.
Do any other project configuration required for the example.
idf.py -p <host serial port> flash monitor
(Optional, but recommended)
The ESP32-C6 on the ESP32-P4 EV Board is already pre-flashed with ESP-Hosted co-processor software. Host software on the ESP-Hosted component is backward compatible with this co-processor software. It is recommended to upgrade to the latest software via simplified co-processor OTA or by manual flashing with ESP-Prog.
For any technical queries on the two-chip solution, please open an ESP-Hosted issue on GitHub.
See the README.md file in the upper level examples directory for more information about examples.