Skip to content

ESP32-S3 PowerFeather Support for v2.x #9325

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Mar 5, 2024
173 changes: 173 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26852,3 +26852,176 @@ motorgo_mini_1.menu.EraseFlash.all=Enabled
motorgo_mini_1.menu.EraseFlash.all.upload.erase_cmd=-e

##############################################################

# ESP32-S3 PowerFeather

esp32s3_powerfeather.name=ESP32-S3 PowerFeather
esp32s3_powerfeather.vid.0=0x303a
esp32s3_powerfeather.pid.0=0x81BB

esp32s3_powerfeather.bootloader.tool=esptool_py
esp32s3_powerfeather.bootloader.tool.default=esptool_py

esp32s3_powerfeather.upload.tool=esptool_py
esp32s3_powerfeather.upload.tool.default=esptool_py
esp32s3_powerfeather.upload.tool.network=esp_ota

esp32s3_powerfeather.upload.maximum_size=1310720
esp32s3_powerfeather.upload.maximum_data_size=327680
esp32s3_powerfeather.upload.flags=
esp32s3_powerfeather.upload.extra_flags=
esp32s3_powerfeather.upload.use_1200bps_touch=false
esp32s3_powerfeather.upload.wait_for_upload_port=false

esp32s3_powerfeather.serial.disableDTR=false
esp32s3_powerfeather.serial.disableRTS=false

esp32s3_powerfeather.build.tarch=xtensa
esp32s3_powerfeather.build.bootloader_addr=0x0
esp32s3_powerfeather.build.target=esp32s3
esp32s3_powerfeather.build.mcu=esp32s3
esp32s3_powerfeather.build.core=esp32
esp32s3_powerfeather.build.variant=esp32s3_powerfeather
esp32s3_powerfeather.build.board=ESP32S3_POWERFEATHER

esp32s3_powerfeather.build.usb_mode=1
esp32s3_powerfeather.build.cdc_on_boot=1
esp32s3_powerfeather.build.msc_on_boot=0
esp32s3_powerfeather.build.dfu_on_boot=0
esp32s3_powerfeather.build.f_cpu=240000000L
esp32s3_powerfeather.build.flash_size=8MB
esp32s3_powerfeather.build.flash_freq=80m
esp32s3_powerfeather.build.flash_mode=dio
esp32s3_powerfeather.build.boot=qio
esp32s3_powerfeather.build.boot_freq=80m
esp32s3_powerfeather.build.partitions=default_8MB
esp32s3_powerfeather.build.defines=
esp32s3_powerfeather.build.loop_core=
esp32s3_powerfeather.build.event_core=
esp32s3_powerfeather.build.flash_type=qio
esp32s3_powerfeather.build.psram_type=qspi
esp32s3_powerfeather.build.memory_type={build.flash_type}_{build.psram_type}

esp32s3_powerfeather.menu.PSRAM.disabled=Disabled
esp32s3_powerfeather.menu.PSRAM.disabled.build.defines=
esp32s3_powerfeather.menu.PSRAM.disabled.build.psram_type=qspi
esp32s3_powerfeather.menu.PSRAM.enabled=QSPI PSRAM
esp32s3_powerfeather.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
esp32s3_powerfeather.menu.PSRAM.enabled.build.psram_type=qspi

esp32s3_powerfeather.menu.FlashMode.qio=QIO 80MHz
esp32s3_powerfeather.menu.FlashMode.qio.build.flash_mode=dio
esp32s3_powerfeather.menu.FlashMode.qio.build.boot=qio
esp32s3_powerfeather.menu.FlashMode.qio.build.boot_freq=80m
esp32s3_powerfeather.menu.FlashMode.qio.build.flash_freq=80m
esp32s3_powerfeather.menu.FlashMode.qio120=QIO 120MHz
esp32s3_powerfeather.menu.FlashMode.qio120.build.flash_mode=dio
esp32s3_powerfeather.menu.FlashMode.qio120.build.boot=qio
esp32s3_powerfeather.menu.FlashMode.qio120.build.boot_freq=120m
esp32s3_powerfeather.menu.FlashMode.qio120.build.flash_freq=80m
esp32s3_powerfeather.menu.FlashMode.dio=DIO 80MHz
esp32s3_powerfeather.menu.FlashMode.dio.build.flash_mode=dio
esp32s3_powerfeather.menu.FlashMode.dio.build.boot=dio
esp32s3_powerfeather.menu.FlashMode.dio.build.boot_freq=80m
esp32s3_powerfeather.menu.FlashMode.dio.build.flash_freq=80m

esp32s3_powerfeather.menu.LoopCore.1=Core 1
esp32s3_powerfeather.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
esp32s3_powerfeather.menu.LoopCore.0=Core 0
esp32s3_powerfeather.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0

esp32s3_powerfeather.menu.EventsCore.1=Core 1
esp32s3_powerfeather.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
esp32s3_powerfeather.menu.EventsCore.0=Core 0
esp32s3_powerfeather.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0

esp32s3_powerfeather.menu.USBMode.hwcdc=Hardware CDC and JTAG
esp32s3_powerfeather.menu.USBMode.hwcdc.build.usb_mode=1
esp32s3_powerfeather.menu.USBMode.default=USB-OTG (TinyUSB)
esp32s3_powerfeather.menu.USBMode.default.build.usb_mode=0

esp32s3_powerfeather.menu.CDCOnBoot.cdc=Enabled
esp32s3_powerfeather.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
esp32s3_powerfeather.menu.CDCOnBoot.default=Disabled
esp32s3_powerfeather.menu.CDCOnBoot.default.build.cdc_on_boot=0

esp32s3_powerfeather.menu.MSCOnBoot.default=Disabled
esp32s3_powerfeather.menu.MSCOnBoot.default.build.msc_on_boot=0
esp32s3_powerfeather.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
esp32s3_powerfeather.menu.MSCOnBoot.msc.build.msc_on_boot=1

esp32s3_powerfeather.menu.DFUOnBoot.default=Disabled
esp32s3_powerfeather.menu.DFUOnBoot.default.build.dfu_on_boot=0
esp32s3_powerfeather.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
esp32s3_powerfeather.menu.DFUOnBoot.dfu.build.dfu_on_boot=1

esp32s3_powerfeather.menu.UploadMode.default=UART0 / Hardware CDC
esp32s3_powerfeather.menu.UploadMode.default.upload.use_1200bps_touch=false
esp32s3_powerfeather.menu.UploadMode.default.upload.wait_for_upload_port=false
esp32s3_powerfeather.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
esp32s3_powerfeather.menu.UploadMode.cdc.upload.use_1200bps_touch=true
esp32s3_powerfeather.menu.UploadMode.cdc.upload.wait_for_upload_port=true

esp32s3_powerfeather.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS)
esp32s3_powerfeather.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
esp32s3_powerfeather.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
esp32s3_powerfeather.menu.PartitionScheme.default_ffat_8MB=8M with ffat (3MB APP/1.5MB FATFS)
esp32s3_powerfeather.menu.PartitionScheme.default_ffat_8MB.build.partitions=default_ffat_8MB
esp32s3_powerfeather.menu.PartitionScheme.default_ffat_8MB.upload.maximum_size=3342336
esp32s3_powerfeather.menu.PartitionScheme.large_spiffs_8MB=Large SPIFFS (1.2MB APP/5.3MB SPIFFS)
esp32s3_powerfeather.menu.PartitionScheme.large_spiffs_8MB.build.partitions=large_spiffs_8MB
esp32s3_powerfeather.menu.PartitionScheme.large_spiffs_8MB.upload.maximum_size=1310720
esp32s3_powerfeather.menu.PartitionScheme.large_ffat_8MB=Large FFAT (1.2MB APP/5.3MB FATFS)
esp32s3_powerfeather.menu.PartitionScheme.large_ffat_8MB.build.partitions=large_ffat_8MB
esp32s3_powerfeather.menu.PartitionScheme.large_ffat_8MB.upload.maximum_size=1310720
esp32s3_powerfeather.menu.PartitionScheme.max_app_8MB=Maximum APP (7.9MB APP No OTA/No FS)
esp32s3_powerfeather.menu.PartitionScheme.max_app_8MB.build.partitions=max_app_8MB
esp32s3_powerfeather.menu.PartitionScheme.max_app_8MB.upload.maximum_size=8257536

esp32s3_powerfeather.menu.CPUFreq.240=240MHz (WiFi)
esp32s3_powerfeather.menu.CPUFreq.240.build.f_cpu=240000000L
esp32s3_powerfeather.menu.CPUFreq.160=160MHz (WiFi)
esp32s3_powerfeather.menu.CPUFreq.160.build.f_cpu=160000000L
esp32s3_powerfeather.menu.CPUFreq.80=80MHz (WiFi)
esp32s3_powerfeather.menu.CPUFreq.80.build.f_cpu=80000000L
esp32s3_powerfeather.menu.CPUFreq.40=40MHz
esp32s3_powerfeather.menu.CPUFreq.40.build.f_cpu=40000000L
esp32s3_powerfeather.menu.CPUFreq.20=20MHz
esp32s3_powerfeather.menu.CPUFreq.20.build.f_cpu=20000000L
esp32s3_powerfeather.menu.CPUFreq.10=10MHz
esp32s3_powerfeather.menu.CPUFreq.10.build.f_cpu=10000000L

esp32s3_powerfeather.menu.UploadSpeed.921600=921600
esp32s3_powerfeather.menu.UploadSpeed.921600.upload.speed=921600
esp32s3_powerfeather.menu.UploadSpeed.115200=115200
esp32s3_powerfeather.menu.UploadSpeed.115200.upload.speed=115200
esp32s3_powerfeather.menu.UploadSpeed.256000.windows=256000
esp32s3_powerfeather.menu.UploadSpeed.256000.upload.speed=256000
esp32s3_powerfeather.menu.UploadSpeed.230400.windows.upload.speed=256000
esp32s3_powerfeather.menu.UploadSpeed.230400=230400
esp32s3_powerfeather.menu.UploadSpeed.230400.upload.speed=230400
esp32s3_powerfeather.menu.UploadSpeed.460800.linux=460800
esp32s3_powerfeather.menu.UploadSpeed.460800.macosx=460800
esp32s3_powerfeather.menu.UploadSpeed.460800.upload.speed=460800
esp32s3_powerfeather.menu.UploadSpeed.512000.windows=512000
esp32s3_powerfeather.menu.UploadSpeed.512000.upload.speed=512000

esp32s3_powerfeather.menu.DebugLevel.none=None
esp32s3_powerfeather.menu.DebugLevel.none.build.code_debug=0
esp32s3_powerfeather.menu.DebugLevel.error=Error
esp32s3_powerfeather.menu.DebugLevel.error.build.code_debug=1
esp32s3_powerfeather.menu.DebugLevel.warn=Warn
esp32s3_powerfeather.menu.DebugLevel.warn.build.code_debug=2
esp32s3_powerfeather.menu.DebugLevel.info=Info
esp32s3_powerfeather.menu.DebugLevel.info.build.code_debug=3
esp32s3_powerfeather.menu.DebugLevel.debug=Debug
esp32s3_powerfeather.menu.DebugLevel.debug.build.code_debug=4
esp32s3_powerfeather.menu.DebugLevel.verbose=Verbose
esp32s3_powerfeather.menu.DebugLevel.verbose.build.code_debug=5

esp32s3_powerfeather.menu.EraseFlash.none=Disabled
esp32s3_powerfeather.menu.EraseFlash.none.upload.erase_cmd=
esp32s3_powerfeather.menu.EraseFlash.all=Enabled
esp32s3_powerfeather.menu.EraseFlash.all.upload.erase_cmd=-e

##############################################################
7 changes: 7 additions & 0 deletions tools/partitions/default_ffat_8MB.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x330000,
app1, app, ota_1, 0x340000,0x330000,
ffat, data, fat, 0x670000,0x180000,
coredump, data, coredump,0x7F0000,0x10000,
7 changes: 7 additions & 0 deletions tools/partitions/large_ffat_8MB.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x140000,
app1, app, ota_1, 0x150000,0x140000,
ffat, data, fat, 0x290000,0x560000,
coredump, data, coredump,0x7F0000,0x10000,
7 changes: 7 additions & 0 deletions tools/partitions/large_spiffs_8MB.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x140000,
app1, app, ota_1, 0x150000,0x140000,
spiffs, data, spiffs, 0x290000,0x560000,
coredump, data, coredump,0x7F0000,0x10000,
59 changes: 59 additions & 0 deletions variants/esp32s3_powerfeather/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

#define USB_VID 0x303A
#define USB_PID 0x81BB
#define USB_MANUFACTURER "PowerFeather"
#define USB_PRODUCT "ESP32-S3 PowerFeather"
#define USB_SERIAL ""

#define NUM_DIGITAL_PINS 48
#define EXTERNAL_NUM_INTERRUPTS NUM_DIGITAL_PINS
#define NUM_ANALOG_INPUTS 20

#define analogInputToDigitalPin(p) (((p)<NUM_ANALOG_INPUTS)?(analogChannelToDigitalPin(p)):-1)
#define digitalPinToInterrupt(p) (((p)<=NUM_DIGITAL_PINS)?(p):-1)
#define digitalPinHasPWM(p) (p<=NUM_DIGITAL_PINS)

static const uint8_t ALARM = 21;
static const uint8_t INT = 5;

static const uint8_t LED = 46;
static const uint8_t BTN = 0;
static const uint8_t EN = 7;

static const uint8_t TX = 44;
static const uint8_t RX = 42;
static const uint8_t TX0 = 43;

static const uint8_t SS = -1;
static const uint8_t MISO = 41;
static const uint8_t MOSI = 40;
static const uint8_t SCK = 39;

static const uint8_t SCL = 36;
static const uint8_t SDA = 35;

static const uint8_t A0 = 10;
static const uint8_t A1 = 9;
static const uint8_t A2 = 8;
static const uint8_t A3 = 3;
static const uint8_t A4 = 2;
static const uint8_t A5 = 1;

static const uint8_t D5 = 15;
static const uint8_t D6 = 16;
static const uint8_t D7 = 37;
static const uint8_t D8 = 6;
static const uint8_t D9 = 17;
static const uint8_t D10 = 18;
static const uint8_t D11 = 45;
static const uint8_t D12 = 12;
static const uint8_t D13 = 11;

#define LED_BUILTIN 46
#define BUILTIN_LED LED_BUILTIN // backward compatibility

#endif /* Pins_Arduino_h */