diff --git a/platformio.ini b/platformio.ini
index c27c0deb..67564236 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -78,7 +78,7 @@ lib_deps =
git+https://github.com/lvgl/lvgl.git#release/v7
;git+https://github.com/lvgl/lvgl.git#797212a3f346e9fdf71aef6f193889357eeae3f0
;lvgl/lvgl@^7.11.0 ; from PIO library
- bodmer/TFT_eSPI@^2.3.70
+ bodmer/TFT_eSPI@^2.3.73
;git+https://github.com/Bodmer/TFT_eSPI.git
; ------ Unused / Test libraries
;https://github.com/netwizeBE/TFT_eSPI.git
@@ -88,315 +88,3 @@ lib_deps =
;https://github.com/me-no-dev/ESPAsyncTCP/archive/master.zip
src_filter = +<*> -<.git/> - - - - -
-
-
-; -- Platform specific build flags
-[esp32]
-framework = arduino
-platform = espressif32@^3.3.2
-
-board_build.filesystem = littlefs
-board_build.embed_files =
- data/edit.htm.gz
- data/style.css.gz
-
-; ----- crash reporter
-monitor_filters = esp32_exception_decoder
-
-; ----- debugger
-check_tool = cppcheck
-check_flags = --enable=all
-debug_tool = esp-prog
-debug_init_break = tbreak setup
-
-build_flags =
- ${env.build_flags}
- -D HTTP_UPLOAD_BUFLEN=1024 ; lower http upload buffer
- -D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
- -D HASP_CONSOLE_BUFFER=256 ; maximum length of a console/telnet command
- -D NO_GLOBAL_HTTPUPDATE ; dont instantiate httpUpdate
- ;-D CONFIG_NEWLIB_NANO_FORMAT
-; -- lvgl build options -----------------------------
- -D LV_MEM_SIZE=49152U ; 48 kB lvgl memory
- -D LV_ATTRIBUTE_FAST_MEM=IRAM_ATTR
- -D LV_ATTRIBUTE_TASK_HANDLER=IRAM_ATTR
- ;-D LV_FS_PC_PATH="//littlefs" ; this needs to match the vfs mount pount
-; -- ArduinoJson build options ----------------------------
- -D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
-; -- tft_espi build options ------------------------
- ;-D USE_DMA_TO_TFT
-; -- openHASP build options ------------------------
- -D HASP_ATTRIBUTE_FAST_MEM=IRAM_ATTR
- -D HASP_USE_TELNET=1
- ;-D HASP_USE_SPIFFS=1
- -D HASP_USE_LITTLEFS=1
- ;-D HASP_USE_EEPROM=1
- -D HASP_USE_CONFIG=1 ; Native application, not library
- -D LV_LOG_TRACE_TIMER=1
- -D HASP_USE_PNGDECODE=1
- -D HASP_USE_BMPDECODE=0
- -D HASP_USE_JPGDECODE=0
- -D HASP_USE_GIFDECODE=0
-; -- LittleFS build options ------------------------
- ;-D CONFIG_LITTLEFS_FOR_IDF_3_2 ; obsolete in IDF 3.3
-
-lib_ignore =
- GxTFT
- XPT2046_Touchscreen
- Adafruit TouchScreen
- Adafruit BusIO
- Adafruit GFX Library
- sstaub/Ticker
- lv_drv_fsmc_ili9341
- lv_drivers
- AXP192
-
-lib_deps =
- ;ESP Async WebServer
- LittleFS_esp32
- git+https://github.com/lvgl/lv_lib_png.git#release/v7
- ;git+https://github.com/lvgl/lv_lib_bmp.git#release/v7
- ;git+https://github.com/lvgl/lv_lib_gif.git#release/v7
- ;git+https://github.com/lvgl/lv_lib_split_jpg.git
-
-extra_scripts =
- tools/littlefsbuilder.py
- tools/esp_merge_bin.py
- tools/analyze_elf.py
-; ${env.extra_scripts}
-; tools/copy_partitions.py
-
-ps_ram =
- -DBOARD_HAS_PSRAM
- -mfix-esp32-psram-cache-issue ; uses 24kB
-no_ps_ram =
-
-; -- The ESP32 has 2 SPI Hardware Busses available to use:
-vspi =
- -D TFT_MISO=19
- -D TFT_MOSI=23
- -D TFT_SCLK=18
-hspi =
- -D TFT_MISO=12
- -D TFT_MOSI=13
- -D TFT_SCLK=14
-
-; -- The ESP32 has 3 available flash sizes:
-[esp32_4mb]
-extends = esp32
-board_upload.flash_size=4MB
-board_upload.maximum_size = 4194304
-board_build.partitions = user_setups/esp32/partitions_4MB.csv
-
-[esp32_8mb]
-extends = esp32
-board_upload.flash_size=8MB
-board_upload.maximum_size = 8388608
-board_build.partitions = user_setups/esp32/partitions_8MB.csv
-
-[esp32_16mb]
-extends = esp32
-board_upload.flash_size = 16MB
-board_upload.maximum_size = 16777216
-board_build.partitions = user_setups/esp32/partitions_16MB.csv
-
-
-; -- Platform specific build flags
-[esp32s2]
-framework = arduino
-#platform = espressif32@^3.3.2
-
-platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream
-platform_packages =
- framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#2.0.0
-
-board_build.mcu = esp32s2
-board_build.f_cpu = 240000000L
-board_upload.flash_size=4MB
-board_upload.maximum_size = 4194304
-board_build.partitions = user_setups/esp32s2/no_ota.csv
-board_build.filesystem = littlefs
-;board_build.embed_files =
-; data/edit.htm.gz
-
-; ----- crash reporter
-monitor_filters = esp32_exception_decoder
-
-; ----- debugger
-; check_tool = cppcheck
-; check_flags = --enable=all
-; debug_tool = esp-prog
-; debug_init_break = tbreak setup
-
-build_flags =
- ${env.build_flags}
- -D ESP32S2
- -D HTTP_UPLOAD_BUFLEN=1024 ; lower http upload buffer
- -D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
- -D HASP_CONSOLE_BUFFER=256 ; maximum length of a console/telnet command
- -D NO_GLOBAL_HTTPUPDATE ; dont instantiate httpUpdate
- ;-D CONFIG_NEWLIB_NANO_FORMAT
-; -- lvgl build options -----------------------------
- -D LV_MEM_SIZE=20480U ; 20kB lvgl memory
- -D LV_ATTRIBUTE_FAST_MEM=IRAM_ATTR
- -D LV_ATTRIBUTE_TASK_HANDLER=IRAM_ATTR
- ;-D LV_FS_PC_PATH="//littlefs" ; this needs to match the vfs mount pount
-; -- ArduinoJson build options ----------------------------
- -D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
-; -- tft_espi build options ------------------------
- ;-D USE_DMA_TO_TFT
-; -- openHASP build options ------------------------
- -D HASP_ATTRIBUTE_FAST_MEM=IRAM_ATTR
- -D HASP_USE_TELNET=1
- ;-D HASP_USE_SPIFFS=1
- -D HASP_USE_LITTLEFS=1
- ;-D HASP_USE_EEPROM=1
- -D HASP_USE_CONFIG=1 ; Native application, not library
- -D LV_LOG_TRACE_TIMER=1
- -D HASP_USE_PNGDECODE=1
- -D HASP_USE_BMPDECODE=0
- -D HASP_USE_JPGDECODE=0
- -D HASP_USE_GIFDECODE=0
-; -- LittleFS build options ------------------------
- ;-D CONFIG_LITTLEFS_FOR_IDF_3_2 ; obsolete in IDF 3.3
-
-lib_ignore =
- GxTFT
- XPT2046_Touchscreen
- Adafruit TouchScreen
- Adafruit BusIO
- Adafruit GFX Library
- sstaub/Ticker
- lv_drv_fsmc_ili9341
- lv_drivers
- AXP192
- bodmer/TFT_eSPI
- LittleFS_esp32
-
-lib_deps =
- ESP Async WebServer
- git+https://github.com/lvgl/lv_lib_png.git#release/v7
- ;git+https://github.com/lvgl/lv_lib_bmp.git#release/v7
- ;git+https://github.com/lvgl/lv_lib_gif.git#release/v7
- ;git+https://github.com/lvgl/lv_lib_split_jpg.git
-
-ps_ram =
- -DBOARD_HAS_PSRAM
-; -mfix-esp32-psram-cache-issue ; uses 24kB
-
-extra_scripts =
- tools/littlefsbuilder.py
- tools/esp_merge_bin.py
- tools/analyze_elf.py
-; ${env.extra_scripts}
-; tools/copy_partitions.py
-
-; -- The ESP32S2 has 2 SPI Hardware Busses available to use:
-fspi =
- -D TFT_MISO=19
- -D TFT_MOSI=23
- -D TFT_SCLK=18
-hspi =
- -D TFT_MISO=12
- -D TFT_MOSI=13
- -D TFT_SCLK=14
-
-
-[esp8266]
-framework = arduino
-platform = espressif8266
-
-board_build.f_flash = 40000000L
-board_build.flash_mode = dout
-board_build.ldscript = eagle.flash.4m2m.ld ; 2Mb Spiffs
-board_build.f_cpu = 160000000L ; set frequency to 160MHz
-
-; ----- crash reporter
-monitor_filters = esp8266_exception_decoder
-
-build_flags=
- -D HTTP_UPLOAD_BUFLEN=512 ; lower http upload buffer
- -D MQTT_MAX_PACKET_SIZE=1024 ; longer PubSubClient messages
- -D HASP_CONSOLE_BUFFER=160 ; maximum length of a console/telnet command
- -D ATOMIC_FS_UPDATE ; enabled compressed ota updates
- -D NO_GLOBAL_HTTPUPDATE ; dont instantiate httpUpdate
-; -- lwIP Variant -----------------------------------
- ;-D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
- -D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
-; -- lvgl build options -----------------------------
- -D LV_MEM_SIZE=12288U ; 12kB lvgl memory
- -D LV_ATTRIBUTE_FAST_MEM=
- -D LV_ATTRIBUTE_TASK_HANDLER=
-; -- ArduinoJson build options ----------------------------
- -D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
- -D ARDUINOJSON_ENABLE_STD_STRING=1 ; for std::string
-; -- openHASP build options -------------------------
- -D HASP_ATTRIBUTE_FAST_MEM=
- -D HASP_USE_TELNET=1
- ;-D HASP_USE_SPIFFS=1
- -D HASP_USE_LITTLEFS=1
- -D HASP_USE_EEPROM=1
- -D HASP_USE_ETHERNET=0
- -D HASP_USE_CONFIG=1 ; Native application, not library
-
-extra_scripts = tools/copy_fw.py ; tools/pre:extra_script.py
-
-lib_ignore =
- ESP32 BLE Arduino
- GxTFT
- sstaub/Ticker
- lv_drv_fsmc_ili9341
- AXP192
-
-lib_deps =
-
-
-[stm32f4]
-framework = arduino
-platform = ststm32
-build_flags=
- -I include/stm32f4
- -D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
- -D HASP_CONSOLE_BUFFER=220 ; maximum length of a console/telnet command
- -D IRAM_ATTR= ; No IRAM_ATTR available on STM32
- -D ICACHE_RAM_ATTR=
- -D STM32
- -D ARDUINOJSON_DECODE_UNICODE=1 ; for utf-8 symbols
- -D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
- -D STREAMUTILS_USE_EEPROM_UPDATE=1 ; update cell only when changed
-; -- lvgl build options -----------------------------
- -D LV_MEM_SIZE=20480U ; 20kB lvgl memory
- -D HASP_USE_SYSLOG=0 ; Needs UDP
- -D HASP_USE_SPIFFS=0
- -D HASP_USE_LITTLEFS=0
- -D HASP_USE_CONFIG=1 ; Native application, not library
-
-lib_deps =
- ; sstaub/Ticker @ ^3.2.0
- stm32duino/STM32duino LwIP @ ^2.1.2
- ;https://github.com/stm32duino/LwIP.git
-
-[stm32f7]
-framework = arduino
-platform = ststm32
-build_flags=
-; -I include/stm32f4
- -D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
- -D HASP_CONSOLE_BUFFER=220 ; maximum length of a console/telnet command
- -D IRAM_ATTR= ; No IRAM_ATTR available on STM32
- -D ICACHE_RAM_ATTR=
- -D STM32
- -D ARDUINOJSON_DECODE_UNICODE=1 ; for utf-8 symbols
- -D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
- -D STREAMUTILS_USE_EEPROM_UPDATE=1 ; update cell only when changed
-; -- lvgl build options -----------------------------
- -D LV_MEM_SIZE=20480U ; 20kB lvgl memory
- -D HASP_USE_SYSLOG=0 ; Needs UDP
- -D HASP_USE_SPIFFS=0
- -D HASP_USE_LITTLEFS=0
- -D HASP_USE_CONFIG=1 ; Native application, not library
-
-lib_deps =
- ; sstaub/Ticker @ ^3.2.0
- stm32duino/STM32duino LwIP @ ^2.1.2
- ;https://github.com/stm32duino/LwIP.git
diff --git a/user_setups/esp32/_esp32.ini b/user_setups/esp32/_esp32.ini
new file mode 100644
index 00000000..ce37f432
--- /dev/null
+++ b/user_setups/esp32/_esp32.ini
@@ -0,0 +1,112 @@
+; -- Platform specific build flags
+[esp32]
+framework = arduino
+platform = espressif32@^3.3.2
+
+board_build.filesystem = littlefs
+board_build.embed_files =
+ data/edit.htm.gz
+ data/style.css.gz
+
+; ----- crash reporter
+monitor_filters = esp32_exception_decoder
+
+; ----- debugger
+check_tool = cppcheck
+check_flags = --enable=all
+debug_tool = esp-prog
+debug_init_break = tbreak setup
+
+build_flags =
+ ${env.build_flags}
+ -D HTTP_UPLOAD_BUFLEN=1024 ; lower http upload buffer
+ -D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
+ -D HASP_CONSOLE_BUFFER=256 ; maximum length of a console/telnet command
+ -D NO_GLOBAL_HTTPUPDATE ; dont instantiate httpUpdate
+ ;-D CONFIG_NEWLIB_NANO_FORMAT
+; -- lvgl build options -----------------------------
+ -D LV_MEM_SIZE=49152U ; 48 kB lvgl memory
+ -D LV_ATTRIBUTE_FAST_MEM=IRAM_ATTR
+ -D LV_ATTRIBUTE_TASK_HANDLER=IRAM_ATTR
+ ;-D LV_FS_PC_PATH="//littlefs" ; this needs to match the vfs mount pount
+; -- ArduinoJson build options ----------------------------
+ -D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
+; -- tft_espi build options ------------------------
+ ;-D USE_DMA_TO_TFT
+; -- openHASP build options ------------------------
+ -D HASP_ATTRIBUTE_FAST_MEM=IRAM_ATTR
+ -D HASP_USE_TELNET=1
+ ;-D HASP_USE_SPIFFS=1
+ -D HASP_USE_LITTLEFS=1
+ ;-D HASP_USE_EEPROM=1
+ -D HASP_USE_CONFIG=1 ; Native application, not library
+ -D LV_LOG_TRACE_TIMER=1
+ -D HASP_USE_PNGDECODE=1
+ -D HASP_USE_BMPDECODE=0
+ -D HASP_USE_JPGDECODE=0
+ -D HASP_USE_GIFDECODE=0
+; -- LittleFS build options ------------------------
+ ;-D CONFIG_LITTLEFS_FOR_IDF_3_2 ; obsolete in IDF 3.3
+
+lib_ignore =
+ GxTFT
+ XPT2046_Touchscreen
+ Adafruit TouchScreen
+ Adafruit BusIO
+ Adafruit GFX Library
+ sstaub/Ticker
+ lv_drv_fsmc_ili9341
+ lv_drivers
+ AXP192
+
+lib_deps =
+ ;ESP Async WebServer
+ LittleFS_esp32
+ git+https://github.com/lvgl/lv_lib_png.git#release/v7
+ ;git+https://github.com/lvgl/lv_lib_bmp.git#release/v7
+ ;git+https://github.com/lvgl/lv_lib_gif.git#release/v7
+ ;git+https://github.com/lvgl/lv_lib_split_jpg.git
+
+extra_scripts =
+ tools/littlefsbuilder.py
+ tools/esp_merge_bin.py
+ tools/analyze_elf.py
+; ${env.extra_scripts}
+; tools/copy_partitions.py
+
+ps_ram =
+ -DBOARD_HAS_PSRAM
+ -mfix-esp32-psram-cache-issue ; uses 24kB
+no_ps_ram =
+
+; -- The ESP32 has 2 SPI Hardware Busses available to use:
+vspi =
+ -D TFT_MISO=19
+ -D TFT_MOSI=23
+ -D TFT_SCLK=18
+hspi =
+ -D TFT_MISO=12
+ -D TFT_MOSI=13
+ -D TFT_SCLK=14
+
+
+; -- The ESP32 has 3 available flash sizes:
+[esp32_4mb]
+extends = esp32
+board_upload.flash_size=4MB
+board_upload.maximum_size = 4194304
+board_build.partitions = user_setups/esp32/partitions_4MB.csv
+
+
+[esp32_8mb]
+extends = esp32
+board_upload.flash_size=8MB
+board_upload.maximum_size = 8388608
+board_build.partitions = user_setups/esp32/partitions_8MB.csv
+
+
+[esp32_16mb]
+extends = esp32
+board_upload.flash_size = 16MB
+board_upload.maximum_size = 16777216
+board_build.partitions = user_setups/esp32/partitions_16MB.csv
\ No newline at end of file
diff --git a/user_setups/esp32s2/_esp32s2.ini b/user_setups/esp32s2/_esp32s2.ini
new file mode 100644
index 00000000..609c32dd
--- /dev/null
+++ b/user_setups/esp32s2/_esp32s2.ini
@@ -0,0 +1,99 @@
+; -- Platform specific build flags
+[esp32s2]
+framework = arduino
+#platform = espressif32@^3.3.2
+
+platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream
+platform_packages =
+ framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#2.0.0
+
+board_build.mcu = esp32s2
+board_build.f_cpu = 240000000L
+board_upload.flash_size=4MB
+board_upload.maximum_size = 4194304
+board_build.partitions = user_setups/esp32s2/no_ota.csv
+board_build.filesystem = littlefs
+;board_build.embed_files =
+; data/edit.htm.gz
+
+; ----- crash reporter
+monitor_filters = esp32_exception_decoder
+
+; ----- debugger
+; check_tool = cppcheck
+; check_flags = --enable=all
+; debug_tool = esp-prog
+; debug_init_break = tbreak setup
+
+build_flags =
+ ${env.build_flags}
+ -D ESP32S2
+ -D HTTP_UPLOAD_BUFLEN=1024 ; lower http upload buffer
+ -D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
+ -D HASP_CONSOLE_BUFFER=256 ; maximum length of a console/telnet command
+ -D NO_GLOBAL_HTTPUPDATE ; dont instantiate httpUpdate
+ ;-D CONFIG_NEWLIB_NANO_FORMAT
+; -- lvgl build options -----------------------------
+ -D LV_MEM_SIZE=20480U ; 20kB lvgl memory
+ -D LV_ATTRIBUTE_FAST_MEM=IRAM_ATTR
+ -D LV_ATTRIBUTE_TASK_HANDLER=IRAM_ATTR
+ ;-D LV_FS_PC_PATH="//littlefs" ; this needs to match the vfs mount pount
+; -- ArduinoJson build options ----------------------------
+ -D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
+; -- tft_espi build options ------------------------
+ ;-D USE_DMA_TO_TFT
+; -- openHASP build options ------------------------
+ -D HASP_ATTRIBUTE_FAST_MEM=IRAM_ATTR
+ -D HASP_USE_TELNET=1
+ ;-D HASP_USE_SPIFFS=1
+ -D HASP_USE_LITTLEFS=1
+ ;-D HASP_USE_EEPROM=1
+ -D HASP_USE_CONFIG=1 ; Native application, not library
+ -D LV_LOG_TRACE_TIMER=1
+ -D HASP_USE_PNGDECODE=1
+ -D HASP_USE_BMPDECODE=0
+ -D HASP_USE_JPGDECODE=0
+ -D HASP_USE_GIFDECODE=0
+; -- LittleFS build options ------------------------
+ ;-D CONFIG_LITTLEFS_FOR_IDF_3_2 ; obsolete in IDF 3.3
+
+lib_ignore =
+ GxTFT
+ XPT2046_Touchscreen
+ Adafruit TouchScreen
+ Adafruit BusIO
+ Adafruit GFX Library
+ sstaub/Ticker
+ lv_drv_fsmc_ili9341
+ lv_drivers
+ AXP192
+ bodmer/TFT_eSPI
+ LittleFS_esp32
+
+lib_deps =
+ ESP Async WebServer
+ git+https://github.com/lvgl/lv_lib_png.git#release/v7
+ ;git+https://github.com/lvgl/lv_lib_bmp.git#release/v7
+ ;git+https://github.com/lvgl/lv_lib_gif.git#release/v7
+ ;git+https://github.com/lvgl/lv_lib_split_jpg.git
+
+ps_ram =
+ -DBOARD_HAS_PSRAM
+; -mfix-esp32-psram-cache-issue ; uses 24kB
+
+extra_scripts =
+ tools/littlefsbuilder.py
+ tools/esp_merge_bin.py
+ tools/analyze_elf.py
+; ${env.extra_scripts}
+; tools/copy_partitions.py
+
+; -- The ESP32S2 has 2 SPI Hardware Busses available to use:
+fspi =
+ -D TFT_MISO=19
+ -D TFT_MOSI=23
+ -D TFT_SCLK=18
+hspi =
+ -D TFT_MISO=12
+ -D TFT_MOSI=13
+ -D TFT_SCLK=14
diff --git a/user_setups/esp8266/_esp8266.ini b/user_setups/esp8266/_esp8266.ini
new file mode 100644
index 00000000..a9ca8a3f
--- /dev/null
+++ b/user_setups/esp8266/_esp8266.ini
@@ -0,0 +1,48 @@
+; -- Platform specific build flags
+[esp8266]
+framework = arduino
+platform = espressif8266
+
+board_build.f_flash = 40000000L
+board_build.flash_mode = dout
+board_build.ldscript = eagle.flash.4m2m.ld ; 2Mb Spiffs
+board_build.f_cpu = 160000000L ; set frequency to 160MHz
+
+; ----- crash reporter
+monitor_filters = esp8266_exception_decoder
+
+build_flags=
+ -D HTTP_UPLOAD_BUFLEN=512 ; lower http upload buffer
+ -D MQTT_MAX_PACKET_SIZE=1024 ; longer PubSubClient messages
+ -D HASP_CONSOLE_BUFFER=160 ; maximum length of a console/telnet command
+ -D ATOMIC_FS_UPDATE ; enabled compressed ota updates
+ -D NO_GLOBAL_HTTPUPDATE ; dont instantiate httpUpdate
+; -- lwIP Variant -----------------------------------
+ ;-D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
+ -D PIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
+; -- lvgl build options -----------------------------
+ -D LV_MEM_SIZE=12288U ; 12kB lvgl memory
+ -D LV_ATTRIBUTE_FAST_MEM=
+ -D LV_ATTRIBUTE_TASK_HANDLER=
+; -- ArduinoJson build options ----------------------------
+ -D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
+ -D ARDUINOJSON_ENABLE_STD_STRING=1 ; for std::string
+; -- openHASP build options -------------------------
+ -D HASP_ATTRIBUTE_FAST_MEM=
+ -D HASP_USE_TELNET=1
+ ;-D HASP_USE_SPIFFS=1
+ -D HASP_USE_LITTLEFS=1
+ -D HASP_USE_EEPROM=1
+ -D HASP_USE_ETHERNET=0
+ -D HASP_USE_CONFIG=1 ; Native application, not library
+
+extra_scripts = tools/copy_fw.py ; tools/pre:extra_script.py
+
+lib_ignore =
+ ESP32 BLE Arduino
+ GxTFT
+ sstaub/Ticker
+ lv_drv_fsmc_ili9341
+ AXP192
+
+lib_deps =
diff --git a/user_setups/stm32f4xx/_stm32f4.ini b/user_setups/stm32f4xx/_stm32f4.ini
new file mode 100644
index 00000000..b2169c53
--- /dev/null
+++ b/user_setups/stm32f4xx/_stm32f4.ini
@@ -0,0 +1,25 @@
+; -- Platform specific build flags
+[stm32f4]
+framework = arduino
+platform = ststm32
+build_flags=
+ -I include/stm32f4
+ -D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
+ -D HASP_CONSOLE_BUFFER=220 ; maximum length of a console/telnet command
+ -D IRAM_ATTR= ; No IRAM_ATTR available on STM32
+ -D ICACHE_RAM_ATTR=
+ -D STM32
+ -D ARDUINOJSON_DECODE_UNICODE=1 ; for utf-8 symbols
+ -D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
+ -D STREAMUTILS_USE_EEPROM_UPDATE=1 ; update cell only when changed
+; -- lvgl build options -----------------------------
+ -D LV_MEM_SIZE=20480U ; 20kB lvgl memory
+ -D HASP_USE_SYSLOG=0 ; Needs UDP
+ -D HASP_USE_SPIFFS=0
+ -D HASP_USE_LITTLEFS=0
+ -D HASP_USE_CONFIG=1 ; Native application, not library
+
+lib_deps =
+ ; sstaub/Ticker @ ^3.2.0
+ stm32duino/STM32duino LwIP @ ^2.1.2
+ ;https://github.com/stm32duino/LwIP.git
\ No newline at end of file
diff --git a/user_setups/stm32f7xx/_stm32f7.ini b/user_setups/stm32f7xx/_stm32f7.ini
new file mode 100644
index 00000000..e4a5da81
--- /dev/null
+++ b/user_setups/stm32f7xx/_stm32f7.ini
@@ -0,0 +1,25 @@
+; -- Platform specific build flags
+[stm32f7]
+framework = arduino
+platform = ststm32
+build_flags=
+; -I include/stm32f4
+ -D MQTT_MAX_PACKET_SIZE=2048 ; longer PubSubClient messages
+ -D HASP_CONSOLE_BUFFER=220 ; maximum length of a console/telnet command
+ -D IRAM_ATTR= ; No IRAM_ATTR available on STM32
+ -D ICACHE_RAM_ATTR=
+ -D STM32
+ -D ARDUINOJSON_DECODE_UNICODE=1 ; for utf-8 symbols
+ -D ARDUINOJSON_ENABLE_PROGMEM=1 ; for PROGMEM arguments
+ -D STREAMUTILS_USE_EEPROM_UPDATE=1 ; update cell only when changed
+; -- lvgl build options -----------------------------
+ -D LV_MEM_SIZE=20480U ; 20kB lvgl memory
+ -D HASP_USE_SYSLOG=0 ; Needs UDP
+ -D HASP_USE_SPIFFS=0
+ -D HASP_USE_LITTLEFS=0
+ -D HASP_USE_CONFIG=1 ; Native application, not library
+
+lib_deps =
+ ; sstaub/Ticker @ ^3.2.0
+ stm32duino/STM32duino LwIP @ ^2.1.2
+ ;https://github.com/stm32duino/LwIP.git