esp-idf/examples
..
01_hello_world
02_blink
03_http_request
04_https_request
05_ble_adv
06_sntp
07_nvs_rw_value
08_nvs_rw_blob
09_openssl_client
10_openssl_server
11_rmt_nec_tx_rx
12_blufi
13_timer_group
14_gatt_server
15_gatt_client
16_pcnt
17_ethernet
18_i2c
19_sigmadelta
20_uart
21_gpio
22_i2s
23_coap_client
24_coap_server
25_ota
26_spi_master
27_sd_card
29_ledc
30_mdns_example
31_wpa2_enterprise
33_gatt_server_service_table
README.md

README.md

Examples

This directory contains a growing number of simple example projects for esp-idf. These are intended to show basic esp-idf functionality, and to provide you can use for your own projects.

Using Examples

Building examples is the same as building any other project:

  • Follow the setup instructions in the top-level esp-idf README.

  • Set IDF_PATH environment variable to point to the path to the esp-idf top-level directory.

  • Change into the directory of the example you'd like to build.

  • make menuconfig to configure the example. Most examples require a simple WiFi SSID & password via this configuration.

  • make to build the example.

  • Follow the printed instructions to flash, or run make flash.

Copying Examples

Each example is a standalone project. The examples do not have to be inside the esp-idf directory. You can copy an example directory to anywhere on your computer in order to make a copy that you can modify and work with.

The IDF_PATH environment variable is the only thing that connects the example to the rest of the esp-idf system.

If you're looking for a more bare-bones project to start from, try esp-idf-template.

Contributing Examples

If you have a new example you think we'd like, please consider sending it to us as a Pull Request.

Please read the esp-idf CONTRIBUTING.rst file which lays out general contribution rules.

In addition, here are some tips for creating good examples:

  • A good example is documented and the basic options can be configured.
  • A good example does not contain a lot of code. If there is a lot of generic code in the example, consider refactoring that code into a standalone component and then use the component's API in your example.
  • Examples must be licensed under the Apache License 2.0 or (preferably for examples) if possible you can declare the example to be Public Domain / Creative Commons Zero.