# Building 1. Install the ESP-IDF toolchain (See: [Toolchain section](#toolchain])) 2. Source the environment `source ~/esp/esp-idf/export.sh` (yes i know) 3. idf.py build 4. idf.py flash A makefile is provided to somewhat remedy this madness. ## Toolchain See: [Standard Toolchain Setup for Linux](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/linux-macos-setup.html) From the official docs, essentially: ```sh mkdir -p ~/esp cd ~/esp git clone -b v5.4.2 --recursive https://github.com/espressif/esp-idf.git cd ~/esp/esp-idf ./install.sh esp32 # This is the arch for our mcu (esp-wroom-32) ``` For qemu: (The environment needs to be sourced) ```sh python $IDF_PATH/tools/idf_tools.py install qemu-xtensa ``` ## Help and Resources - Espressif docs on the ESP-IDF build system: [Build System](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/build-system.html) - Dependencies found here: [ESP Registry](https://components.espressif.com/) - Custon FreeRTOS to better facilitate the ESP: [ESP-IDF FreeRTOS](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/system/freertos.html) - Vanilla FreeRTOS docs [FreeRTOS Documentation](https://www.freertos.org/Documentation/00-Overview)