Skip to content

Adding New Lion:Bit STEM Board #8569

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 6 commits into from
Aug 30, 2023
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
225 changes: 225 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24624,6 +24624,230 @@ nebulas3.menu.EraseFlash.all.upload.erase_cmd=-e

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

lionbits3.name=Lion:Bit S3 STEM Dev Board
lionbits3.vid.0=0x303a
lionbits3.pid.0=0x1001

lionbits3.bootloader.tool=esptool_py
lionbits3.bootloader.tool.default=esptool_py

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

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

lionbits3.serial.disableDTR=false
lionbits3.serial.disableRTS=false

lionbits3.build.tarch=xtensa
lionbits3.build.bootloader_addr=0x0
lionbits3.build.target=esp32s3
lionbits3.build.mcu=esp32s3
lionbits3.build.core=esp32
lionbits3.build.variant=lionbits3
lionbits3.build.board=LIONBITS3_DEV


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


lionbits3.menu.JTAGAdapter.default=Disabled
lionbits3.menu.JTAGAdapter.default.build.copy_jtag_files=0
lionbits3.menu.JTAGAdapter.builtin=Integrated USB JTAG
lionbits3.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg
lionbits3.menu.JTAGAdapter.builtin.build.copy_jtag_files=1
lionbits3.menu.JTAGAdapter.external=FTDI Adapter
lionbits3.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg
lionbits3.menu.JTAGAdapter.external.build.copy_jtag_files=1
lionbits3.menu.JTAGAdapter.bridge=ESP USB Bridge
lionbits3.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg
lionbits3.menu.JTAGAdapter.bridge.build.copy_jtag_files=1

lionbits3.menu.PSRAM.disabled=Disabled
lionbits3.menu.PSRAM.disabled.build.defines=
lionbits3.menu.PSRAM.disabled.build.psram_type=qspi
lionbits3.menu.PSRAM.enabled=QSPI PSRAM
lionbits3.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
lionbits3.menu.PSRAM.enabled.build.psram_type=qspi
lionbits3.menu.PSRAM.opi=OPI PSRAM
lionbits3.menu.PSRAM.opi.build.defines=-DBOARD_HAS_PSRAM
lionbits3.menu.PSRAM.opi.build.psram_type=opi

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

lionbits3.menu.FlashSize.4M=4MB (32Mb)
lionbits3.menu.FlashSize.4M.build.flash_size=4MB
lionbits3.menu.FlashSize.8M=8MB (64Mb)
lionbits3.menu.FlashSize.8M.build.flash_size=8MB
lionbits3.menu.FlashSize.8M.build.partitions=default_8MB
lionbits3.menu.FlashSize.16M=16MB (128Mb)
lionbits3.menu.FlashSize.16M.build.flash_size=16MB
#lionbits3.menu.FlashSize.32M=32MB (256Mb)
#lionbits3.menu.FlashSize.32M.build.flash_size=32MB

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

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

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

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

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

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

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

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

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

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

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

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

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


gen4-ESP32-S3R8n16.name=4D Systems gen4-ESP32 16MB Modules (ESP32-S3R8n16)
gen4-ESP32-S3R8n16.vid.0=0x303a
gen4-ESP32-S3R8n16.pid.0=0x1001
Expand Down Expand Up @@ -25172,3 +25396,4 @@ namino_arancio.menu.EraseFlash.all=Enabled
namino_arancio.menu.EraseFlash.all.upload.erase_cmd=-e

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

99 changes: 99 additions & 0 deletions variants/lionbits3/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

#define EXTERNAL_NUM_INTERRUPTS 16
#define NUM_DIGITAL_PINS 40
#define NUM_ANALOG_INPUTS 16

#define analogInputToDigitalPin(p) (((p) < 20) ? (analogChannelToDigitalPin(p)) : -1)
#define digitalPinToInterrupt(p) (((p) < 40) ? (p) : -1)
#define digitalPinHasPWM(p) (p < 34)

static const uint8_t LED_BUILTIN = 0; //GPIO0,
static const uint8_t SWITCH_A = 46; //GPIO46,
static const uint8_t SWITCH_B = 47; //GPIO47,
//Wifi and Bluetooth LEDs
static const uint8_t WIFI_LED = 38;
static const uint8_t BT_LED = 37;


static const uint8_t TX = 1;
static const uint8_t RX = 3;
//-------------------------------------------------------------------
static const uint8_t U1RX = 9; //IO,GPIO9
static const uint8_t U1TX = 10;//IO,GPIO10
/* LionBits3 pin setup */
static const uint8_t D0 = 3; //RX,GPIO3,MCPWM
static const uint8_t D1 = 1; //TX,GPIO1,ADC1_CH0,MCPWM
static const uint8_t D2 = 9; //IO,GPIO9,ADC1_CH8,TOUCH9,MCPWM
static const uint8_t D3 = 10; //IO,GPIO10,ADC1_CH9,TOUCH10,MCPWM
static const uint8_t D4 = 11; //IO,GPIO11,ADC2_CH0,TOUCH11,MCPWM
static const uint8_t D5 = 12; //IO,GPIO12,ADC2_CH1,TOUCH12,MCPWM
static const uint8_t D6 = 13; //IO,GPIO13,ADC2_CH2,TOUCH13,MCPWM
static const uint8_t D7 = 14; //IO,GPIO14,ADC2_CH3,TOUCH14,MCPWM
static const uint8_t D8 = 15; //IO,GPIO15,ADC2_CH4,MCPWM
static const uint8_t D9 = 16; //IO,GPIO16,ADC2_CH5,MCPWM
static const uint8_t D10 = 17; //IO,GPIO17,ADC2_CH6,MCPWM
static const uint8_t D11 = 18; //IO,GPIO18,ADC2_CH7,MCPWM
static const uint8_t D12 = 8; //IO,GPIO8,ADC1_CH7,MCPWM
static const uint8_t D13 = 39; //IO,GPIO39,MCPWM
static const uint8_t D14 = 40; //IO,GPIO40,MCPWM
static const uint8_t D15 = 41; //IO,GPIO41,MCPWM
static const uint8_t D16 = 48; //IO,GPIO48,MCPWM
static const uint8_t D17 = 21; //IO,GPIO21,MCPWM

//Other pins.
static const uint8_t BUZZER = 21;
static const uint8_t LDR = 7;

static const uint8_t RGBLED = 48;

// Analog to Digital Converter (Support 5V) ADC2 pins not recommended while using Wifi
static const uint8_t A0 = 2; //IO,GPIO2,ADC1_CH1,TOUCH2,MCPWM
static const uint8_t A1 = 1; //IO,GPIO1,ADC1_CH0,TOUCH1,MCPWM
static const uint8_t A2 = 3; //IO,GPIO3,ADC1_CH2,TOUCH3,MCPWM
static const uint8_t A3 = 4; //IO,GPIO4,ADC1_CH3,TOUCH4,MCPWM
static const uint8_t A4 = 5; //IO,GPIO5,ADC1_CH4,TOUCH5,MCPWM
static const uint8_t A5 = 6; //IO,GPIO6,ADC1_CH5,TOUCH6,MCPWM
static const uint8_t A6 = 7; //IO,GPIO7,ADC1_CH6,TOUCH7,MCPWM
static const uint8_t AD1 = 7; //IO,GPIO7,ADC1_CH6,TOUCH7,MCPWM


// Inbuilt Display Unit 128*128 ST7735 Driver New

static const uint8_t SDA = 40; //GPIO40;
static const uint8_t SCL = 41; //GPIO41;

/* Hardware HSPI */
static const uint8_t MOSI = 35; //GPIO35;
static const uint8_t MISO = 37; //GPIO37;
static const uint8_t SCK = 36; //GPIO36;
static const uint8_t SS = 34; //GPIO34;
static const uint8_t SDO = 35; //GPIO35;
static const uint8_t SDI = 37; //GPIO37;
//----------------------------------

static const uint8_t TFT_RST = 38; //GPIO38;
static const uint8_t TFT_SCLK = 35; //GPIO35;
static const uint8_t TFT_CS = 42; //GPIO42;
static const uint8_t TFT_DC = 37; //GPIO37;
static const uint8_t TFT_MOSI = 36; //GPIO36;

static const uint8_t LCD_A0 = 37; //GPIO37,
static const uint8_t LCD_BACK_LIGHT = 45; //GPIO45,
static const uint8_t DAC1 = 21; //GPIO21,
//LCD aditional pins

//Adafruit 128*128 ST7735 Driver New
static const uint8_t rst = 38;
static const uint8_t sclk = 35;
static const uint8_t cs = 42;
static const uint8_t dc = 37;
static const uint8_t mosi = 36;

#define VP 36 //GPIO36,
#define VN 39 //GPIO39,

#endif /* Pins_Arduino_h */