#ifndef BOARD_CONFIG_H #define BOARD_CONFIG_H // ============================================================================ // FREENOVE ESP32-S3 Display (2.8" Capacitive Touch, 240x320) // ============================================================================ // Display (ILI9341V) - LCDWiki 2.8" ESP32-S3 Display // Source: https://www.lcdwiki.com/2.8inch_ESP32-S3_Display #define TFT_CS 10 // Chip Select (IO10) #define TFT_DC 46 // Data/Command (IO46) #define TFT_RST -1 // Reset shared with ESP32-S3 EN pin (no GPIO) #define TFT_MOSI 11 // SPI MOSI (IO11) #define TFT_CLK 12 // SPI Clock (IO12) #define TFT_MISO 13 // SPI MISO (IO13) #define TFT_BL 45 // Backlight (IO45, active high) // Touch Screen (FT6336G Capacitive) #define TOUCH_SDA 16 // I2C SDA (IO16) #define TOUCH_SCL 15 // I2C SCL (IO15) #define TOUCH_RST 18 // Reset (IO18) #define TOUCH_INT 17 // Interrupt (IO17) #define TOUCH_ADDR 0x38 // I2C address // Display dimensions #define SCREEN_WIDTH 240 #define SCREEN_HEIGHT 320 // ============================================================================ // Radio Modules (VSPI Bus) // ============================================================================ // SPI Bus (shared with SD card) #define RADIO_SPI_MOSI 11 // GPIO 11 (VSPI) #define RADIO_SPI_MISO 13 // GPIO 13 (VSPI) #define RADIO_SPI_CLK 12 // GPIO 12 (VSPI) // CC1101 SubGHz Radio (300-928 MHz) #define CC1101_CS 7 // Chip Select #define CC1101_GDO0 6 // TX (data out) #define CC1101_GDO2 37 // RX (data in) #define CC1101_TX_EN 40 // TX Enable (E07 PA module) #define CC1101_RX_EN 41 // RX Enable (E07 PA module) // NRF24L01+ 2.4GHz Radio #define NRF24_CSN 14 // Chip Select Not #define NRF24_CE 15 // Chip Enable #define NRF24_IRQ 16 // Interrupt (optional) // PN532 NFC/RFID Reader (SPI mode) #define PN532_CS 17 // Chip Select #define PN532_ADDR 0x24 // I2C address (if used) // GPS Module (UART) #define GPS_TX_PIN 1 // GPIO 1 (UART0 TX) - receive GPS data #define GPS_RX_PIN 3 // GPIO 3 (UART0 RX) - unused #define GPS_BAUD 9600 // ============================================================================ // SD Card (also on VSPI) // ============================================================================ #define SD_CS 21 // Chip Select // ============================================================================ // LED / Status Indicators // ============================================================================ #define LED_R 42 // Red (optional RGB LED) #define LED_G 2 // Green #define LED_B 1 // Blue // ============================================================================ // Button / Input // ============================================================================ #define BUTTON_RESET 0 // Boot button (GPIO 0) // ============================================================================ // Memory Configuration (ESP32-S3 has 520KB SRAM) // ============================================================================ #define HEAP_SIZE_WIFI (32 * 1024) // WiFi buffers #define HEAP_SIZE_BLE (64 * 1024) // BLE buffers #define HEAP_SIZE_RADIO (48 * 1024) // Radio packet buffers #define HEAP_SIZE_UI (80 * 1024) // Display/UI frame buffers // ============================================================================ // Feature Flags // ============================================================================ #define ENABLE_WIFI 1 #define ENABLE_BLE 1 #define ENABLE_CC1101 1 #define ENABLE_NRF24 1 #define ENABLE_PN532 1 #define ENABLE_GPS 1 #define ENABLE_SDCARD 1 // ============================================================================ // Board Info // ============================================================================ #define BOARD_NAME "FREENOVE ESP32-S3" #define BOARD_VARIANT "CYD-2.8-CAP" #define CPU_FREQ_MHZ 240 #define RAM_SIZE_KB 520 #define FLASH_SIZE_MB 16 #endif // BOARD_CONFIG_H