The Everywhere Cloud

Deploy an instance.
Accelerate your application.

Using the ESP-IDF on Linux

The following procedure shows how to use Espressif's Internet-of-Things Development Framework for ESP32 microcontrollers on Debian-based Linux distributions. The ESP-IDF uses the Real-Time Operating System (RTOS) Software Development Kit (SDK).



1.1. Update package indexes and install the prerequisites.

user@host: $ sudo apt-get update
user@host: $ sudo apt-get install bison libbison-dev
user@host: $ sudo apt-get install cmake
user@host: $ sudo apt-get install flex libfl-dev libfl2
user@host: $ sudo apt-get install git
user@host: $ sudo apt-get install gperf
user@host: $ sudo apt-get install libncurses-dev
user@host: $ sudo apt-get install python3 python3-dev python3-pip python3-venv python3-wheel

1.2. Clone the development repository from GitHub. This will download to a directory with the same name.

user@host: $ mkdir esp
user@host: $ cd esp
user@host: $ git clone --recursive

1.2.1. For specific releases, clone the release branch to a distinct directory.

user@host: $ git clone -b release/v4.4 --recursive esp-idf-v4.4
user@host: $ git clone -b release/v3.3 --recursive esp-idf-v3.3

1.2.2. For stable versions, clone the stable branch to a distinct directory.

user@host: $ git clone -b v4.4.2 --recursive esp-idf-v4.4.2
user@host: $ git clone -b v3.3.6 --recursive esp-idf-v3.3.6

1.3. Install the ESP-IDF toolchain. For other versions, change to its corresponding directory.

user@host: $ cd esp-idf
user@host: $ ./

1.4. Temporarily add the ESP-IDF toolchain to the shell path.

user@host: $ . ./
user@host: $ source ./

1.5. Verify if the toolchain has been added to the shell path.

user@host: $ echo $PATH


2.1. Once the toolchain is on the shell path, go to the examples provided by the IDF.

user@host: $ cd examples/get-started/hello_world

2.2. Configure the IDF settings for the project.

user@host: $ menuconfig

2.2.1. Use the arrow keys to highlight menu items.
2.2.2. Press "s" to [ Save ] the current settings.
2.2.3. Press "q" to [ Quit ] the menu.

2.3. Remove old build files, if any.

user@host: $ clean

2.4. Build the ESP32 project binaries.

user@host: $ build

2.5. Flash the binaries to the ESP32 microcontroller.

user@host: $ flash



Popular posts from this blog

Enabling HTTPS in Home Assistant

Configuring the FreeBSD Firewall with IPFW

Running Home Assistant on FreeBSD Servers