Update: PDM input support on Espressif (ESP32) was accepted and is now in CircuitPython. Someday I’m sure I’ll never finish this post. I’ve already forgotten what I did.
In a half-hearted attempt to build an audio application on ESP32-S3, I’m trying to add I2S and PDM support to CircuitPython. The existing guides were incredibly confusing, so hopefully I’ve boiled the steps down to just what you need to build CircuitPython for ESP32 (Espressif) on macOS:
- Install brew and Xcode
- Install ninja and cmake
-
Clone the CP repo with submodules
- Partial Clone (https://learn.adafruit.com/building-circuitpython/build-circuitpython#install-required-python-packages-3086211)
- pre-commit
- make fetch-tags (mpy-cross won't build without this)
- mpy-cross
- Build esp-idf
- pip install
- make BOARD=
BOARD names are the directories in
boards/
.