Skip to content

Update LilyGo variants and add new variants #11192

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
Mar 28, 2025
Merged
Show file tree
Hide file tree
Changes from 3 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
169 changes: 167 additions & 2 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6070,10 +6070,12 @@ twatchs3.menu.EraseFlash.none.upload.erase_cmd=
twatchs3.menu.EraseFlash.all=Enabled
twatchs3.menu.EraseFlash.all.upload.erase_cmd=-e

twatchs3.menu.Revision.Radio_SX1280=Radio-SX1280
twatchs3.menu.Revision.Radio_SX1280.build.board=LILYGO_LORA_SX1280
twatchs3.menu.Revision.Radio_SX1262=Radio-SX1262
twatchs3.menu.Revision.Radio_SX1262.build.board=LILYGO_LORA_SX1262
twatchs3.menu.Revision.Radio_SX1280=Radio-SX1280
twatchs3.menu.Revision.Radio_SX1280.build.board=LILYGO_LORA_SX1280
twatchs3.menu.Revision.Radio_CC1101=Radio-CC1101
twatchs3.menu.Revision.Radio_CC1101.build.board=LILYGO_LORA_CC1101

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

Expand Down Expand Up @@ -6233,7 +6235,170 @@ twatch_ultra.menu.Revision.Radio_SX1280=Radio-SX1280
twatch_ultra.menu.Revision.Radio_SX1280.build.board=LILYGO_LORA_SX1280
twatch_ultra.menu.Revision.Radio_SX1262=Radio-SX1262
twatch_ultra.menu.Revision.Radio_SX1262.build.board=LILYGO_LORA_SX1262
twatch_ultra.menu.Revision.Radio_CC1101=Radio-CC1101
twatch_ultra.menu.Revision.Radio_CC1101.build.board=LILYGO_LORA_CC1101


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

tlora_pager.name=LilyGo-T-LoRa-Pager

tlora_pager.bootloader.tool=esptool_py
tlora_pager.bootloader.tool.default=esptool_py

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

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

tlora_pager.serial.disableDTR=false
tlora_pager.serial.disableRTS=false

tlora_pager.build.tarch=xtensa
tlora_pager.build.bootloader_addr=0x0
tlora_pager.build.target=esp32s3
tlora_pager.build.mcu=esp32s3
tlora_pager.build.core=esp32
tlora_pager.build.variant=lilygo_tlora_pager
tlora_pager.build.board=T_LORA_PAGER

tlora_pager.build.usb_mode=1
tlora_pager.build.cdc_on_boot=1
tlora_pager.build.msc_on_boot=0
tlora_pager.build.dfu_on_boot=0
tlora_pager.build.f_cpu=240000000L
tlora_pager.build.flash_size=16MB
tlora_pager.build.flash_freq=80m
tlora_pager.build.flash_mode=dio
tlora_pager.build.boot=qio
tlora_pager.build.boot_freq=80m
tlora_pager.build.partitions=app3M_fat9M_16MB
tlora_pager.build.defines=-DBOARD_HAS_PSRAM -DARDUINO_T_LORA_PAGER
tlora_pager.build.loop_core=
tlora_pager.build.event_core=
tlora_pager.build.psram_type=qspi
tlora_pager.build.memory_type={build.boot}_{build.psram_type}

## IDE 2.0 Seems to not update the value
tlora_pager.menu.JTAGAdapter.default=Disabled
tlora_pager.menu.JTAGAdapter.default.build.copy_jtag_files=0
tlora_pager.menu.JTAGAdapter.builtin=Integrated USB JTAG
tlora_pager.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg
tlora_pager.menu.JTAGAdapter.builtin.build.copy_jtag_files=1

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

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

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

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

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

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

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

tlora_pager.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
tlora_pager.menu.PartitionScheme.fatflash.build.partitions=ffat
tlora_pager.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
tlora_pager.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
tlora_pager.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
tlora_pager.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
tlora_pager.menu.PartitionScheme.rainmaker=RainMaker
tlora_pager.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
tlora_pager.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728
tlora_pager.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL)
tlora_pager.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728
tlora_pager.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin
tlora_pager.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16
tlora_pager.menu.PartitionScheme.custom=Custom
tlora_pager.menu.PartitionScheme.custom.build.partitions=
tlora_pager.menu.PartitionScheme.custom.upload.maximum_size=16777216

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

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

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

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


tlora_pager.menu.Revision.Radio_SX1280=Radio-SX1280
tlora_pager.menu.Revision.Radio_SX1280.build.board=LILYGO_LORA_SX1280
tlora_pager.menu.Revision.Radio_SX1262=Radio-SX1262
tlora_pager.menu.Revision.Radio_SX1262.build.board=LILYGO_LORA_SX1262
tlora_pager.menu.Revision.Radio_CC1101=Radio-CC1101
tlora_pager.menu.Revision.Radio_CC1101.build.board=LILYGO_LORA_CC1101

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

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

#include <stdint.h>

#ifndef digitalPinToInterrupt
#define digitalPinToInterrupt(p) (((p) < 48) ? (p) : -1)
#endif

#define USB_VID 0x303a
#define USB_PID 0x82D1
#define USB_MANUFACTURER "LILYGO"
#define USB_PRODUCT "T-LoRa-Pager"

// ST7796
#define DISP_WIDTH (222)
#define DISP_HEIGHT (480)
#define SD_CS (21)

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

//BHI260,PCF85063,BQ25896,DRV2605L,ES8311 share I2C Bus
static const uint8_t SDA = 2;
static const uint8_t SCL = 3;

// Default sd cs pin
static const uint8_t SS = SD_CS;
static const uint8_t MOSI = 34;
static const uint8_t MISO = 33;
static const uint8_t SCK = 35;

#define KB_INT (6)
#define KB_BACKLIGHT (46)

// Rotary
#define ROTARY_A (40)
#define ROTARY_B (41)
#define ROTARY_C (7)

// Interrupt IO port
#define RTC_INT (1)
#define NFC_INT (5)
#define SENSOR_INT (8)
#define NFC_CS (39)

// ES8311
#define I2S_WS (18)
#define I2S_SCK (11)
#define I2S_MCLK (10)
#define I2S_SDOUT (45)
#define I2S_SDIN (17)

// GPS
#define GPS_TX (12)
#define GPS_RX (4)
#define GPS_PPS (13)

// LoRa, SD, ST25R3916 card share SPI bus
#define LORA_SCK (SCK) // share spi bus
#define LORA_MISO (MISO) // share spi bus
#define LORA_MOSI (MOSI) // share spi bus
#define LORA_CS (36)
#define LORA_RST (47)
#define LORA_BUSY (48)
#define LORA_IRQ (14)

// SPI interface display
#define DISP_MOSI (MOSI)
#define DISP_MISO (MISO)
#define DISP_SCK (SCK)
#define DISP_RST (-1)
#define DISP_CS (38)
#define DISP_DC (37)
#define DISP_BL (42)

// External expansion chip IO definition
#define EXPANDS_DRV_EN (0)
#define EXPANDS_AMP_EN (1)
#define EXPANDS_KB_RST (2)
#define EXPANDS_LORA_EN (3)
#define EXPANDS_GPS_EN (4)
#define EXPANDS_NFC_EN (5)
#define EXPANDS_DISP_RST (6)
#define EXPANDS_GPS_RST (7)
#define EXPANDS_KB_EN (8)
#define EXPANDS_GPIO_EN (9)

// Peripheral definition exists
#define USING_AUDIO_CODEC
#define USING_XL9555_EXPANDS
#define USING_PPM_MANAGE
#define USING_BQ_GAUGE
#define USING_INPUT_DEV_ROTARY
#define USING_INPUT_DEV_KEYBOARD
#define USING_ST25R3916
#define USING_BHI260_SENSOR
#define HAS_SD_CARD_SOCKET

#endif /* Pins_Arduino_h */
7 changes: 7 additions & 0 deletions variants/lilygo_twatch_s3/pins_arduino.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,11 @@ static const uint8_t SCK = 3;
#define GPS_TX (TX)
#define GPS_RX (RX)

// Peripheral definition exists
#define USING_PCM_AMPLIFIER
#define USING_PDM_MICROPHONE
#define USING_PMU_MANAGE
#define USING_INPUT_DEV_TOUCHPAD
#define USING_IR_REMOTE

#endif /* Pins_Arduino_h */
47 changes: 31 additions & 16 deletions variants/lilygo_twatch_ultra/pins_arduino.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,25 @@
#define USB_MANUFACTURER "LILYGO"
#define USB_PRODUCT "T-Watch-Ultra"

#define DISP_WIDTH (240)
#define DISP_HEIGHT (296)

#define DISP_D0 (39)
#define DISP_D1 (40)
#define DISP_D2 (45)
#define DISP_D3 (42)
#define DISP_SCK (41)
#define DISP_RST (6)
#define DISP_CS (38)
#define DISP_TE (37)

// touch screen
#define TP_INT (12)
#define TP_RST (46)
#define DISP_WIDTH 502
#define DISP_HEIGHT 410

// QSPI interface display
#define DISP_D0 (38)
#define DISP_D1 (39)
#define DISP_D2 (42)
#define DISP_D3 (45)
#define DISP_SCK (40)
#define DISP_CS (41)
#define DISP_TE (6)

// Interrupt IO port
#define TP_INT (12)
#define RTC_INT (1)
#define PMU_INT (7)
#define NFC_INT (5)
#define SENSOR_INT (8)
#define NFC_RST (4)
#define NFC_CS (4)

// PDM microphone
#define MIC_SCK (17)
Expand Down Expand Up @@ -61,6 +59,7 @@ static const uint8_t SCK = 35;

#define GPS_TX (TX)
#define GPS_RX (RX)
#define GPS_PPS (13)

#define TP_SDA (SDA)
#define TP_SCL (SCL)
Expand All @@ -74,4 +73,20 @@ static const uint8_t SCK = 35;
#define LORA_BUSY (48)
#define LORA_IRQ (14)

// External expansion chip IO definition
#define EXPANDS_DRV_EN (6)
#define EXPANDS_DISP_EN (7)
#define EXPANDS_TOUCH_RST (10)
#define EXPANDS_DISP_RST (11)

// Peripheral definition exists
#define USING_XL9555_EXPANDS
#define USING_PCM_AMPLIFIER
#define USING_PDM_MICROPHONE
#define USING_PMU_MANAGE
#define USING_INPUT_DEV_TOUCHPAD
#define USING_ST25R3916
#define USING_BHI260_SENSOR
#define HAS_SD_CARD_SOCKET

#endif /* Pins_Arduino_h */