Skip to content

Commit 4fcd57a

Browse files
ESP32-S3 PowerFeather Support for v2.x (espressif#9325)
* Add support for ESP32-S3 PowerFeather * Replace GPIO_NUM_X with just the pin number * Pattern powerfeather entries after generic s3 board * Remove redefinitions, add pin aliases to pins_arduino.h * Fix and add pin definitions Add pins D7, D8 Correct pin numbers for ALARM and EN * Enable CDC on boot * Use partition schemes appropriate for flash size Also adds another partition scheme based of off default_8MB, but fat partition. * Add some required definitions to pins_arduino.h
1 parent 44da992 commit 4fcd57a

File tree

5 files changed

+253
-0
lines changed

5 files changed

+253
-0
lines changed

Diff for: boards.txt

+173
Original file line numberDiff line numberDiff line change
@@ -26448,3 +26448,176 @@ atd147_s3.menu.EraseFlash.all=Enabled
2644826448
atd147_s3.menu.EraseFlash.all.upload.erase_cmd=-e
2644926449

2645026450
##############################################################
26451+
26452+
# ESP32-S3 PowerFeather
26453+
26454+
esp32s3_powerfeather.name=ESP32-S3 PowerFeather
26455+
esp32s3_powerfeather.vid.0=0x303a
26456+
esp32s3_powerfeather.pid.0=0x81BB
26457+
26458+
esp32s3_powerfeather.bootloader.tool=esptool_py
26459+
esp32s3_powerfeather.bootloader.tool.default=esptool_py
26460+
26461+
esp32s3_powerfeather.upload.tool=esptool_py
26462+
esp32s3_powerfeather.upload.tool.default=esptool_py
26463+
esp32s3_powerfeather.upload.tool.network=esp_ota
26464+
26465+
esp32s3_powerfeather.upload.maximum_size=1310720
26466+
esp32s3_powerfeather.upload.maximum_data_size=327680
26467+
esp32s3_powerfeather.upload.flags=
26468+
esp32s3_powerfeather.upload.extra_flags=
26469+
esp32s3_powerfeather.upload.use_1200bps_touch=false
26470+
esp32s3_powerfeather.upload.wait_for_upload_port=false
26471+
26472+
esp32s3_powerfeather.serial.disableDTR=false
26473+
esp32s3_powerfeather.serial.disableRTS=false
26474+
26475+
esp32s3_powerfeather.build.tarch=xtensa
26476+
esp32s3_powerfeather.build.bootloader_addr=0x0
26477+
esp32s3_powerfeather.build.target=esp32s3
26478+
esp32s3_powerfeather.build.mcu=esp32s3
26479+
esp32s3_powerfeather.build.core=esp32
26480+
esp32s3_powerfeather.build.variant=esp32s3_powerfeather
26481+
esp32s3_powerfeather.build.board=ESP32S3_POWERFEATHER
26482+
26483+
esp32s3_powerfeather.build.usb_mode=1
26484+
esp32s3_powerfeather.build.cdc_on_boot=1
26485+
esp32s3_powerfeather.build.msc_on_boot=0
26486+
esp32s3_powerfeather.build.dfu_on_boot=0
26487+
esp32s3_powerfeather.build.f_cpu=240000000L
26488+
esp32s3_powerfeather.build.flash_size=8MB
26489+
esp32s3_powerfeather.build.flash_freq=80m
26490+
esp32s3_powerfeather.build.flash_mode=dio
26491+
esp32s3_powerfeather.build.boot=qio
26492+
esp32s3_powerfeather.build.boot_freq=80m
26493+
esp32s3_powerfeather.build.partitions=default_8MB
26494+
esp32s3_powerfeather.build.defines=
26495+
esp32s3_powerfeather.build.loop_core=
26496+
esp32s3_powerfeather.build.event_core=
26497+
esp32s3_powerfeather.build.flash_type=qio
26498+
esp32s3_powerfeather.build.psram_type=qspi
26499+
esp32s3_powerfeather.build.memory_type={build.flash_type}_{build.psram_type}
26500+
26501+
esp32s3_powerfeather.menu.PSRAM.disabled=Disabled
26502+
esp32s3_powerfeather.menu.PSRAM.disabled.build.defines=
26503+
esp32s3_powerfeather.menu.PSRAM.disabled.build.psram_type=qspi
26504+
esp32s3_powerfeather.menu.PSRAM.enabled=QSPI PSRAM
26505+
esp32s3_powerfeather.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
26506+
esp32s3_powerfeather.menu.PSRAM.enabled.build.psram_type=qspi
26507+
26508+
esp32s3_powerfeather.menu.FlashMode.qio=QIO 80MHz
26509+
esp32s3_powerfeather.menu.FlashMode.qio.build.flash_mode=dio
26510+
esp32s3_powerfeather.menu.FlashMode.qio.build.boot=qio
26511+
esp32s3_powerfeather.menu.FlashMode.qio.build.boot_freq=80m
26512+
esp32s3_powerfeather.menu.FlashMode.qio.build.flash_freq=80m
26513+
esp32s3_powerfeather.menu.FlashMode.qio120=QIO 120MHz
26514+
esp32s3_powerfeather.menu.FlashMode.qio120.build.flash_mode=dio
26515+
esp32s3_powerfeather.menu.FlashMode.qio120.build.boot=qio
26516+
esp32s3_powerfeather.menu.FlashMode.qio120.build.boot_freq=120m
26517+
esp32s3_powerfeather.menu.FlashMode.qio120.build.flash_freq=80m
26518+
esp32s3_powerfeather.menu.FlashMode.dio=DIO 80MHz
26519+
esp32s3_powerfeather.menu.FlashMode.dio.build.flash_mode=dio
26520+
esp32s3_powerfeather.menu.FlashMode.dio.build.boot=dio
26521+
esp32s3_powerfeather.menu.FlashMode.dio.build.boot_freq=80m
26522+
esp32s3_powerfeather.menu.FlashMode.dio.build.flash_freq=80m
26523+
26524+
esp32s3_powerfeather.menu.LoopCore.1=Core 1
26525+
esp32s3_powerfeather.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
26526+
esp32s3_powerfeather.menu.LoopCore.0=Core 0
26527+
esp32s3_powerfeather.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
26528+
26529+
esp32s3_powerfeather.menu.EventsCore.1=Core 1
26530+
esp32s3_powerfeather.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
26531+
esp32s3_powerfeather.menu.EventsCore.0=Core 0
26532+
esp32s3_powerfeather.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
26533+
26534+
esp32s3_powerfeather.menu.USBMode.hwcdc=Hardware CDC and JTAG
26535+
esp32s3_powerfeather.menu.USBMode.hwcdc.build.usb_mode=1
26536+
esp32s3_powerfeather.menu.USBMode.default=USB-OTG (TinyUSB)
26537+
esp32s3_powerfeather.menu.USBMode.default.build.usb_mode=0
26538+
26539+
esp32s3_powerfeather.menu.CDCOnBoot.cdc=Enabled
26540+
esp32s3_powerfeather.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
26541+
esp32s3_powerfeather.menu.CDCOnBoot.default=Disabled
26542+
esp32s3_powerfeather.menu.CDCOnBoot.default.build.cdc_on_boot=0
26543+
26544+
esp32s3_powerfeather.menu.MSCOnBoot.default=Disabled
26545+
esp32s3_powerfeather.menu.MSCOnBoot.default.build.msc_on_boot=0
26546+
esp32s3_powerfeather.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
26547+
esp32s3_powerfeather.menu.MSCOnBoot.msc.build.msc_on_boot=1
26548+
26549+
esp32s3_powerfeather.menu.DFUOnBoot.default=Disabled
26550+
esp32s3_powerfeather.menu.DFUOnBoot.default.build.dfu_on_boot=0
26551+
esp32s3_powerfeather.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
26552+
esp32s3_powerfeather.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
26553+
26554+
esp32s3_powerfeather.menu.UploadMode.default=UART0 / Hardware CDC
26555+
esp32s3_powerfeather.menu.UploadMode.default.upload.use_1200bps_touch=false
26556+
esp32s3_powerfeather.menu.UploadMode.default.upload.wait_for_upload_port=false
26557+
esp32s3_powerfeather.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
26558+
esp32s3_powerfeather.menu.UploadMode.cdc.upload.use_1200bps_touch=true
26559+
esp32s3_powerfeather.menu.UploadMode.cdc.upload.wait_for_upload_port=true
26560+
26561+
esp32s3_powerfeather.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS)
26562+
esp32s3_powerfeather.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
26563+
esp32s3_powerfeather.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
26564+
esp32s3_powerfeather.menu.PartitionScheme.default_ffat_8MB=8M with ffat (3MB APP/1.5MB FATFS)
26565+
esp32s3_powerfeather.menu.PartitionScheme.default_ffat_8MB.build.partitions=default_ffat_8MB
26566+
esp32s3_powerfeather.menu.PartitionScheme.default_ffat_8MB.upload.maximum_size=3342336
26567+
esp32s3_powerfeather.menu.PartitionScheme.large_spiffs_8MB=Large SPIFFS (1.2MB APP/5.3MB SPIFFS)
26568+
esp32s3_powerfeather.menu.PartitionScheme.large_spiffs_8MB.build.partitions=large_spiffs_8MB
26569+
esp32s3_powerfeather.menu.PartitionScheme.large_spiffs_8MB.upload.maximum_size=1310720
26570+
esp32s3_powerfeather.menu.PartitionScheme.large_ffat_8MB=Large FFAT (1.2MB APP/5.3MB FATFS)
26571+
esp32s3_powerfeather.menu.PartitionScheme.large_ffat_8MB.build.partitions=large_ffat_8MB
26572+
esp32s3_powerfeather.menu.PartitionScheme.large_ffat_8MB.upload.maximum_size=1310720
26573+
esp32s3_powerfeather.menu.PartitionScheme.max_app_8MB=Maximum APP (7.9MB APP No OTA/No FS)
26574+
esp32s3_powerfeather.menu.PartitionScheme.max_app_8MB.build.partitions=max_app_8MB
26575+
esp32s3_powerfeather.menu.PartitionScheme.max_app_8MB.upload.maximum_size=8257536
26576+
26577+
esp32s3_powerfeather.menu.CPUFreq.240=240MHz (WiFi)
26578+
esp32s3_powerfeather.menu.CPUFreq.240.build.f_cpu=240000000L
26579+
esp32s3_powerfeather.menu.CPUFreq.160=160MHz (WiFi)
26580+
esp32s3_powerfeather.menu.CPUFreq.160.build.f_cpu=160000000L
26581+
esp32s3_powerfeather.menu.CPUFreq.80=80MHz (WiFi)
26582+
esp32s3_powerfeather.menu.CPUFreq.80.build.f_cpu=80000000L
26583+
esp32s3_powerfeather.menu.CPUFreq.40=40MHz
26584+
esp32s3_powerfeather.menu.CPUFreq.40.build.f_cpu=40000000L
26585+
esp32s3_powerfeather.menu.CPUFreq.20=20MHz
26586+
esp32s3_powerfeather.menu.CPUFreq.20.build.f_cpu=20000000L
26587+
esp32s3_powerfeather.menu.CPUFreq.10=10MHz
26588+
esp32s3_powerfeather.menu.CPUFreq.10.build.f_cpu=10000000L
26589+
26590+
esp32s3_powerfeather.menu.UploadSpeed.921600=921600
26591+
esp32s3_powerfeather.menu.UploadSpeed.921600.upload.speed=921600
26592+
esp32s3_powerfeather.menu.UploadSpeed.115200=115200
26593+
esp32s3_powerfeather.menu.UploadSpeed.115200.upload.speed=115200
26594+
esp32s3_powerfeather.menu.UploadSpeed.256000.windows=256000
26595+
esp32s3_powerfeather.menu.UploadSpeed.256000.upload.speed=256000
26596+
esp32s3_powerfeather.menu.UploadSpeed.230400.windows.upload.speed=256000
26597+
esp32s3_powerfeather.menu.UploadSpeed.230400=230400
26598+
esp32s3_powerfeather.menu.UploadSpeed.230400.upload.speed=230400
26599+
esp32s3_powerfeather.menu.UploadSpeed.460800.linux=460800
26600+
esp32s3_powerfeather.menu.UploadSpeed.460800.macosx=460800
26601+
esp32s3_powerfeather.menu.UploadSpeed.460800.upload.speed=460800
26602+
esp32s3_powerfeather.menu.UploadSpeed.512000.windows=512000
26603+
esp32s3_powerfeather.menu.UploadSpeed.512000.upload.speed=512000
26604+
26605+
esp32s3_powerfeather.menu.DebugLevel.none=None
26606+
esp32s3_powerfeather.menu.DebugLevel.none.build.code_debug=0
26607+
esp32s3_powerfeather.menu.DebugLevel.error=Error
26608+
esp32s3_powerfeather.menu.DebugLevel.error.build.code_debug=1
26609+
esp32s3_powerfeather.menu.DebugLevel.warn=Warn
26610+
esp32s3_powerfeather.menu.DebugLevel.warn.build.code_debug=2
26611+
esp32s3_powerfeather.menu.DebugLevel.info=Info
26612+
esp32s3_powerfeather.menu.DebugLevel.info.build.code_debug=3
26613+
esp32s3_powerfeather.menu.DebugLevel.debug=Debug
26614+
esp32s3_powerfeather.menu.DebugLevel.debug.build.code_debug=4
26615+
esp32s3_powerfeather.menu.DebugLevel.verbose=Verbose
26616+
esp32s3_powerfeather.menu.DebugLevel.verbose.build.code_debug=5
26617+
26618+
esp32s3_powerfeather.menu.EraseFlash.none=Disabled
26619+
esp32s3_powerfeather.menu.EraseFlash.none.upload.erase_cmd=
26620+
esp32s3_powerfeather.menu.EraseFlash.all=Enabled
26621+
esp32s3_powerfeather.menu.EraseFlash.all.upload.erase_cmd=-e
26622+
26623+
##############################################################

Diff for: tools/partitions/default_ffat_8MB.csv

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Name, Type, SubType, Offset, Size, Flags
2+
nvs, data, nvs, 0x9000, 0x5000,
3+
otadata, data, ota, 0xe000, 0x2000,
4+
app0, app, ota_0, 0x10000, 0x330000,
5+
app1, app, ota_1, 0x340000,0x330000,
6+
ffat, data, fat, 0x670000,0x180000,
7+
coredump, data, coredump,0x7F0000,0x10000,

Diff for: tools/partitions/large_ffat_8MB.csv

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Name, Type, SubType, Offset, Size, Flags
2+
nvs, data, nvs, 0x9000, 0x5000,
3+
otadata, data, ota, 0xe000, 0x2000,
4+
app0, app, ota_0, 0x10000, 0x140000,
5+
app1, app, ota_1, 0x150000,0x140000,
6+
ffat, data, fat, 0x290000,0x560000,
7+
coredump, data, coredump,0x7F0000,0x10000,

Diff for: tools/partitions/large_spiffs_8MB.csv

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Name, Type, SubType, Offset, Size, Flags
2+
nvs, data, nvs, 0x9000, 0x5000,
3+
otadata, data, ota, 0xe000, 0x2000,
4+
app0, app, ota_0, 0x10000, 0x140000,
5+
app1, app, ota_1, 0x150000,0x140000,
6+
spiffs, data, spiffs, 0x290000,0x560000,
7+
coredump, data, coredump,0x7F0000,0x10000,

Diff for: variants/esp32s3_powerfeather/pins_arduino.h

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#ifndef Pins_Arduino_h
2+
#define Pins_Arduino_h
3+
4+
#include <stdint.h>
5+
6+
#define USB_VID 0x303A
7+
#define USB_PID 0x81BB
8+
#define USB_MANUFACTURER "PowerFeather"
9+
#define USB_PRODUCT "ESP32-S3 PowerFeather"
10+
#define USB_SERIAL ""
11+
12+
#define NUM_DIGITAL_PINS 48
13+
#define EXTERNAL_NUM_INTERRUPTS NUM_DIGITAL_PINS
14+
#define NUM_ANALOG_INPUTS 20
15+
16+
#define analogInputToDigitalPin(p) (((p)<NUM_ANALOG_INPUTS)?(analogChannelToDigitalPin(p)):-1)
17+
#define digitalPinToInterrupt(p) (((p)<=NUM_DIGITAL_PINS)?(p):-1)
18+
#define digitalPinHasPWM(p) (p<=NUM_DIGITAL_PINS)
19+
20+
static const uint8_t ALARM = 21;
21+
static const uint8_t INT = 5;
22+
23+
static const uint8_t LED = 46;
24+
static const uint8_t BTN = 0;
25+
static const uint8_t EN = 7;
26+
27+
static const uint8_t TX = 44;
28+
static const uint8_t RX = 42;
29+
static const uint8_t TX0 = 43;
30+
31+
static const uint8_t SS = -1;
32+
static const uint8_t MISO = 41;
33+
static const uint8_t MOSI = 40;
34+
static const uint8_t SCK = 39;
35+
36+
static const uint8_t SCL = 36;
37+
static const uint8_t SDA = 35;
38+
39+
static const uint8_t A0 = 10;
40+
static const uint8_t A1 = 9;
41+
static const uint8_t A2 = 8;
42+
static const uint8_t A3 = 3;
43+
static const uint8_t A4 = 2;
44+
static const uint8_t A5 = 1;
45+
46+
static const uint8_t D5 = 15;
47+
static const uint8_t D6 = 16;
48+
static const uint8_t D7 = 37;
49+
static const uint8_t D8 = 6;
50+
static const uint8_t D9 = 17;
51+
static const uint8_t D10 = 18;
52+
static const uint8_t D11 = 45;
53+
static const uint8_t D12 = 12;
54+
static const uint8_t D13 = 11;
55+
56+
#define LED_BUILTIN 46
57+
#define BUILTIN_LED LED_BUILTIN // backward compatibility
58+
59+
#endif /* Pins_Arduino_h */

0 commit comments

Comments
 (0)