diff --git a/protobufs b/protobufs index 5b892e4c..3a7a4fa3 160000 --- a/protobufs +++ b/protobufs @@ -1 +1 @@ -Subproject commit 5b892e4c196f8620f2009cdef219eb2c237cc636 +Subproject commit 3a7a4fa3cbd678b814964c0b4fc3af87ade7ec2e diff --git a/src/mesh/generated/mesh.pb.h b/src/mesh/generated/mesh.pb.h index 8e73a097..8d96960d 100644 --- a/src/mesh/generated/mesh.pb.h +++ b/src/mesh/generated/mesh.pb.h @@ -78,6 +78,10 @@ typedef enum _HardwareModel { HardwareModel_DR_DEV = 41, /* M5 esp32 based MCU modules with enclosure, TFT and LORA Shields. All Variants (Basic, Core, Fire, Core2, Paper) https://m5stack.com/ */ HardwareModel_M5STACK = 42, + /* New Heltec LoRA32 with ESP32-S3 CPU */ + HardwareModel_HELTEC_V3 = 43, + /* New Heltec Wireless Stick Lite with ESP32-S3 CPU */ + HardwareModel_HELTEC_WSL_V3 = 44, /* Reserved ID For developing private Ports. These will show up in live traffic sparsely, so we can use a high number. Keep it within 8 bits. */ HardwareModel_PRIVATE_HW = 255 } HardwareModel; diff --git a/src/platform/esp32/architecture.h b/src/platform/esp32/architecture.h index 00d22169..f51b6237 100644 --- a/src/platform/esp32/architecture.h +++ b/src/platform/esp32/architecture.h @@ -84,6 +84,8 @@ #define HW_VENDOR HardwareModel_STATION_G1 #elif defined(DR_DEV) #define HW_VENDOR HardwareModel_DR_DEV +#elif defined(HELTEC_V3) + #define HW_VENDOR HardwareModel_HELTEC_V3 #endif // diff --git a/variants/heltec_v3/platformio.ini b/variants/heltec_v3/platformio.ini new file mode 100644 index 00000000..6cd75bed --- /dev/null +++ b/variants/heltec_v3/platformio.ini @@ -0,0 +1,9 @@ +[env:heltec-v3] +platform = https://github.com/Baptou88/platform-espressif32.git +extends = esp32_base +board = heltec_wifi_lora_32_V3 +# Temporary: https://community.platformio.org/t/heltec-esp32-lora-v3-board-support/30406/2 +platform_packages = + framework-arduinoespressif32@https://github.com/Baptou88/arduino-esp32.git +build_flags = + ${esp32s3_base.build_flags} -D HELTEC_V3 -I variants/heltec_v3 diff --git a/variants/heltec_v3/variant.h b/variants/heltec_v3/variant.h new file mode 100644 index 00000000..ee5f5519 --- /dev/null +++ b/variants/heltec_v3/variant.h @@ -0,0 +1,30 @@ +#define LED_PIN LED + +#define RESET_OLED RST_OLED +#define I2C_SDA SDA_OLED // I2C pins for this board +#define I2C_SCL SCL_OLED + +#define VEXT_ENABLE Vext // active low, powers the oled display and the lora antenna boost +#define BUTTON_PIN 0 + +#define BATTERY_PIN 1 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage +#define ADC_MULTIPLIER 5.22 + +#define USE_SX1262 + +#define LORA_DIO0 -1 // a No connect on the SX1262 module +#define LORA_RESET 12 +#define LORA_DIO1 14 // SX1262 IRQ +#define LORA_DIO2 13 // SX1262 BUSY +#define LORA_DIO3 // Not connected on PCB, but internally on the TTGO SX1262, if DIO3 is high the TXCO is enabled + +#define RF95_SCK 9 +#define RF95_MISO 11 +#define RF95_MOSI 10 +#define RF95_NSS 8 + +#define SX126X_CS RF95_NSS +#define SX126X_DIO1 LORA_DIO1 +#define SX126X_BUSY LORA_DIO2 +#define SX126X_RESET LORA_RESET +#define SX126X_E22 \ No newline at end of file