Skip to content
Open
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
21 changes: 21 additions & 0 deletions variants/esp32s3/diy/seeed_xiao_esp32s3_diy_header/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -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 */
24 changes: 24 additions & 0 deletions variants/esp32s3/diy/seeed_xiao_esp32s3_diy_header/platformio.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[env:seeed-xiao-s3-diy-header]
extends = esp32s3_base
board = seeed_xiao_esp32s3
framework = arduino
upload_protocol = esptool
upload_speed = 921600

board_build.partitions = default_8MB.csv
board_build.flash_mode = dio
board_build.flash_size = 8MB

build_unflags =
${esp32s3_base.build_unflags}
-DARDUINO_USB_MODE=1

build_flags =
${esp32s3_base.build_flags}
-D PRIVATE_HW
-D BOARD_HAS_PSRAM
-D ARDUINO_USB_MODE=0
-I variants/esp32s3/diy/seeed_xiao_esp32s3_diy_header

lib_deps =
${esp32s3_base.lib_deps}
61 changes: 61 additions & 0 deletions variants/esp32s3/diy/seeed_xiao_esp32s3_diy_header/variant.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*
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