Skip to content
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

Added Sparkfun ESP32-S3 Thing Plus board #10382

Merged
merged 10 commits into from
Sep 30, 2024
217 changes: 217 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6904,6 +6904,223 @@ sparkfun_esp32s2_thing_plus.menu.EraseFlash.none.upload.erase_cmd=
sparkfun_esp32s2_thing_plus.menu.EraseFlash.all=Enabled
sparkfun_esp32s2_thing_plus.menu.EraseFlash.all.upload.erase_cmd=-e

##############################################################
# Sparkfun ESP32S3 Thing Plus

sparkfun_esp32s3_thing_plus.name=SparkFun ESP32-S3 Thing Plus
sparkfun_esp32s3_thing_plus.bootloader.tool=esptool_py
sparkfun_esp32s3_thing_plus.bootloader.tool.default=esptool_py

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

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

sparkfun_esp32s3_thing_plus.serial.disableDTR=false
sparkfun_esp32s3_thing_plus.serial.disableRTS=false

sparkfun_esp32s3_thing_plus.build.tarch=xtensa
sparkfun_esp32s3_thing_plus.build.bootloader_addr=0x0
sparkfun_esp32s3_thing_plus.build.target=esp32s3
sparkfun_esp32s3_thing_plus.build.mcu=esp32s3
sparkfun_esp32s3_thing_plus.build.core=esp32
sparkfun_esp32s3_thing_plus.build.variant=sparkfun_esp32s3_thing_plus
sparkfun_esp32s3_thing_plus.build.board=SPARKFUN_ESP32S3_THING_PLUS

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

## IDE 2.0 Seems to not update the value
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.default=Disabled
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.default.build.copy_jtag_files=0
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.builtin=Integrated USB JTAG
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.builtin.build.copy_jtag_files=1
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.external=FTDI Adapter
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.external.build.copy_jtag_files=1
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.bridge=ESP USB Bridge
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg
sparkfun_esp32s3_thing_plus.menu.JTAGAdapter.bridge.build.copy_jtag_files=1

sparkfun_esp32s3_thing_plus.menu.PSRAM.enabled=QSPI PSRAM
sparkfun_esp32s3_thing_plus.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
sparkfun_esp32s3_thing_plus.menu.PSRAM.enabled.build.psram_type=qspi

sparkfun_esp32s3_thing_plus.menu.PSRAM.disabled=Disabled
sparkfun_esp32s3_thing_plus.menu.PSRAM.disabled.build.defines=
sparkfun_esp32s3_thing_plus.menu.PSRAM.disabled.build.psram_type=qspi
sparkfun_esp32s3_thing_plus.menu.PSRAM.opi=OPI PSRAM
sparkfun_esp32s3_thing_plus.menu.PSRAM.opi.build.defines=-DBOARD_HAS_PSRAM
sparkfun_esp32s3_thing_plus.menu.PSRAM.opi.build.psram_type=opi

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

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

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

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

# sparkfun says to put that to Enabled but it fails
sparkfun_esp32s3_thing_plus.menu.CDCOnBoot.default=Disabled
sparkfun_esp32s3_thing_plus.menu.CDCOnBoot.default.build.cdc_on_boot=0
sparkfun_esp32s3_thing_plus.menu.CDCOnBoot.cdc=Enabled
sparkfun_esp32s3_thing_plus.menu.CDCOnBoot.cdc.build.cdc_on_boot=1

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

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

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

sparkfun_esp32s3_thing_plus.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.default.build.partitions=default
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.minimal.build.partitions=minimal
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2)
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_fs.build.partitions=no_fs
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_fs.upload.maximum_size=2031616
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_ota.build.partitions=no_ota
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.huge_app.build.partitions=huge_app
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker=RainMaker 4MB
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.custom=Custom
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.custom.build.partitions=
sparkfun_esp32s3_thing_plus.menu.PartitionScheme.custom.upload.maximum_size=16777216

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

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

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

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

sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.default=Disabled
sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.default.build.zigbee_mode=
sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.default.build.zigbee_libs=
sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator)
sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR
sparkfun_esp32s3_thing_plus.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port

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

sparkfun_esp32c6_thing_plus.name=SparkFun ESP32-C6 Thing Plus
Expand Down
61 changes: 61 additions & 0 deletions variants/sparkfun_esp32s3_thing_plus/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

//#define USB_VID 0x303A
//#define USB_PID 0x1001
//#define USB_MANUFACTURER "Sparkfun"
//#define USB_PRODUCT "ESP32-S3 Thing Plus"
#define USB_SERIAL ""

#define LED_PIN 46 //Pin 46 on Thing Plus C S3 is connected to WS2812 LED
#define COLOR_ORDER GRB
#define CHIPSET WS2812
#define NUM_LEDS 1
#define BRIGHTNESS 25
#define LED_BUILTIN LED_PIN
#define BUILTIN_LED LED_BUILTIN // backward compatibility

static const uint8_t LED = LED_PIN;
static const uint8_t STAT_LED = 0;
static const uint8_t BTN = 0;
static const uint8_t Q_EN = 45;

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

static const uint8_t SS = 10;
static const uint8_t MISO = 13; //POCI
static const uint8_t MOSI = 11; //PICO
static const uint8_t SCK = 12;

static const uint8_t SCL = 9;
static const uint8_t SDA = 8;

static const uint8_t A0 = 10;
static const uint8_t A1 = 14;
static const uint8_t A2 = 15;
static const uint8_t A3 = 16;
static const uint8_t A4 = 17;
static const uint8_t A5 = 18;

static const uint8_t GPIO0 = 21;
static const uint8_t GPIO1 = 7;
static const uint8_t GPIO2 = 6;
static const uint8_t GPIO3 = 5;
static const uint8_t GPIO4 = 4;
static const uint8_t GPIO5 = 2;
static const uint8_t GPIO6 = 1;

static const uint8_t FREEBIE = 42;

static const uint8_t SDIO_DET = 48;
static const uint8_t SDIO0 = 39;
static const uint8_t SDIO1 = 40;
static const uint8_t SDIO2 = 47;
static const uint8_t SDIO3 = 33;
static const uint8_t SDIO_CLK = 38;
static const uint8_t SDIO_CMD = 34;

#endif /* Pins_Arduino_h */