Skip to content

Commit d75795f

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 622ddc5 commit d75795f

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
@@ -26852,3 +26852,176 @@ motorgo_mini_1.menu.EraseFlash.all=Enabled
2685226852
motorgo_mini_1.menu.EraseFlash.all.upload.erase_cmd=-e
2685326853

2685426854
##############################################################
26855+
26856+
# ESP32-S3 PowerFeather
26857+
26858+
esp32s3_powerfeather.name=ESP32-S3 PowerFeather
26859+
esp32s3_powerfeather.vid.0=0x303a
26860+
esp32s3_powerfeather.pid.0=0x81BB
26861+
26862+
esp32s3_powerfeather.bootloader.tool=esptool_py
26863+
esp32s3_powerfeather.bootloader.tool.default=esptool_py
26864+
26865+
esp32s3_powerfeather.upload.tool=esptool_py
26866+
esp32s3_powerfeather.upload.tool.default=esptool_py
26867+
esp32s3_powerfeather.upload.tool.network=esp_ota
26868+
26869+
esp32s3_powerfeather.upload.maximum_size=1310720
26870+
esp32s3_powerfeather.upload.maximum_data_size=327680
26871+
esp32s3_powerfeather.upload.flags=
26872+
esp32s3_powerfeather.upload.extra_flags=
26873+
esp32s3_powerfeather.upload.use_1200bps_touch=false
26874+
esp32s3_powerfeather.upload.wait_for_upload_port=false
26875+
26876+
esp32s3_powerfeather.serial.disableDTR=false
26877+
esp32s3_powerfeather.serial.disableRTS=false
26878+
26879+
esp32s3_powerfeather.build.tarch=xtensa
26880+
esp32s3_powerfeather.build.bootloader_addr=0x0
26881+
esp32s3_powerfeather.build.target=esp32s3
26882+
esp32s3_powerfeather.build.mcu=esp32s3
26883+
esp32s3_powerfeather.build.core=esp32
26884+
esp32s3_powerfeather.build.variant=esp32s3_powerfeather
26885+
esp32s3_powerfeather.build.board=ESP32S3_POWERFEATHER
26886+
26887+
esp32s3_powerfeather.build.usb_mode=1
26888+
esp32s3_powerfeather.build.cdc_on_boot=1
26889+
esp32s3_powerfeather.build.msc_on_boot=0
26890+
esp32s3_powerfeather.build.dfu_on_boot=0
26891+
esp32s3_powerfeather.build.f_cpu=240000000L
26892+
esp32s3_powerfeather.build.flash_size=8MB
26893+
esp32s3_powerfeather.build.flash_freq=80m
26894+
esp32s3_powerfeather.build.flash_mode=dio
26895+
esp32s3_powerfeather.build.boot=qio
26896+
esp32s3_powerfeather.build.boot_freq=80m
26897+
esp32s3_powerfeather.build.partitions=default_8MB
26898+
esp32s3_powerfeather.build.defines=
26899+
esp32s3_powerfeather.build.loop_core=
26900+
esp32s3_powerfeather.build.event_core=
26901+
esp32s3_powerfeather.build.flash_type=qio
26902+
esp32s3_powerfeather.build.psram_type=qspi
26903+
esp32s3_powerfeather.build.memory_type={build.flash_type}_{build.psram_type}
26904+
26905+
esp32s3_powerfeather.menu.PSRAM.disabled=Disabled
26906+
esp32s3_powerfeather.menu.PSRAM.disabled.build.defines=
26907+
esp32s3_powerfeather.menu.PSRAM.disabled.build.psram_type=qspi
26908+
esp32s3_powerfeather.menu.PSRAM.enabled=QSPI PSRAM
26909+
esp32s3_powerfeather.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
26910+
esp32s3_powerfeather.menu.PSRAM.enabled.build.psram_type=qspi
26911+
26912+
esp32s3_powerfeather.menu.FlashMode.qio=QIO 80MHz
26913+
esp32s3_powerfeather.menu.FlashMode.qio.build.flash_mode=dio
26914+
esp32s3_powerfeather.menu.FlashMode.qio.build.boot=qio
26915+
esp32s3_powerfeather.menu.FlashMode.qio.build.boot_freq=80m
26916+
esp32s3_powerfeather.menu.FlashMode.qio.build.flash_freq=80m
26917+
esp32s3_powerfeather.menu.FlashMode.qio120=QIO 120MHz
26918+
esp32s3_powerfeather.menu.FlashMode.qio120.build.flash_mode=dio
26919+
esp32s3_powerfeather.menu.FlashMode.qio120.build.boot=qio
26920+
esp32s3_powerfeather.menu.FlashMode.qio120.build.boot_freq=120m
26921+
esp32s3_powerfeather.menu.FlashMode.qio120.build.flash_freq=80m
26922+
esp32s3_powerfeather.menu.FlashMode.dio=DIO 80MHz
26923+
esp32s3_powerfeather.menu.FlashMode.dio.build.flash_mode=dio
26924+
esp32s3_powerfeather.menu.FlashMode.dio.build.boot=dio
26925+
esp32s3_powerfeather.menu.FlashMode.dio.build.boot_freq=80m
26926+
esp32s3_powerfeather.menu.FlashMode.dio.build.flash_freq=80m
26927+
26928+
esp32s3_powerfeather.menu.LoopCore.1=Core 1
26929+
esp32s3_powerfeather.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
26930+
esp32s3_powerfeather.menu.LoopCore.0=Core 0
26931+
esp32s3_powerfeather.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
26932+
26933+
esp32s3_powerfeather.menu.EventsCore.1=Core 1
26934+
esp32s3_powerfeather.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
26935+
esp32s3_powerfeather.menu.EventsCore.0=Core 0
26936+
esp32s3_powerfeather.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
26937+
26938+
esp32s3_powerfeather.menu.USBMode.hwcdc=Hardware CDC and JTAG
26939+
esp32s3_powerfeather.menu.USBMode.hwcdc.build.usb_mode=1
26940+
esp32s3_powerfeather.menu.USBMode.default=USB-OTG (TinyUSB)
26941+
esp32s3_powerfeather.menu.USBMode.default.build.usb_mode=0
26942+
26943+
esp32s3_powerfeather.menu.CDCOnBoot.cdc=Enabled
26944+
esp32s3_powerfeather.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
26945+
esp32s3_powerfeather.menu.CDCOnBoot.default=Disabled
26946+
esp32s3_powerfeather.menu.CDCOnBoot.default.build.cdc_on_boot=0
26947+
26948+
esp32s3_powerfeather.menu.MSCOnBoot.default=Disabled
26949+
esp32s3_powerfeather.menu.MSCOnBoot.default.build.msc_on_boot=0
26950+
esp32s3_powerfeather.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
26951+
esp32s3_powerfeather.menu.MSCOnBoot.msc.build.msc_on_boot=1
26952+
26953+
esp32s3_powerfeather.menu.DFUOnBoot.default=Disabled
26954+
esp32s3_powerfeather.menu.DFUOnBoot.default.build.dfu_on_boot=0
26955+
esp32s3_powerfeather.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
26956+
esp32s3_powerfeather.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
26957+
26958+
esp32s3_powerfeather.menu.UploadMode.default=UART0 / Hardware CDC
26959+
esp32s3_powerfeather.menu.UploadMode.default.upload.use_1200bps_touch=false
26960+
esp32s3_powerfeather.menu.UploadMode.default.upload.wait_for_upload_port=false
26961+
esp32s3_powerfeather.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
26962+
esp32s3_powerfeather.menu.UploadMode.cdc.upload.use_1200bps_touch=true
26963+
esp32s3_powerfeather.menu.UploadMode.cdc.upload.wait_for_upload_port=true
26964+
26965+
esp32s3_powerfeather.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS)
26966+
esp32s3_powerfeather.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
26967+
esp32s3_powerfeather.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
26968+
esp32s3_powerfeather.menu.PartitionScheme.default_ffat_8MB=8M with ffat (3MB APP/1.5MB FATFS)
26969+
esp32s3_powerfeather.menu.PartitionScheme.default_ffat_8MB.build.partitions=default_ffat_8MB
26970+
esp32s3_powerfeather.menu.PartitionScheme.default_ffat_8MB.upload.maximum_size=3342336
26971+
esp32s3_powerfeather.menu.PartitionScheme.large_spiffs_8MB=Large SPIFFS (1.2MB APP/5.3MB SPIFFS)
26972+
esp32s3_powerfeather.menu.PartitionScheme.large_spiffs_8MB.build.partitions=large_spiffs_8MB
26973+
esp32s3_powerfeather.menu.PartitionScheme.large_spiffs_8MB.upload.maximum_size=1310720
26974+
esp32s3_powerfeather.menu.PartitionScheme.large_ffat_8MB=Large FFAT (1.2MB APP/5.3MB FATFS)
26975+
esp32s3_powerfeather.menu.PartitionScheme.large_ffat_8MB.build.partitions=large_ffat_8MB
26976+
esp32s3_powerfeather.menu.PartitionScheme.large_ffat_8MB.upload.maximum_size=1310720
26977+
esp32s3_powerfeather.menu.PartitionScheme.max_app_8MB=Maximum APP (7.9MB APP No OTA/No FS)
26978+
esp32s3_powerfeather.menu.PartitionScheme.max_app_8MB.build.partitions=max_app_8MB
26979+
esp32s3_powerfeather.menu.PartitionScheme.max_app_8MB.upload.maximum_size=8257536
26980+
26981+
esp32s3_powerfeather.menu.CPUFreq.240=240MHz (WiFi)
26982+
esp32s3_powerfeather.menu.CPUFreq.240.build.f_cpu=240000000L
26983+
esp32s3_powerfeather.menu.CPUFreq.160=160MHz (WiFi)
26984+
esp32s3_powerfeather.menu.CPUFreq.160.build.f_cpu=160000000L
26985+
esp32s3_powerfeather.menu.CPUFreq.80=80MHz (WiFi)
26986+
esp32s3_powerfeather.menu.CPUFreq.80.build.f_cpu=80000000L
26987+
esp32s3_powerfeather.menu.CPUFreq.40=40MHz
26988+
esp32s3_powerfeather.menu.CPUFreq.40.build.f_cpu=40000000L
26989+
esp32s3_powerfeather.menu.CPUFreq.20=20MHz
26990+
esp32s3_powerfeather.menu.CPUFreq.20.build.f_cpu=20000000L
26991+
esp32s3_powerfeather.menu.CPUFreq.10=10MHz
26992+
esp32s3_powerfeather.menu.CPUFreq.10.build.f_cpu=10000000L
26993+
26994+
esp32s3_powerfeather.menu.UploadSpeed.921600=921600
26995+
esp32s3_powerfeather.menu.UploadSpeed.921600.upload.speed=921600
26996+
esp32s3_powerfeather.menu.UploadSpeed.115200=115200
26997+
esp32s3_powerfeather.menu.UploadSpeed.115200.upload.speed=115200
26998+
esp32s3_powerfeather.menu.UploadSpeed.256000.windows=256000
26999+
esp32s3_powerfeather.menu.UploadSpeed.256000.upload.speed=256000
27000+
esp32s3_powerfeather.menu.UploadSpeed.230400.windows.upload.speed=256000
27001+
esp32s3_powerfeather.menu.UploadSpeed.230400=230400
27002+
esp32s3_powerfeather.menu.UploadSpeed.230400.upload.speed=230400
27003+
esp32s3_powerfeather.menu.UploadSpeed.460800.linux=460800
27004+
esp32s3_powerfeather.menu.UploadSpeed.460800.macosx=460800
27005+
esp32s3_powerfeather.menu.UploadSpeed.460800.upload.speed=460800
27006+
esp32s3_powerfeather.menu.UploadSpeed.512000.windows=512000
27007+
esp32s3_powerfeather.menu.UploadSpeed.512000.upload.speed=512000
27008+
27009+
esp32s3_powerfeather.menu.DebugLevel.none=None
27010+
esp32s3_powerfeather.menu.DebugLevel.none.build.code_debug=0
27011+
esp32s3_powerfeather.menu.DebugLevel.error=Error
27012+
esp32s3_powerfeather.menu.DebugLevel.error.build.code_debug=1
27013+
esp32s3_powerfeather.menu.DebugLevel.warn=Warn
27014+
esp32s3_powerfeather.menu.DebugLevel.warn.build.code_debug=2
27015+
esp32s3_powerfeather.menu.DebugLevel.info=Info
27016+
esp32s3_powerfeather.menu.DebugLevel.info.build.code_debug=3
27017+
esp32s3_powerfeather.menu.DebugLevel.debug=Debug
27018+
esp32s3_powerfeather.menu.DebugLevel.debug.build.code_debug=4
27019+
esp32s3_powerfeather.menu.DebugLevel.verbose=Verbose
27020+
esp32s3_powerfeather.menu.DebugLevel.verbose.build.code_debug=5
27021+
27022+
esp32s3_powerfeather.menu.EraseFlash.none=Disabled
27023+
esp32s3_powerfeather.menu.EraseFlash.none.upload.erase_cmd=
27024+
esp32s3_powerfeather.menu.EraseFlash.all=Enabled
27025+
esp32s3_powerfeather.menu.EraseFlash.all.upload.erase_cmd=-e
27026+
27027+
##############################################################

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)