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

feat(3rd party board): Add Fri3d Badge 2024 (ESP32-S3-WROOM-1) #10143

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
219 changes: 219 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26726,6 +26726,225 @@ fm-devkit.menu.EraseFlash.none.upload.erase_cmd=
fm-devkit.menu.EraseFlash.all=Enabled
fm-devkit.menu.EraseFlash.all.upload.erase_cmd=-e

##############################################################
### Fri3d Badge 2024 (ESP32-S3-WROOM-1)

fri3d_2024_esp32s3.name=Fri3d Badge 2024 (ESP32-S3-WROOM-1)
fri3d_2024_esp32s3.vid.0=0x303a
fri3d_2024_esp32s3.pid.0=0x1001

fri3d_2024_esp32s3.bootloader.tool=esptool_py
fri3d_2024_esp32s3.bootloader.tool.default=esptool_py

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

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

fri3d_2024_esp32s3.serial.disableDTR=false
fri3d_2024_esp32s3.serial.disableRTS=false

fri3d_2024_esp32s3.build.tarch=xtensa
fri3d_2024_esp32s3.build.bootloader_addr=0x0
fri3d_2024_esp32s3.build.target=esp32s3
fri3d_2024_esp32s3.build.mcu=esp32s3
fri3d_2024_esp32s3.build.core=esp32
fri3d_2024_esp32s3.build.variant=fri3d_2024_esp32s3
fri3d_2024_esp32s3.build.board=FRI3D_2024_ESP32S3

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

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

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

fri3d_2024_esp32s3.menu.FlashMode.qio=QIO 80MHz
fri3d_2024_esp32s3.menu.FlashMode.qio.build.flash_mode=dio
fri3d_2024_esp32s3.menu.FlashMode.qio.build.boot=qio
fri3d_2024_esp32s3.menu.FlashMode.qio.build.boot_freq=80m
fri3d_2024_esp32s3.menu.FlashMode.qio.build.flash_freq=80m
fri3d_2024_esp32s3.menu.FlashMode.qio120=QIO 120MHz
fri3d_2024_esp32s3.menu.FlashMode.qio120.build.flash_mode=dio
fri3d_2024_esp32s3.menu.FlashMode.qio120.build.boot=qio
fri3d_2024_esp32s3.menu.FlashMode.qio120.build.boot_freq=120m
fri3d_2024_esp32s3.menu.FlashMode.qio120.build.flash_freq=80m
fri3d_2024_esp32s3.menu.FlashMode.dio=DIO 80MHz
fri3d_2024_esp32s3.menu.FlashMode.dio.build.flash_mode=dio
fri3d_2024_esp32s3.menu.FlashMode.dio.build.boot=dio
fri3d_2024_esp32s3.menu.FlashMode.dio.build.boot_freq=80m
fri3d_2024_esp32s3.menu.FlashMode.dio.build.flash_freq=80m
fri3d_2024_esp32s3.menu.FlashMode.opi=OPI 80MHz
fri3d_2024_esp32s3.menu.FlashMode.opi.build.flash_mode=dout
fri3d_2024_esp32s3.menu.FlashMode.opi.build.boot=opi
fri3d_2024_esp32s3.menu.FlashMode.opi.build.boot_freq=80m
fri3d_2024_esp32s3.menu.FlashMode.opi.build.flash_freq=80m

fri3d_2024_esp32s3.menu.FlashSize.default=16MB (128Mb)
fri3d_2024_esp32s3.menu.FlashSize.default.build.flash_size=16MB

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

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

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

fri3d_2024_esp32s3.menu.CDCOnBoot.default=Enabled
fri3d_2024_esp32s3.menu.CDCOnBoot.default.build.cdc_on_boot=1
fri3d_2024_esp32s3.menu.CDCOnBoot.disabled=Disabled
fri3d_2024_esp32s3.menu.CDCOnBoot.disabled.build.cdc_on_boot=0

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

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

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

fri3d_2024_esp32s3.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
fri3d_2024_esp32s3.menu.PartitionScheme.default.build.partitions=default
fri3d_2024_esp32s3.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
fri3d_2024_esp32s3.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
fri3d_2024_esp32s3.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS)
fri3d_2024_esp32s3.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
fri3d_2024_esp32s3.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
fri3d_2024_esp32s3.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
fri3d_2024_esp32s3.menu.PartitionScheme.minimal.build.partitions=minimal
fri3d_2024_esp32s3.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
fri3d_2024_esp32s3.menu.PartitionScheme.no_ota.build.partitions=no_ota
fri3d_2024_esp32s3.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
fri3d_2024_esp32s3.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
fri3d_2024_esp32s3.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
fri3d_2024_esp32s3.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
fri3d_2024_esp32s3.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
fri3d_2024_esp32s3.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
fri3d_2024_esp32s3.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
fri3d_2024_esp32s3.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
fri3d_2024_esp32s3.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
fri3d_2024_esp32s3.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
fri3d_2024_esp32s3.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
fri3d_2024_esp32s3.menu.PartitionScheme.huge_app.build.partitions=huge_app
fri3d_2024_esp32s3.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
fri3d_2024_esp32s3.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
fri3d_2024_esp32s3.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
fri3d_2024_esp32s3.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
fri3d_2024_esp32s3.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
fri3d_2024_esp32s3.menu.PartitionScheme.fatflash.build.partitions=ffat
fri3d_2024_esp32s3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
fri3d_2024_esp32s3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
fri3d_2024_esp32s3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
fri3d_2024_esp32s3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
fri3d_2024_esp32s3.menu.PartitionScheme.rainmaker=RainMaker
fri3d_2024_esp32s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
fri3d_2024_esp32s3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080
fri3d_2024_esp32s3.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA
fri3d_2024_esp32s3.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota
fri3d_2024_esp32s3.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656
fri3d_2024_esp32s3.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB
fri3d_2024_esp32s3.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB
fri3d_2024_esp32s3.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480

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

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

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

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

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

frogboard.name=Frog Board ESP32
Expand Down
127 changes: 127 additions & 0 deletions variants/fri3d_2024_esp32s3/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>
#include "soc/soc_caps.h"

#define USB_VID 0x303a
#define USB_PID 0x1001

static const uint8_t LED_BUILTIN = 21;
#define BUILTIN_LED LED_BUILTIN // backward compatibility
#define LED_BUILTIN LED_BUILTIN

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

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

static const uint8_t SS = 14;
static const uint8_t MOSI = 6;
static const uint8_t MISO = 8;
static const uint8_t SCK = 7;

#define X_FRI3D_BADGE_2024 // General Define for use in sketches or lib files
#define X_WS2812_NUM_LEDS 5 // Number of RBG LEDs

#define PIN_I2C_SDA SDA
#define PIN_I2C_SCL SCL
#define PIN_WS2812 12
#define X_WS2812_NUM_LEDS 5

#define PIN_LED 21
#define PIN_IR_RECEIVER 11
#define PIN_BLASTER 10
#define PIN_BUZZER 46
#define PIN_BATTERY 13

#define PIN_SDCARD_CS SS

#define PIN_JOY_X 1
#define PIN_JOY_Y 3

#define PIN_A 39
#define PIN_B 40
#define PIN_X 38
#define PIN_Y 41
#define PIN_MENU 45
#define PIN_START 0

#define PIN_AUX 42 // Fri3d Badge 2024 Aux Pwr

#define CHANNEL_BUZZER 0

// Fri3d Badge 2024 Accelero Gyro
#define X_ACCELERO_GYRO 21

// I2S microphone on communicator addon
#define I2S_MIC_CHANNEL I2S_CHANNEL_FMT_ONLY_LEFT
#define I2S_MIC_SERIAL_CLOCK 17 //serial clock SCLK: pin SCK
#define I2S_MIC_LEFT_RIGHT_CLOCK 47 //left/right clock LRCK: pin WS
#define I2S_MIC_SERIAL_DATA 15 //serial data DIN: pin SD

// Fri3d Badge 2024 LCD
// For using display with TFT_eSPI library
#define USER_SETUP_LOADED
#define SPI_FREQUENCY 80000000
#define ST7789_DRIVER
#define USE_HSPI_PORT

#define TFT_RGB_ORDER TFT_BGR //# swap red and blue byte order
#define TFT_INVERSION_OFF
#define TFT_WIDTH 296 //;setting these will init the eSPI lib with correct dimensions
#define TFT_HEIGHT 240 //;setting these will init the eSPI lib with correct dimensions
#define TFT_MISO MISO
#define TFT_MOSI MOSI
#define TFT_SCLK SCK
#define TFT_CS 5
#define TFT_DC 4
#define TFT_RST 48
#define LOAD_GLCD 1
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF
#define SMOOTH_FONT
#define SPI_FREQUENCY 80000000

static const uint8_t A0 = 1;
static const uint8_t A1 = 2;
static const uint8_t A2 = 3;
static const uint8_t A3 = 4;
static const uint8_t A4 = 5;
static const uint8_t A5 = 6;
static const uint8_t A6 = 7;
static const uint8_t A7 = 8;
static const uint8_t A8 = 9;
static const uint8_t A9 = 10;
static const uint8_t A10 = 11;
static const uint8_t A11 = 12;
static const uint8_t A12 = 13;
static const uint8_t A13 = 14;
static const uint8_t A14 = 15;
static const uint8_t A15 = 16;
static const uint8_t A16 = 17;
static const uint8_t A17 = 18;
static const uint8_t A18 = 19;
static const uint8_t A19 = 20;

static const uint8_t T1 = 1;
static const uint8_t T2 = 2;
static const uint8_t T3 = 3;
static const uint8_t T4 = 4;
static const uint8_t T5 = 5;
static const uint8_t T6 = 6;
static const uint8_t T7 = 7;
static const uint8_t T8 = 8;
static const uint8_t T9 = 9;
static const uint8_t T10 = 10;
static const uint8_t T11 = 11;
static const uint8_t T12 = 12;
static const uint8_t T13 = 13;
static const uint8_t T14 = 14;

#endif /* Pins_Arduino_h */