// LilyGo T-Beam-BPF variant.h // Configuration based on LilyGO utilities.h and RF documentation // Hardware is restricted to the amateur 2m band (144-148 MHz). #define HAS_HAM_2M_ONLY 1 // I2C for OLED display (SH1106 at 0x3C) #define I2C_SDA 8 #define I2C_SCL 9 // GPS - Quectel L76K. Per schematic sheet 7: #define GPS_RX_PIN 5 #define GPS_TX_PIN 6 #define GPS_1PPS_PIN 7 #define HAS_GPS 1 #define GPS_BAUDRATE 9600 // Buttons #define BUTTON_PIN 0 // BUTTON 1 #define ALT_BUTTON_PIN 3 // BUTTON 2 // SPI (shared by LoRa and SD) #define SPI_MOSI 11 #define SPI_SCK 12 #define SPI_MISO 13 #define SPI_CS 10 // SD Card #define HAS_SDCARD #define SDCARD_USE_SPI1 // #define SDCARD_CS SPI_CS (already defined in pins_arduino.h) // LoRa Radio - SX1278 144-148Mhz #define USE_RF95 #define LORA_SCK SPI_SCK #define LORA_MISO SPI_MISO #define LORA_MOSI SPI_MOSI #define LORA_CS 1 #define LORA_RESET 18 #define LORA_IRQ 14 #define LORA_DIO0 LORA_IRQ #define LORA_DIO1 21 #define RF95_RXEN 39 // LNA enable - HIGH during RX // CRITICAL: Radio power enable - MUST be HIGH before lora.begin()! // GPIO 16 powers the SX1278 via LDO #define RF95_POWER_EN 16 // +27dBm PA // LilyGo Docs specify SX1278 power must be capped at 10 #define RF95_MAX_POWER 10 // PA curve mapping (TX values 1-10) // Measurements taken with 5V USB power (max 37 dBm on battery power) // Input values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 // Output values: 0, 34, 35, 36, 36, 37, 37, 38, 38, 38 #define NUM_PA_POINTS 10 #define TX_GAIN_LORA 0, 32, 32, 32, 31, 31, 30, 30, 29, 28 // Display - SH1106 OLED (128x64) #define USE_SH1106 #define OLED_WIDTH 128 #define OLED_HEIGHT 64 // 32768 Hz crystal present #define HAS_32768HZ 1 // PMU #define HAS_AXP2101 // #define PMU_IRQ 4 // Leave disabled for now