// This header file contains a list of user setup files and defines which one the // compiler uses when the IDE performs a Verify/Compile or Upload. // // Users can create configurations for different boards and TFT displays. // This makes selecting between hardware setups easy by "uncommenting" one line. // The advantage of this hardware configuration method is that the examples provided // with the library should work with immediately without any other changes being // needed. It also improves the portability of users sketches to other hardware // configurations and compatible libraries. // // Create a shortcut to this file on your desktop to permit quick access for editing. // Re-compile and upload after making and saving any changes to this file. // Customised User_Setup files are stored in the "User_Setups" folder. // It is also possible for the user tft settings to be included with the sketch, see // the "Sketch_with_tft_setup" generic example. This may be more convenient for // multiple projects. #ifndef USER_SETUP_LOADED // Lets PlatformIO users define settings in // platformio.ini, see notes in "Tools" folder. /////////////////////////////////////////////////////// // User configuration selection lines are below // /////////////////////////////////////////////////////// // Only ONE line below should be uncommented to define your setup. Add extra lines and files as needed. // #include // Default setup is root library folder //#include // Setup file for ESP8266 configured for my ILI9341 //#include // Setup file for ESP8266 configured for my ST7735 //#include // Setup file for ESP8266 configured for my ILI9163 //#include // Setup file for ESP8266 configured for my S6D02A1 //#include // Setup file for ESP8266 configured for my stock RPi TFT //#include // Setup file for ESP8266 configured for my modified RPi TFT //#include // Setup file for ESP8266 configured for my ST7735 128x128 display //#include // Setup file for ESP8266 configured for my ILI9163 128x128 display //#include // Setup file for ESP8266 configured for my ST7735 //#include // Setup file for ESP8266 configured for ESP8266 and RPi TFT with touch //#include // Setup file configured for ESP32 and RPi TFT with touch //#include // Setup file for the ESP32 based M5Stack (Basic Core only) //#include // Setup file for the ESP32 with parallel bus TFT //#include // Setup file for the ESP32 with parallel bus TFT //#include // Setup file for ESP8266 configured for HX8357D //#include // Setup file for the ESP32 with parallel bus TFT //#include // Setup file for ESP8266 and any Waveshare ePaper display //#include // Setup file for ESP8266 configured for ST7789 //#include // Setup file configured for RM68140 with parallel bus //#include // Setup file for ESP8266 and ILI9488 SPI bus TFT //#include // Setup file for ESP32 and ILI9488 SPI bus TFT //#include // Setup file for ESP32 and TTGO T4 version 1.2 //#include // Setup file for ESP32 and TTGO T4 version 1.3 //#include // Setup file for ESP32 and TTGO TM ST7789 SPI bus TFT //#include // Setup file for DSTIKE/ESP32/ESP8266 configured for ST7789 240 x 240 //#include // Setup file for ESP32 and TTGO T-Display ST7789V SPI bus TFT //#include // Setup file for ESP32 and TTGO T-Wristband ST7735 SPI bus TFT //#include // ESP32 RPi MHS-4.0 inch Display-B //#include // ESP8266 RPi MHS-4.0 inch Display-B //#include // Setup for Nucleo board //#include // Setup for Nucleo board and parallel display //#include // Setup for Nucleo board and parallel display //#include // Setup for "Blue/Black Pill" //#include // Setup for Nucleo board //#include // Setup for Nucleo board and parallel display //#include // Setup for STM32 port A parallel display //#include // Setup file configured for ESP32 and RPi ST7796 TFT with touch //#include // Setup file for ESP32 and SPI ILI9341 240x320 //#include // Setup file for ESP8266 & ESP32 configured for my ST7735S 80x160 //#include // Setup file for ESP32 and TTGO T-CameraPlus ST7789 SPI bus TFT 240x240 //#include // Setup file for ESP32 and TTGO T-Watch ST7789 SPI bus TFT 240x240 //#include // Setup file for ESP32 and GC9A01 SPI bus TFT 240x240 //#include // Setup file for ESP32 configured for ST7735 128 x 128 animated eyes //#include // Setup file for ESP32 and SSD1963 TFT display //#include // Setup file for LilyGo LilyPi with ILI9481 display //#include // Setup file for LilyGo LilyPi with ST7796 display //#include // Setup file for RP2040 with SPI ILI9341 //#include // Setup file for RP2040 with PIO SPI ILI9341 //#include // Setup file for RP2040 with SPI ILI9341 //#include // Setup file for ESP32 S2 with SPI ILI9341 //#include // Setup file for ESP32 S3 with SPI ILI9341 //#include // Setup file for ESP32 C3 with SPI ILI9341 //#include // Setup file for ESP32 S3 with SPI ILI9488 //#include // Setup file for ESP32 S2 with ST7789 //#include // Setup file for ESP32 with ST7789 1.47" 172x320 //#include // Setup file for Pico/RP2040 with 8 bit parallel ILI9488 //#include // Setup file for Pico/RP2040 with 8 bit parallel ILI9481 //#include // Setup file for Pico/RP2040 with 8 bit parallel ILI9341 //#include // Setup file for Pico/RP2040 with 8 bit parallel ILI9486 //#include // Setup file for Pico/RP2040 with 8 bit parallel ST7796 //#include // Setup file for RP2040 16 bit parallel display //#include // Setup file for RP2040 16 bit parallel display //#include // Setup file for RP2040 16 bit parallel display //#include // Setup file for ESP8266 and ST7789 135 x 240 TFT //#include // Setup file for ESP32 and Lilygo TTV ST7789 SPI bus TFT 135x240 //#include // Setup file for Lilygo T-Display RP2040 (ST7789 on SPI bus with 135x240 TFT) //#include // Setup file for Pico Explorer Base by Pimoroni for RP2040 (ST7789 on SPI bus with 240x240 TFT) //#include // Setup file for ESP32 and GC9A01 240 x 240 TFT //#include // Setup file for ESP32 based WT32_SC01 from Seeed //#include // Setup file for ESP32/ESP8266 based SSD1351 128x128 1.5inch OLED display //#include // Setup file for ESP32/ESP8266 based ST7789 240X280 1.69inch TFT //#include // Setup file for the ESP32 TouchDown based on ILI9488 480 x 320 TFT //#include // Setup file for the ESP32 TouchDown S3 based on ILI9488 480 x 320 TFT //#include //#include //#include // For the ESP32 S3 Box Lite (may also work with ESP32 S3 Box) //#include // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT #include // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT //#include // Setup file for Bw16-based boards with ST7735 160 x 80 TFT //#include // Template file for a setup //#include // Setup file for Dustin Watts PCB with ILI9488 //#include // Setup file for Dustin Watts PCB with ST7796 //#include // Setup file for Dustin Watts Pico PCB with ST7796 //#include // Setup file for Dustin Watts PCB with ST7789 240 x 240 on 3.3V adapter board //#include // Setup file for Dustin Watts PCB with GC9A01 240 x 240 on 3.3V adapter board //#include // Setup file for Dustin Watts PCB with GC9A01 240 x 240 on 3.3V adapter board //#include // Setup file for Dustin Watts PCB with ST7789 240 x 240 on 3.3V adapter board //#include // Setup file for Dustin Watts PCB with ILI9341 //#include #endif // USER_SETUP_LOADED ///////////////////////////////////////////////////////////////////////////////////// // // // DON'T TINKER WITH ANY OF THE FOLLOWING LINES, THESE ADD THE TFT DRIVERS // // AND ESP8266 PIN DEFINITONS, THEY ARE HERE FOR BODMER'S CONVENIENCE! // // // ///////////////////////////////////////////////////////////////////////////////////// // Identical looking TFT displays may have a different colour ordering in the 16 bit colour #define TFT_BGR 0 // Colour order Blue-Green-Red #define TFT_RGB 1 // Colour order Red-Green-Blue // Legacy setup support, RPI_DISPLAY_TYPE replaces RPI_DRIVER #if defined (RPI_DRIVER) #if !defined (RPI_DISPLAY_TYPE) #define RPI_DISPLAY_TYPE #endif #endif // Legacy setup support, RPI_ILI9486_DRIVER form is deprecated // Instead define RPI_DISPLAY_TYPE and also define driver (e.g. ILI9486_DRIVER) #if defined (RPI_ILI9486_DRIVER) #if !defined (ILI9486_DRIVER) #define ILI9486_DRIVER #endif #if !defined (RPI_DISPLAY_TYPE) #define RPI_DISPLAY_TYPE #endif #endif // Invoke 18 bit colour for selected displays #if !defined (RPI_DISPLAY_TYPE) && !defined (TFT_PARALLEL_8_BIT) && !defined (TFT_PARALLEL_16_BIT) && !defined (ESP32_PARALLEL) #if defined (ILI9481_DRIVER) || defined (ILI9486_DRIVER) || defined (ILI9488_DRIVER) #define SPI_18BIT_DRIVER #endif #endif // Load the right driver definition - do not tinker here ! #if defined (ILI9341_DRIVER) || defined(ILI9341_2_DRIVER) || defined (ILI9342_DRIVER) #include #define TFT_DRIVER 0x9341 #elif defined (ST7735_DRIVER) #include #define TFT_DRIVER 0x7735 #elif defined (ILI9163_DRIVER) #include #define TFT_DRIVER 0x9163 #elif defined (S6D02A1_DRIVER) #include #define TFT_DRIVER 0x6D02 #elif defined (ST7796_DRIVER) #include "TFT_Drivers/ST7796_Defines.h" #define TFT_DRIVER 0x7796 #elif defined (ILI9486_DRIVER) #include #define TFT_DRIVER 0x9486 #elif defined (ILI9481_DRIVER) #include #define TFT_DRIVER 0x9481 #elif defined (ILI9488_DRIVER) #include #define TFT_DRIVER 0x9488 #elif defined (HX8357D_DRIVER) #include "TFT_Drivers/HX8357D_Defines.h" #define TFT_DRIVER 0x8357 #elif defined (EPD_DRIVER) #include "TFT_Drivers/EPD_Defines.h" #define TFT_DRIVER 0xE9D #elif defined (ST7789_DRIVER) #include "TFT_Drivers/ST7789_Defines.h" #define TFT_DRIVER 0x7789 #elif defined (R61581_DRIVER) #include "TFT_Drivers/R61581_Defines.h" #define TFT_DRIVER 0x6158 #elif defined (ST7789_2_DRIVER) #include "TFT_Drivers/ST7789_2_Defines.h" #define TFT_DRIVER 0x778B #elif defined (RM68140_DRIVER) #include "TFT_Drivers/RM68140_Defines.h" #define TFT_DRIVER 0x6814 #elif defined (SSD1351_DRIVER) #include "TFT_Drivers/SSD1351_Defines.h" #define TFT_DRIVER 0x1351 #elif defined (SSD1963_480_DRIVER) #include "TFT_Drivers/SSD1963_Defines.h" #define TFT_DRIVER 0x1963 #elif defined (SSD1963_800_DRIVER) #include "TFT_Drivers/SSD1963_Defines.h" #define TFT_DRIVER 0x1963 #elif defined (SSD1963_800ALT_DRIVER) #include "TFT_Drivers/SSD1963_Defines.h" #define TFT_DRIVER 0x1963 #elif defined (SSD1963_800BD_DRIVER) #include "TFT_Drivers/SSD1963_Defines.h" #define TFT_DRIVER 0x1963 #elif defined (GC9A01_DRIVER) #include "TFT_Drivers/GC9A01_Defines.h" #define TFT_DRIVER 0x9A01 #elif defined (ILI9225_DRIVER) #include "TFT_Drivers/ILI9225_Defines.h" #define TFT_DRIVER 0x9225 #elif defined (RM68120_DRIVER) #include "TFT_Drivers/RM68120_Defines.h" #define TFT_DRIVER 0x6812 #elif defined (HX8357B_DRIVER) #include "TFT_Drivers/HX8357B_Defines.h" #define TFT_DRIVER 0x835B #elif defined (HX8357C_DRIVER) #include "TFT_Drivers/HX8357C_Defines.h" #define TFT_DRIVER 0x835C // <<<<<<<<<<<<<<<<<<<<<<<< ADD NEW DRIVER HERE // XYZZY_init.h and XYZZY_rotation.h must also be added in TFT_eSPI.cpp #elif defined (XYZZY_DRIVER) #include "TFT_Drivers/XYZZY_Defines.h" #define TFT_DRIVER 0x0000 #else #define TFT_DRIVER 0x0000 #endif // These are the pins for ESP8266 boards // Name GPIO NodeMCU Function #define PIN_D0 16 // GPIO16 WAKE #define PIN_D1 5 // GPIO5 User purpose #define PIN_D2 4 // GPIO4 User purpose #define PIN_D3 0 // GPIO0 Low on boot means enter FLASH mode #define PIN_D4 2 // GPIO2 TXD1 (must be high on boot to go to UART0 FLASH mode) #define PIN_D5 14 // GPIO14 HSCLK #define PIN_D6 12 // GPIO12 HMISO #define PIN_D7 13 // GPIO13 HMOSI RXD2 #define PIN_D8 15 // GPIO15 HCS TXD0 (must be low on boot to enter UART0 FLASH mode) #define PIN_D9 3 // RXD0 #define PIN_D10 1 // TXD0 #define PIN_MOSI 8 // SD1 FLASH and overlap mode #define PIN_MISO 7 // SD0 #define PIN_SCLK 6 // CLK #define PIN_HWCS 0 // D3 #define PIN_D11 9 // SD2 #define PIN_D12 10 // SD4