WaveShare/Elecrow - Common Base Code

Hi All,

Currently Working with 6 Waveshare & 2 Elecrow ESP32-S3 Displays.

I'm Trying to create a Common Code Base across all devices.
Sensors & LVGL are no problem, as they are both 800x480 Displays.
Background Images being the Main Issue as the Elecrow only has 8 Meg of Flash, compared with the WaveShare's 16 Meg.

Display, Touch, I2C & IO Expanders are Different, but can be managed with Packages.

It's mainly the Core ESP32: Block of Code that I'm thinking of also making common,
noting that I will need to set the different Flash Size.

Essentially both brands are ESP32-S3's so wondering how much of that code can be reused in both.

Also is this the Most Current Set of Options for these ESP32-S3 Displays.

Here's what I have in each in that respect.
WaveShare's:-

esphome:
 name: ${name}
 friendly_name: ${friendly_name}
 platformio_options:
   build_flags: "-DBOARD_HAS_PSRAM"
   board_build.esp-idf.memory_type: qio_opi
   board_build.flash_mode: dio
   board_upload.maximum_ram_size: 524288

esp32:
 board: esp32-s3-devkitc-1
 variant: ESP32S3
 flash_size: 16MB
 cpu_frequency: 240MHz
 framework:
   type: esp-idf
   sdkconfig_options:
     CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: y
     CONFIG_ESP32S3_DATA_CACHE_64KB: y
     CONFIG_SPIRAM_FETCH_INSTRUCTIONS: y
     CONFIG_SPIRAM_RODATA: y
     
psram: # Enable PSRAM on ESP32-S3
 mode: octal
 speed: 80MHz # Was 120MHz, but wouldn't Compile


And in the Elecrow's:-

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  platformio_options:
    build_flags: "-DBOARD_HAS_PSRAM"
    board_build.esp-idf.memory_type: qio_opi
    board_build.flash_mode: dio

esp32:
  board: esp32-s3-devkitc1-n4r8



  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_ESPTOOLPY_FLASHFREQ: "80MHz" # this is needed for flashing
      CONFIG_ESPTOOLPY_FLASHMODE_QIO: y
      CONFIG_FLASHMODE_QIO: y
      CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240: y
      CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ: '240'
      CONFIG_SPIRAM_RODATA: "y"
psram: # Enable PSRAM on ESP32-S3
  mode: octal
  speed: 80MHz 

Thanks.