Files
firmware/README.md

3.3 KiB

Firmware

  1. Setup
    1. Install Dependencies
      1. MacOS
      2. Windows
  2. Development
    1. Command Line Tools
      1. MacOS
      2. Windows
    2. Using an IDE
      1. Visual Studio Code
      2. JetBrains CLion

Setup

This project is currently setup to work with the ESP32, we will be using the ESP32-c6 in the future.

This project uses ESP-IDF version 5.4.

Install Dependencies

MacOS

Install xcode command line tools (if you do not already have them)

xcode-select --install

Install project & ESP-IDF dependencies (if you do not already have them)

brew install cmake ninja dfu-util python3

Setup ESP-IDF

mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
cd ~/esp/isp-idf
./install.sh esp32

Windows

Install ESP-IDF with with the GUI Windows installer.

  • Use default options.
  • You may install ESP-IDF to a path that is different than the default, however, keep the length of the path under 90 characters and do not include any spaces or non ASCII characters.
  • Select version v5.4.x.
  • The installer will automatically provide
    • Embedded Python
    • Required cross compilers
    • OpenOCD
    • CMake and Ninja
    • ESP-IDF

Development

The board is flashed via UART. A USB to UART adapter is provided as part of the devboard.

Command Line Tools

MacOS

Export environment variables

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

Build the project

idf.py build

Flash and open serial monitor (Use Ctrl+] to exit)

idf.py flash monitor

Windows

Run the following commands in a command prompt.

Export environment variables (alternatively run the ESP-IDF Command Prompt shortcut)

# Example path: C:\Espressif\frameworks\esp-idf-v5.4.1-3\

/Path/To/ESP-IDF/export.bat

Build the project

idf.py build

Flash and open serial monitor

idf.py flash monitor

Using an IDE

Any IDE that supports CMake or has an ESP-IDF extension should be compatible with this project.

Visual Studio Code

ESP-IDF has an official extension for Visual Studio Code. Install the CMake Tools, Dev Containers, WSL, and ESP-IDF extensions.

Use the buttons at the bottom of the IDE to build, flash & monitor the board. You may need to change the COM port (at the bottom of the IDE).

JetBrains CLion

CLion is compatible with this project. Follow the tutorial on Espressif's site with the following modifications:

  • When asked to select a project, simply import the root directory of this repository (ie. the firmware folder).
  • If the Open Project Wizard does not open, access it via Settings > Build, Execution, Deployment > CMake.
  • When setting the DIDF_TARGET, do not use esp32s3, instead, use -DIDF_TARGET=esp32.