Workflow for ESP-IDF

Enter your project

cd ~/projects/SmartDB/esp_idf/blink

Load ESP-IDF environment (if not already loaded)

. ~/esp/esp-idf/export.sh

Configure project (optional)

idf.py menuconfig

Build

idf.py build

Find ESP32 serial port

ls /dev/ttyUSB*

or:

ls /dev/ttyACM*

Example:

/dev/ttyUSB0

Flash firmware

idf.py -p /dev/ttyUSB0 flash

Monitor serial output

idf.py -p /dev/ttyUSB0 monitor

Exit monitor:

Ctrl + ]

Normal development loop

After changing code:

idf.py build flash monitor

This does:

  1. Compile

  2. Upload to ESP32

  3. Open serial monitor

CMake errors

Clean:

idf.py fullclean
idf.py build

Before committing to Git

Don’t commit build files:

git status

You should not see:

build/
sdkconfig.old

Typical ESP-IDF repo:

blink/
├── CMakeLists.txt
├── sdkconfig
├── main/
│   ├── CMakeLists.txt
│   └── main.c
└── .gitignore

For SmartDB ESP32 nodes, the usual loop will become:

idf.py build flash monitor