This repository contains the scripts that produce the libraries included with esp32-arduino.
Tested on Ubuntu (32 and 64 bit), Raspberry Pi and MacOS.
sudo apt-get install git wget curl libssl-dev libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache jq
sudo pip install --upgrade pip
git clone https://github.com/espressif/esp32-arduino-lib-builder
cd esp32-arduino-lib-builder
./build.sh
You can more easily build the libraries using the user interface found in the tools/config_editor/
folder.
It is a Python script that allows you to select and edit the options for the libraries you want to build.
The script has mouse support and can also be pre-configured using the same command line arguments as the build.sh
script.
For more information and troubleshooting, please refer to the UI README.
To use it, follow these steps:
- Make sure you have the required dependencies installed:
- Python 3.9 or later
- The Textual library
- All the dependencies listed in the previous section
-
Execute the script
tools/config_editor/app.py
from any folder. It will automatically detect the path to the root of the repository. -
Configure the compilation and ESP-IDF options as desired.
-
Click on the "Compile Static Libraries" button to start the compilation process.
-
The script will show the compilation output in a new screen. Note that the compilation process can take many hours, depending on the number of libraries selected and the options chosen.
-
If the compilation is successful and the option to copy the libraries to the Arduino Core folder is enabled, it will already be available for use in the Arduino IDE. Otherwise, you can find the compiled libraries in the
esp32-arduino-libs
folder alongside this repository.
- Note that the copy operation doesn't currently support the core downloaded from the Arduino IDE Boards Manager, only the manual installation from the
arduino-esp32
repository.
For more information about how to use the Library builder, please refer to this Documentation page