From 5d07ae9e1c790af8b7bb63cf025540978123b996 Mon Sep 17 00:00:00 2001 From: Peter Buchegger Date: Sun, 22 Oct 2023 08:24:10 +0200 Subject: [PATCH] add t-beam-s3-core --- boards/tbeam-s3-core.json | 46 +++++++++++++++++++++ variants/tbeam-s3-core/pins_arduino.h | 57 +++++++++++++++++++++++++++ variants/tbeam-s3-core/platformio.ini | 9 +++++ 3 files changed, 112 insertions(+) create mode 100644 boards/tbeam-s3-core.json create mode 100644 variants/tbeam-s3-core/pins_arduino.h create mode 100644 variants/tbeam-s3-core/platformio.ini diff --git a/boards/tbeam-s3-core.json b/boards/tbeam-s3-core.json new file mode 100644 index 0000000..52c511c --- /dev/null +++ b/boards/tbeam-s3-core.json @@ -0,0 +1,46 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s3_out.ld" + }, + "core": "esp32", + "extra_flags": [ + "-DBOARD_HAS_PSRAM", + "-DLILYGO_TBEAM_S3_CORE", + "-DARDUINO_USB_CDC_ON_BOOT=1", + "-DARDUINO_USB_MODE=0", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0X303A", + "0x1001" + ] + ], + "mcu": "esp32s3", + "variant": "tbeam-s3-core" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino" + ], + "name": "LilyGo TBeam-S3-Core", + "upload": { + "flash_size": "8MB", + "maximum_ram_size": 327680, + "maximum_size": 8388608, + "require_upload_port": true, + "speed": 921600 + }, + "url": "http://www.lilygo.cn/", + "vendor": "LilyGo" +} diff --git a/variants/tbeam-s3-core/pins_arduino.h b/variants/tbeam-s3-core/pins_arduino.h new file mode 100644 index 0000000..c1c8061 --- /dev/null +++ b/variants/tbeam-s3-core/pins_arduino.h @@ -0,0 +1,57 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +#define USB_VID 0x303a +#define USB_PID 0x1001 + +#define EXTERNAL_NUM_INTERRUPTS 46 +#define NUM_DIGITAL_PINS 48 +#define NUM_ANALOG_INPUTS 20 + +#define analogInputToDigitalPin(p) (((p) < 20) ? (analogChannelToDigitalPin(p)) : -1) +#define digitalPinToInterrupt(p) (((p) < 48) ? (p) : -1) +#define digitalPinHasPWM(p) (p < 46) + +#define TX 43 +#define RX 44 + +// The default Wire will be mapped to PMU and RTC +#define SDA 42 +#define SCL 41 + +// Wire1 will be mapped to display and QMC6310 sensor +#define OLED_SDA 17 +#define OLED_SCL 18 + +// Default SPI will be mapped to Radio +#define SS 10 +#define MOSI 11 +#define MISO 13 +#define SCK 12 + +#define LORA_CS 10 +#define LORA_MOSI 11 +#define LORA_MISO 13 +#define LORA_SCK 12 +#define DIO0 -1 +#define RST_LoRa 5 +#define BUSY_LoRa 4 + +#define LORA_IRQ 1 +#define LORA_RST 5 + +// Another SPI bus shares SD card and QMI8653 inertial measurement sensor +#define SPI_MOSI (35) +#define SPI_SCK (36) +#define SPI_MISO (37) +#define SPI_CS (47) +#define IMU_CS (34) + +#define SDCARD_CS SPI_CS +#define IMU_INT (33) +// #define PMU_IRQ (40) +#define RTC_INT (14) + +#endif /* Pins_Arduino_h */ diff --git a/variants/tbeam-s3-core/platformio.ini b/variants/tbeam-s3-core/platformio.ini new file mode 100644 index 0000000..372d8d9 --- /dev/null +++ b/variants/tbeam-s3-core/platformio.ini @@ -0,0 +1,9 @@ +[env:tbeam-s3-core] +extends = esp32s3_base +board = tbeam-s3-core +build_flags = + ${esp32s3_base.build_flags} -Ivariants/tbeam-s3-core -DUSE_SX1268 -DHAS_AXP2101 -DGPS_RX_PIN=9 -DGPS_TX_PIN=8 + +#-DI2C_SDA=17 -DI2C_SCL=18 -DI2C_SDA1=42 -DI2C_SCL1=41 +# I2C_SDA1 and I2C_SCL1 - Used for PMU management and PCF8563 +# I2C_SDA and I2C_SCL - For QMC6310 sensors and screens