- build-essential
- cmake
- git
- libusb-1.0-0
- ninja-build
- python-is-python3
- python3-pip
- python3-venv
sudo apt update
sudo apt upgrade
sudo apt --assume-yes install \
build-essential \
cmake \
git \
libusb-1.0-0 \
ninja-build \
python-is-python3 \
python3-pip \
python3-venvgit clone https://github.com/adafruit/circuitpython.git cp-repo-espressif
cd cp-repo-espressifgit checkout -b issue-myissuegit submodule update --init --remote ports/espressif/esp-idf
cd ports/espressif
esp-idf/install.shIf you are running the fish shell, use esp-idf/install.fish instead.
NB: There are version conflicts between the ESP-IDF and CircuitPython package requirements.
We source the esp-idf/export.sh script (or export.fish for fish shell) to setup access to
tools installed by esp-idf/install.sh and enter ESP-IDF's virtual environment. We run CircuitPython Python's package install
to install CircuitPython required packages into ESP-IDF's virtual environment. Finally, we re-run esp-idf/install.sh to resolve the
Python package version conflicts in favor of ESP-IDF.
source esp-idf/export.sh
cd ../..
pip install --upgrade -r requirements-dev.txt
pip install --upgrade -r requirements-doc.txt
cd ports/espressif
esp-idf/install.shmake fetch-port-submodulescd ../..
pre-commit install
make -C mpy-crosscd ports/espressif
make BOARD=adafruit_feather_esp32s3_4mbflash_2mbpsramNB: The first time you build an Espressif board, it will pull in an additional boatload of submodules. Some of these submodules are quite large and may take several minutes to load.
Whenever you wish to use your Espressif CircuitPython repository in a new shell, be sure to do the following before attempting to build:
cd ports/espressif
source esp-idf/export.shThis will re-establish the proper environment variables and the ESP-IDF virtual environment required for building CircuitPython.