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

Add board: Nebula S3 #8257

Merged
merged 9 commits into from
May 31, 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
221 changes: 221 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23243,3 +23243,224 @@ crabik_slot_esp32_s3.menu.EraseFlash.all=Enabled
crabik_slot_esp32_s3.menu.EraseFlash.all.upload.erase_cmd=-e

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


nebulas3.name=Nebula S3
nebulas3.vid.0=0x303a
nebulas3.pid.0=0x1001

nebulas3.bootloader.tool=esptool_py
nebulas3.bootloader.tool.default=esptool_py

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

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

nebulas3.serial.disableDTR=false
nebulas3.serial.disableRTS=false

nebulas3.build.tarch=xtensa
nebulas3.build.bootloader_addr=0x0
nebulas3.build.target=esp32s3
nebulas3.build.mcu=esp32s3
nebulas3.build.core=esp32
nebulas3.build.variant=Nebula_S3
nebulas3.build.board=NEBULAS3
DocMonster7 marked this conversation as resolved.
Show resolved Hide resolved

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

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

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

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

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

DocMonster7 marked this conversation as resolved.
Show resolved Hide resolved
nebulas3.menu.LoopCore.1=Core 1
nebulas3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
nebulas3.menu.LoopCore.0=Core 0
nebulas3.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0

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

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

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

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

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

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

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

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

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

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

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

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

#include <stdint.h>

#define USB_VID 0x303a
#define USB_PID 0x1001

#define EXTERNAL_NUM_INTERRUPTS 20
#define NUM_DIGITAL_PINS 20
#define NUM_ANALOG_INPUTS 6

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


static const uint8_t LED_BUILTIN = 45;
#define BUILTIN_LED LED_BUILTIN // backward compatibility
#define LED_BUILTIN LED_BUILTIN
#define RGB_BUILTIN LED_BUILTIN
#define RGB_BRIGHTNESS 64

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

static const uint8_t SDA = 12;
static const uint8_t SCL = 13;

static const uint8_t SDA1 = 2;
static const uint8_t SCL1 = 1;

static const uint8_t SS = 41;
static const uint8_t MOSI = 40;
static const uint8_t MISO = 39;
static const uint8_t SCK = 38;

static const uint8_t D0 = 1;
static const uint8_t D1 = 2;
static const uint8_t D2 = 44;
static const uint8_t D3 = 43;
static const uint8_t D4 = 42;
static const uint8_t D5 = 41;
static const uint8_t D6 = 40;
static const uint8_t D7 = 39;
static const uint8_t D8 = 38;
static const uint8_t D9 = 27;
static const uint8_t D10 = 45;
static const uint8_t D11 = 4;
static const uint8_t D12 = 5;
static const uint8_t D13 = 6;
static const uint8_t D14 = 7;
static const uint8_t D15 = 15;
static const uint8_t D16 = 16;
static const uint8_t D17 = 17;
static const uint8_t D18 = 18;

static const uint8_t A0 = 4;
static const uint8_t A1 = 5;
static const uint8_t A2 = 6;
static const uint8_t A3 = 7;
static const uint8_t A4 = 1;
static const uint8_t A5 = 2;


#endif /* Pins_Arduino_h */