Add support for SeeedStudio's XIAO ESP32-S3 Wio-SX1262 Header

This commit is contained in:
Brandon T 2025-10-25 01:25:01 -04:00
parent 13c4c2037d
commit 45c4cf53c1
3 changed files with 128 additions and 0 deletions

View File

@ -0,0 +1,21 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <stdint.h>
#define USB_VID 0x2886
#define USB_PID 0x0059
// GPIO48 Reference: https://github.com/espressif/arduino-esp32/pull/8600
// The default Wire will be mapped to Screen and Sensors
static const uint8_t SDA = 47;
static const uint8_t SCL = 48;
// Default SPI will be mapped to Radio
static const uint8_t MISO = 8;
static const uint8_t SCK = 7;
static const uint8_t MOSI = 9;
static const uint8_t SS = 5;
#endif /* Pins_Arduino_h */

View File

@ -0,0 +1,20 @@
[env:seeed-xiao-s3-diy-header]
board_level = extra
extends = esp32s3_base
board = seeed-xiao-s3-diy-header
board_level = pr
board_check = true
board_build.partitions = default_8MB.csv
upload_protocol = esptool
upload_speed = 921600
lib_deps =
${esp32s3_base.lib_deps}
build_unflags =
${esp32s3_base.build_unflags}
-DARDUINO_USB_MODE=1
build_flags =
${esp32s3_base.build_flags}
-D SEEED_XIAO_S3
-I variants/esp32s3/diy/seeed-xiao_esp32s3_diy_header
-DBOARD_HAS_PSRAM
-DARDUINO_USB_MODE=0

View File

@ -0,0 +1,87 @@
/*
*/
/*
Board Information: https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html
Expansion Board Infomation : https://www.seeedstudio.com/Wio-SX1262-for-XIAO-p-6379.html
L76K GPS Module Information : https://www.seeedstudio.com/L76K-GNSS-Module-for-Seeed-Studio-XIAO-p-5864.html
*/
#define LED_PIN 48
#define LED_STATE_ON 1 // State when LED is lit
#define BUTTON_PIN 21 // This is the Program Button
#define BUTTON_NEED_PULLUP
#define BATTERY_PIN -1
#define ADC_CHANNEL ADC1_GPIO1_CHANNEL
#define BATTERY_SENSE_RESOLUTION_BITS 12
/*Warning:
https://www.seeedstudio.com/L76K-GNSS-Module-for-Seeed-Studio-XIAO-p-5864.html
L76K Expansion Board can not directly used, L76K Reset Pin needs to override or physically remove it,
otherwise it will conflict with the SPI pins
*/
#define GPS_L76K
#ifdef GPS_L76K
#define GPS_RX_PIN 44
#define GPS_TX_PIN 43
#define HAS_GPS 1
#define GPS_BAUDRATE 9600
#define GPS_THREAD_INTERVAL 50
#define PIN_SERIAL1_RX PIN_GPS_TX
#define PIN_SERIAL1_TX PIN_GPS_RX
#define PIN_GPS_STANDBY 1
#endif
#define I2C_SDA 5
#define I2C_SCL 6
// XIAO S3 LORA module
#define USE_SX1262
#define LORA_MISO 8
#define LORA_SCK 7
#define LORA_MOSI 9
#define LORA_CS 5
#define LORA_RESET 3
#define LORA_DIO1 2
#define LORA_DIO2 6
#ifdef USE_SX1262
#define SX126X_CS LORA_CS
#define SX126X_DIO1 LORA_DIO1
#define SX126X_BUSY 4
#define SX126X_RESET LORA_RESET
// DIO2 controlls an antenna switch and the TCXO voltage is controlled by DIO3
#define SX126X_DIO2_AS_RF_SWITCH
#define SX126X_RXEN 6
#define SX126X_TXEN RADIOLIB_NC
#define SX126X_DIO3_TCXO_VOLTAGE 1.8
#endif