Skip to main content

Setup

Arduino

Install the following first:

  1. Arduino v2.x or newer. Please follow the installation instructions for your OS.

  2. Arduino ESP32 v2.0.15 or newer. Please follow the installation guide from Espressif.

    Adding Boards Manager URL

    Installing ESP32-S3 PowerFeather board support

Arduino Library Manager does not install this preview branch directly.

Use exactly one of these two installation methods:

  1. Install the preview SDK from the v2 branch ZIP in Arduino IDE.
  2. Clone the preview SDK into your Arduino libraries folder.

Install from ZIP

  1. Download the v2 branch ZIP:
https://github.com/PowerFeather/powerfeather-sdk/archive/refs/heads/v2.zip
  1. In Arduino IDE, open:
Sketch -> Include Library -> Add .ZIP Library...
  1. Select the downloaded ZIP file.

Clone into the Arduino libraries folder

Clone the v2 preview branch into the Arduino sketchbook libraries directory.

Typical locations are:

  • Linux/macOS: ~/Arduino/libraries
  • Windows: C:\Users\<your-user>\Documents\Arduino\libraries

Linux/macOS example:

cd ~/Arduino/libraries
git clone --branch v2 --single-branch https://github.com/PowerFeather/powerfeather-sdk.git PowerFeather-SDK

If the directory already exists:

cd ~/Arduino/libraries/PowerFeather-SDK
git fetch origin
git checkout v2

Windows PowerShell example:

cd "$HOME\\Documents\\Arduino\\libraries"
git clone --branch v2 --single-branch https://github.com/PowerFeather/powerfeather-sdk.git PowerFeather-SDK

If the directory already exists:

cd "$HOME\\Documents\\Arduino\\libraries\\PowerFeather-SDK"
git fetch origin
git checkout v2

To test if setup was done properly, create a sketch with the following content:

#include <PowerFeather.h>

using namespace PowerFeather;

void setup()
{
Board.init();
}

void loop()
{
}

Before building or uploading, set the board revision in Arduino IDE:

Tools -> Board Revision -> ESP32-S3 PowerFeather V2

Build the sketch. It should proceed without any errors.

Building Arduino minimal sketch

info

If you have trouble uploading future sketches, try putting the ESP32-S3 in download mode. This can be done by pressing and holding BTN, pressing RST momentarily, and then releasing BTN.

ESP-IDF

ESP-IDF must be installed first. The preview SDK component declares support for ESP-IDF >=4.4, <=5.5. Please follow the installation guide for Windows or Linux and macOS.

Create a sample project:

idf.py create-project "powerfeather_project"

Creating ESP-IDF sample project

Navigate into the project directory. Rename main/powerfeather_project.c to main/powerfeather_project.cpp.

Renaming main C file

Edit main/CMakeLists.txt and change powerfeather_project.c to powerfeather_project.cpp.

Editing CMakeLists.txt

Replace the contents of main/powerfeather_project.cpp with:

#include <PowerFeather.h>

using namespace PowerFeather;

extern "C" void app_main()
{
Board.init();
}

Editing main CPP

The v2 preview branch is not published to the ESP-IDF component registry, so do not use idf.py add-dependency for this preview.

Instead, add the preview SDK as a local component checkout inside your project:

Linux/macOS example:

mkdir -p components
git clone --branch v2 --single-branch https://github.com/PowerFeather/powerfeather-sdk.git components/powerfeather-sdk

Windows PowerShell example:

New-Item -ItemType Directory -Force components | Out-Null
git clone --branch v2 --single-branch https://github.com/PowerFeather/powerfeather-sdk.git components/powerfeather-sdk

Before configuring the board revision in Kconfig, set the target:

idf.py set-target esp32s3

Then open Kconfig:

idf.py menuconfig

Then select:

Component config -> PowerFeather-SDK -> ESP32-S3 PowerFeather board revision -> ESP32-S3 PowerFeather V2

Then run:

idf.py build

If everything was set up correctly, the build should proceed without any compilation errors.

Building ESP-IDF sample project