diff --git a/.gitignore b/.gitignore
index bd0ebcebcc9e3f9b062d3c9a0a73c030fb099469..086ec7e3dbfd3c7a684a9af77a635d475c5dcd47 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,3 +28,4 @@ user.props
 tags
 
 sdkconfig.old
+sdkconfig
diff --git a/README.md b/README.md
index 1ba0b64662c5e1b0f26f89cf342b2a9a52067d58..76cb8cc2fc06bbb03d3a6e707ddb6e60612aef53 100644
--- a/README.md
+++ b/README.md
@@ -62,8 +62,6 @@ $ nix-shell nix/shell.nix
 
 ## How to build and flash
 
-Select the right firmware for your hardware in`./revision_config.h` by (un)commenting your (un)desired revision(s) (default: rev4).
-
 Standard ESP-IDF project machinery present and working. You can run `idf.py` from the git checkout and things should just work.
 
 ### Building
@@ -80,6 +78,15 @@ Build normally with idf.py:
 $ idf.py build
 ```
 
+By default, code for the fourth generation prototype will be built. To select a different generation, either set `-g`/`--generation` during an `idf.py build` (which will get cached for subsequent builds) or set the BADGE_GENERATION environment variable to one of the following values:
+
+^ `-g` / `BADGE_GENERATION` value ^ Badge Generation                   ^ 
+| `p1` or `proto1`                | Prototype 1                        |
+| `p3` or `proto3`                | Prototype 3 (B3xx)                 |
+| `p4` or `proto4`                | Prototype 4 (B4xx)                 |
+
+**Important**: when switching generations, do a full clean by running `rm -rf sdkconfig build`. Otherwise you will get _weird_ errors and likely will end up building for the wrong architecture.
+
 ### Flashing
 
 Put badge into bootloader mode by holding left should button down during boot.
@@ -92,6 +99,15 @@ You can skip `-p /dev/ttyACM0` if you set the environment variable `ESPPORT=/dev
 
 After flashing, remember to powercycle your badge to get it into the user application.
 
+
+### Cleaning
+
+For a full clean, do **not** trust `idf.py clean` or `idf.py fullclean`. Instead, do:
+
+```
+$ rm -rf build sdkconfig
+```
+
 ### Accessing MicroPython REPL:
 
 ```
@@ -186,10 +202,23 @@ Good luck. The idf.py gdb/openocd scripts seem somewhat buggy.
 
 ### ESP-IDF functionality
 
-Currently we have one large sdkconfig file. To modify it, run:
+#### sdkconfig / menuconfig
+
+We have an sdkconfig.default file per badge generation. See the build
+instructions above to see how to select the generation to build against.
+
+The build system will generate an sdkconfig, but it should not be committed into
+version control. Instead, treat it like an ephemeral artifact that you can also
+modify for your own needs during development.
+
+To run menuconfig, do the usual::
 
 ```
-$ idf.py menuconfig
+$ idf.py  menuconfig
 ```
 
-TODO(q3k): split into defaults
+(Specify -g or BADGE_GENERATION if you haven't built the firmware yet)
+
+Then, either save into the temporary sdkconfig by using 'S', or save into a
+defconfig by using 'D'. The resulting `build/defconfig` file can then be copied
+into `sdkconfig.$generation` to change the defaults for a given generation.
diff --git a/components/badge23/CMakeLists.txt b/components/badge23/CMakeLists.txt
index d72c6ee2f838a701fdffc4dbbb6447a6f41a3b99..732edf14ee0793c536e049c1b9f274f0de538408 100644
--- a/components/badge23/CMakeLists.txt
+++ b/components/badge23/CMakeLists.txt
@@ -12,6 +12,7 @@ idf_component_register(
     INCLUDE_DIRS
         include
     REQUIRES
+        badge23_hwconfig
         gc9a01
         espressif__led_strip
 )
diff --git a/components/badge23/Kconfig b/components/badge23/Kconfig
new file mode 100644
index 0000000000000000000000000000000000000000..11e51633ef72a6fd1e2d8d8f956a9038c70d1c94
--- /dev/null
+++ b/components/badge23/Kconfig
@@ -0,0 +1,32 @@
+menu "Badge23 Config"
+    choice BADGE23_HW_GEN
+        prompt "Badge23 Hardware Generation"
+        default BADGE23_HW_GEN_P4
+        config BADGE23_HW_GEN_P1
+            help
+                Protoype version 1, a.k.a. proto1. Very early protoype.
+                Visual identifiers:
+                 - No line in/out jacks
+                 - White bottom board
+                 - USB-C jack points side of leaf
+            bool "Prototype 1"
+        config BADGE23_HW_GEN_P3
+            help
+                Prototype version 3, a.k.a. proto3
+                Visual identifiers:
+                  - Sticker with B3xx (xx being arbitrary digits) on the back
+            bool "Prototype 3"
+        config BADGE23_HW_GEN_P4
+            help
+                Prototype version 4, a.k.a. proto4
+                Visual identifiers:
+                  - Sticker with B4xx (xx being arbitrary digits) on the back
+            bool "Prototype 4"
+        config BADGE23_HW_GEN_ADILESS
+            help
+                Prototype version 5, a.k.a. adi-less
+                Visual identifiers:
+                  - Sticker with B5xx (xx being arbitrary digits) on the back
+            bool "Prototype 5 / ADI-less"
+    endchoice
+endmenu
diff --git a/components/badge23/audio.c b/components/badge23/audio.c
index ce7fe753eac96d330b5e8f8e6c9a96ba5149f01a..6d24dca67ec890ecebd93bba7bb736402f0f3a1b 100644
--- a/components/badge23/audio.c
+++ b/components/badge23/audio.c
@@ -1,7 +1,7 @@
 #include "badge23/audio.h"
 #include "badge23/synth.h" 
 #include "badge23/scope.h"
-#include "../../../revision_config.h"
+#include "badge23_hwconfig.h"
 
 #include "driver/i2s.h"
 #include "driver/i2c.h"
@@ -24,7 +24,7 @@ static void audio_player_task(void* arg);
 #define DMA_BUFFER_COUNT    2
 #define I2S_PORT 0
 
-#ifdef HARDWARE_REVISION_04
+#if defined(CONFIG_BADGE23_HW_GEN_P4)
 static uint8_t max98091_i2c_read(const uint8_t reg)
 {
     const uint8_t tx[] = {reg};
@@ -144,10 +144,9 @@ static void i2s_init(void){
     i2s_set_pin(I2S_PORT, &pin_config);
 
 }
-#endif
 
+#elif defined(CONFIG_BADGE23_HW_GEN_P1)
 
-#ifdef HARDWARE_REVISION_01
 static void i2s_init(void){
     
     static const i2s_config_t i2s_config = {
@@ -174,6 +173,8 @@ static void i2s_init(void){
 
     i2s_set_pin(I2S_PORT, &pin_config);
 }
+#else
+#error "audio not implemented for this badge generation"
 #endif
 
 typedef struct _audio_source_t{
diff --git a/components/badge23/captouch.c b/components/badge23/captouch.c
index 8c248c3d88a58f9f72dde7abed9b403d2b141bb6..e25ec12b85a293a37f9c87fed2995599fda8d444 100644
--- a/components/badge23/captouch.c
+++ b/components/badge23/captouch.c
@@ -2,21 +2,23 @@
 //#include <string.h>
 #include "esp_log.h"
 #include "driver/i2c.h"
-#include "../../../revision_config.h"
+#include "badge23_hwconfig.h"
 #include <stdint.h>
 
-#ifdef HARDWARE_REVISION_04
+#if defined(CONFIG_BADGE23_HW_GEN_P4)
 static const uint8_t top_map[] = {1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 8, 8}; //flipped top and bottom from bootstrap reference
 static const uint8_t top_stages = 12;
 static const uint8_t bot_map[] = {0, 0, 0, 2, 2, 2, 6, 6, 6, 4, 4, 4}; //idk y :~)
 static const uint8_t bottom_stages = 12;
-#endif
 
-#ifdef HARDWARE_REVISION_01
+#elif defined(CONFIG_BADGE23_HW_GEN_P1)
 static const uint8_t top_map[] = {2, 2, 2, 0, 0, 8, 8, 8, 6, 6, 4, 4};
 static const uint8_t top_stages = 12;
 static const uint8_t bot_map[] = {1, 1, 3, 3, 5, 5, 7, 7, 9, 9};
 static const uint8_t bottom_stages = 10;
+
+#else
+#error "captouch not implemented for this badge generation"
 #endif
 
 static const char *TAG = "captouch";
diff --git a/components/badge23/espan.c b/components/badge23/espan.c
index c10c44c632b9615127c22efa6f0ddc3579c0e79b..74cf555fa1a70dcc5a43fb1ba69685247d04a438 100644
--- a/components/badge23/espan.c
+++ b/components/badge23/espan.c
@@ -3,7 +3,7 @@
 #include "badge23/leds.h"
 #include "badge23/display.h"
 #include "badge23/spio.h"
-#include "../../../revision_config.h"
+#include "badge23_hwconfig.h"
 
 #include "esp_log.h"
 #include "driver/i2c.h"
@@ -21,14 +21,16 @@ static const char *TAG = "espan";
 #define I2C_MASTER_TX_BUF_DISABLE   0                          /*!< I2C master doesn't need buffer */
 #define I2C_MASTER_RX_BUF_DISABLE   0                          /*!< I2C master doesn't need buffer */
 
-#ifdef HARDWARE_REVISION_04
+#if defined(CONFIG_BADGE23_HW_GEN_P4)
 #define CONFIG_I2C_MASTER_SDA 2
 #define CONFIG_I2C_MASTER_SCL 1
-#endif
 
-#ifdef HARDWARE_REVISION_01
+#elif defined(CONFIG_BADGE23_HW_GEN_P1)
 #define CONFIG_I2C_MASTER_SDA 10
 #define CONFIG_I2C_MASTER_SCL 9
+
+#else
+#error "i2c not implemented for this badge generation"
 #endif
 
 static esp_err_t i2c_master_init(void)
@@ -53,6 +55,7 @@ static esp_err_t i2c_master_init(void)
 
 void os_app_main(void)
 {
+    ESP_LOGI(TAG, "Starting on %s...", badge23_hw_name);
     ESP_ERROR_CHECK(i2c_master_init());
     ESP_LOGI(TAG, "I2C initialized successfully");
 
diff --git a/components/badge23/leds.c b/components/badge23/leds.c
index daedb30bd932a69454e60cbe48d75a5fe4030192..3b32eb382d34257eb60f4c24b9595a14e66fa6d1 100644
--- a/components/badge23/leds.c
+++ b/components/badge23/leds.c
@@ -6,14 +6,16 @@
 #include <math.h>
 #include "esp_system.h"
 #include "badge23/leds.h"
-#include "../../../revision_config.h"
+#include "badge23_hwconfig.h"
 
-#ifdef HARDWARE_REVISION_01
+#if defined(CONFIG_BADGE23_HW_GEN_P1)
 #define LED_SPI_PORT
-#endif
 
-#ifdef HARDWARE_REVISION_04
+#elif defined(CONFIG_BADGE23_HW_GEN_P4)
 #define LED_ASYNC_PORT
+
+#else
+#error "leds not implemented for this badge generation"
 #endif
 
 typedef struct leds_cfg {
diff --git a/components/badge23/spio.c b/components/badge23/spio.c
index 0a2a4c387edb4bd994e767e4b3592abbf2945c5d..b0cdaad75764bb7cae6b8c8880fc5b00da96c354 100644
--- a/components/badge23/spio.c
+++ b/components/badge23/spio.c
@@ -1,12 +1,12 @@
 //special purpose input outputs
 #include "driver/gpio.h"
-#include "../../../revision_config.h"
+#include "badge23_hwconfig.h"
 #include "stdint.h"
 
 static int8_t leftbutton = 0;
 static int8_t rightbutton = 0;
 
-#ifdef HARDWARE_REVISION_01
+#if defined(CONFIG_BADGE23_HW_GEN_P1)
 
 #define RIGHT_BUTTON_LEFT 37
 #define RIGHT_BUTTON_MID 0
@@ -58,9 +58,8 @@ void update_button_state(){
         leftbutton = 0;
     }
 }
-#endif
 
-#ifdef HARDWARE_REVISION_04
+#elif defined(CONFIG_BADGE23_HW_GEN_P4)
 
 #include "driver/i2c.h"
 #define I2C_MASTER_NUM 0
@@ -122,6 +121,9 @@ void update_button_state(){
         leftbutton = 0;
     }
 }
+
+#else
+#error "spio not implemented for this badge generation"
 #endif
 
 void init_buttons(){
diff --git a/components/badge23_hwconfig/CMakeLists.txt b/components/badge23_hwconfig/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a807c6af808a8c0d51c08f10acfdea11cd1b71a5
--- /dev/null
+++ b/components/badge23_hwconfig/CMakeLists.txt
@@ -0,0 +1,6 @@
+idf_component_register(
+    SRCS
+        badge23_hwconfig.c
+    INCLUDE_DIRS
+        include
+)
diff --git a/components/badge23_hwconfig/badge23_hwconfig.c b/components/badge23_hwconfig/badge23_hwconfig.c
new file mode 100644
index 0000000000000000000000000000000000000000..3cd9ea6e028aee9fa6269cee77ce041915f3ba2d
--- /dev/null
+++ b/components/badge23_hwconfig/badge23_hwconfig.c
@@ -0,0 +1,13 @@
+#include "badge23_hwconfig.h"
+
+#if defined(CONFIG_BADGE23_HW_GEN_P1)
+const char *badge23_hw_name = "proto1";
+#elif defined(CONFIG_BADGE23_HW_GEN_P3)
+const char *badge23_hw_name = "proto3";
+#elif defined(CONFIG_BADGE23_HW_GEN_P4)
+const char *badge23_hw_name = "proto4";
+#elif defined(CONFIG_BADGE23_HW_GEN_ADILESS)
+const char *badge23_hw_name = "adiless";
+#else
+#error "Badge23 Hardware Generation must be set!"
+#endif
diff --git a/components/badge23_hwconfig/include/badge23_hwconfig.h b/components/badge23_hwconfig/include/badge23_hwconfig.h
new file mode 100644
index 0000000000000000000000000000000000000000..5849a9149d30d8832a25f2acec68119837e64f32
--- /dev/null
+++ b/components/badge23_hwconfig/include/badge23_hwconfig.h
@@ -0,0 +1,6 @@
+#pragma once
+
+#include "sdkconfig.h"
+
+// internal name of the badge hardware version (proto1, proto3, etc).
+const char *badge23_hw_name;
diff --git a/components/gc9a01/CMakeLists.txt b/components/gc9a01/CMakeLists.txt
index cb20ec6a4ebd1b344c6809069b6258bcda081adb..739a7727e21526a3b2b0828c0d7337cd601aa58c 100644
--- a/components/gc9a01/CMakeLists.txt
+++ b/components/gc9a01/CMakeLists.txt
@@ -1 +1 @@
-idf_component_register(SRCS "gc9a01.c" REQUIRES driver INCLUDE_DIRS ".")
+idf_component_register(SRCS "gc9a01.c" REQUIRES driver badge23_hwconfig INCLUDE_DIRS ".")
diff --git a/components/gc9a01/gc9a01.h b/components/gc9a01/gc9a01.h
index df12c2632dedf8ef98b66504385298d1e77a0a1e..d5200d80cfdaaf29228495d5a4762ec1b0dcba71 100644
--- a/components/gc9a01/gc9a01.h
+++ b/components/gc9a01/gc9a01.h
@@ -7,14 +7,14 @@
 
 #include "sdkconfig.h"
 #include <stdint.h>
-#include "../../revision_config.h"
+#include "badge23_hwconfig.h"
 
 
 #ifdef CONFIG_GC9A01_PIN_NUM_MOSI
 #warning "idf menuconfig is ignored for display config, it breaks hardware revision switching atm"
 #endif
 
-#ifdef HARDWARE_REVISION_01
+#if defined(CONFIG_BADGE23_HW_GEN_P1)
 #define USE_SPI3_HOST 1
 #define GC9A01_SPI_HOST 2
 #define GC9A01_PIN_NUM_SCK 39
@@ -25,9 +25,8 @@
 #define GC9A01_RESET_USED 1
 #define GC9A01_PIN_NUM_RST 38
 #define GC9A01_BUFFER_MODE 1
-#endif
 
-#ifdef HARDWARE_REVISION_04
+#elif defined(CONFIG_BADGE23_HW_GEN_P4)
 #define USE_SPI3_HOST 1
 #define GC9A01_SPI_HOST 2
 #define GC9A01_PIN_NUM_SCK 41
@@ -40,6 +39,9 @@
 #define GC9A01_BACK_LIGHT_MODE_PWM 1
 #define GC9A01_CONTROL_BACK_LIGHT_MODE 1
 #define GC9A01_BUFFER_MODE 1
+
+#else
+#error "gc9a01 unimplemented for this badge generation"
 #endif
 
 #define GC9A01_Width	240
diff --git a/idf_ext.py b/idf_ext.py
new file mode 100644
index 0000000000000000000000000000000000000000..0c74d88daf5978167f62d2fb0e46d7881c919e6e
--- /dev/null
+++ b/idf_ext.py
@@ -0,0 +1,71 @@
+import copy
+import glob
+import os
+import os.path
+import re
+import shutil
+
+
+def action_extensions(base_actions, project_path=os.getcwd()):
+    """
+    Implementes -g/--generation and BADGE_GENERATION in idf.py, allowing
+    switching between badge generations and sdkconfig default files.
+    """
+
+    # Map from canonical name to user-supported names.
+    GENERATIONS = {
+        'p1': ['proto1'],
+        'p3': ['proto3'],
+        'p4': ['proto4'],
+        'p5': ['adi-less'],
+    }
+
+    def generation_callback(ctx, global_args, tasks):
+        """
+        Implements translation from set -g/--generation and BADGE_GENERATION
+        into CMake cache entries.
+        """
+        generation = global_args.generation
+        if generation is None:
+            generation = os.environ.get('BADGE_GENERATION', 'proto4')
+
+        name = None
+        if generation in GENERATIONS:
+            name = generation
+        else:
+            for gen, names in GENERATIONS.items():
+                if generation in names:
+                    name = gen
+                    break
+        if name is None:
+            supported = []
+            supported += GENERATIONS.keys()
+            for _, names in GENERATIONS.values():
+                supported += names
+            sort(supported)
+            raise Exception(f'Invalid generation: want one of {", ".join(supported)}')
+
+        sdkconfig_name = 'sdkconfig.' + name
+        sdkconfig_path = os.path.join(project_path, sdkconfig_name)
+        if not os.path.exists(sdkconfig_path):
+            raise Exception(f'Missing sdkconfig file {sdkconfig_name}')
+        cache_entries = {
+            'SDKCONFIG_DEFAULTS': sdkconfig_path,
+        }
+        print(cache_entries)
+        global_args.define_cache_entry = list(global_args.define_cache_entry)
+        global_args.define_cache_entry.extend(['%s=%s' % (k, v) for k, v in cache_entries.items()])
+
+    # Add global options
+    extensions = {
+        'global_options': [{
+            'names': ['-g', '--generation'],
+            'help': 'Specify badge generation to build for (one of: proto1, proto3, proto4, adiless). Defaults to proto4.',
+            'scope': 'shared',
+            'multiple': False,
+        }],
+        'global_action_callbacks': [generation_callback],
+        'actions': {},
+    }
+
+    return extensions
diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt
index 69168406234e3cd552592766755654d2c4697192..08d677031a1ef302b26334ae10829fa26ecc4d15 100644
--- a/main/CMakeLists.txt
+++ b/main/CMakeLists.txt
@@ -104,6 +104,7 @@ set(MICROPY_SOURCE_QSTR
 set(IDF_COMPONENTS
     app_update
     badge23
+    badge23_hwconfig
     bootloader_support
     bt
     driver
diff --git a/revision_config.h b/revision_config.h
deleted file mode 100644
index 6ddfea01704b03ff38381b8dda6bce29536c0d0c..0000000000000000000000000000000000000000
--- a/revision_config.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#define HARDWARE_REVISION_04
-/* visual identifiers:
- *  - sticker with 04XX (XX being arbitrary digits) on the back
- */
-
-//#define HARDWARE_REVISION_01
-/* visual identifiers:
- *  - no line in/line out jacks
- *  - white bottom board
- *  - usb c jack points towards side of leaf
- */
diff --git a/sdkconfig b/sdkconfig
deleted file mode 100644
index c742db8e1db36e32b0669d8f2e9c29216aba31bc..0000000000000000000000000000000000000000
--- a/sdkconfig
+++ /dev/null
@@ -1,1545 +0,0 @@
-#
-# Automatically generated file. DO NOT EDIT.
-# Espressif IoT Development Framework (ESP-IDF) Project Configuration
-#
-CONFIG_IDF_CMAKE=y
-CONFIG_IDF_TARGET_ARCH_XTENSA=y
-CONFIG_IDF_TARGET="esp32s3"
-CONFIG_IDF_TARGET_ESP32S3=y
-CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009
-
-#
-# SDK tool configuration
-#
-CONFIG_SDK_TOOLPREFIX="xtensa-esp32s3-elf-"
-# CONFIG_SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS is not set
-# end of SDK tool configuration
-
-#
-# Build type
-#
-CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
-# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
-CONFIG_APP_BUILD_GENERATE_BINARIES=y
-CONFIG_APP_BUILD_BOOTLOADER=y
-CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
-# end of Build type
-
-#
-# Application manager
-#
-CONFIG_APP_COMPILE_TIME_DATE=y
-CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=y
-CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y
-# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
-CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
-# end of Application manager
-
-#
-# Bootloader config
-#
-CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0
-CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
-# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
-# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
-# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
-CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
-# CONFIG_BOOTLOADER_LOG_LEVEL_INFO is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
-CONFIG_BOOTLOADER_LOG_LEVEL=2
-CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
-# CONFIG_BOOTLOADER_FACTORY_RESET is not set
-# CONFIG_BOOTLOADER_APP_TEST is not set
-CONFIG_BOOTLOADER_WDT_ENABLE=y
-# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
-CONFIG_BOOTLOADER_WDT_TIME_MS=9000
-# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set
-# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
-# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
-# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
-CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
-# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
-CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
-# end of Bootloader config
-
-#
-# Security features
-#
-CONFIG_SECURE_BOOT_SUPPORTS_RSA=y
-CONFIG_SECURE_TARGET_HAS_SECURE_ROM_DL_MODE=y
-# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
-# CONFIG_SECURE_BOOT is not set
-# CONFIG_SECURE_FLASH_ENC_ENABLED is not set
-# end of Security features
-
-#
-# Boot ROM Behavior
-#
-CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y
-# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set
-# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set
-# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set
-# end of Boot ROM Behavior
-
-#
-# Serial flasher config
-#
-CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
-CONFIG_ESPTOOLPY_NO_STUB=y
-# CONFIG_ESPTOOLPY_OCT_FLASH is not set
-CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
-# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
-# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set
-# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
-CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
-CONFIG_ESPTOOLPY_FLASHMODE="dio"
-# CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set
-CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
-# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
-# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
-CONFIG_ESPTOOLPY_FLASHFREQ="80m"
-# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
-# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
-# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
-# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
-CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
-CONFIG_ESPTOOLPY_BEFORE_RESET=y
-# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
-CONFIG_ESPTOOLPY_BEFORE="default_reset"
-# CONFIG_ESPTOOLPY_AFTER_RESET is not set
-CONFIG_ESPTOOLPY_AFTER_NORESET=y
-CONFIG_ESPTOOLPY_AFTER="no_reset"
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_CONSOLE is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set
-CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set
-CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200
-CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
-# end of Serial flasher config
-
-#
-# Partition Table
-#
-# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
-# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set
-# CONFIG_PARTITION_TABLE_TWO_OTA is not set
-CONFIG_PARTITION_TABLE_CUSTOM=y
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="micropython/ports/esp32/partitions-8MiB.csv"
-CONFIG_PARTITION_TABLE_FILENAME="micropython/ports/esp32/partitions-8MiB.csv"
-CONFIG_PARTITION_TABLE_OFFSET=0x8000
-CONFIG_PARTITION_TABLE_MD5=y
-# end of Partition Table
-
-#
-# Compiler options
-#
-# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set
-# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
-CONFIG_COMPILER_OPTIMIZATION_PERF=y
-# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
-# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE is not set
-# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
-CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y
-CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=0
-# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
-CONFIG_COMPILER_HIDE_PATHS_MACROS=y
-# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
-# CONFIG_COMPILER_CXX_RTTI is not set
-CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
-# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set
-# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
-# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
-# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
-# CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set
-# CONFIG_COMPILER_DUMP_RTL_FILES is not set
-# end of Compiler options
-
-#
-# Component config
-#
-
-#
-# Application Level Tracing
-#
-# CONFIG_APPTRACE_DEST_JTAG is not set
-CONFIG_APPTRACE_DEST_NONE=y
-CONFIG_APPTRACE_LOCK_ENABLE=y
-# end of Application Level Tracing
-
-#
-# ESP-ASIO
-#
-# CONFIG_ASIO_SSL_SUPPORT is not set
-# end of ESP-ASIO
-
-#
-# Bluetooth
-#
-CONFIG_BT_ENABLED=y
-CONFIG_BT_SOC_SUPPORT_5_0=y
-
-#
-# Bluetooth controller
-#
-CONFIG_BT_CTRL_MODE_EFF=1
-CONFIG_BT_CTRL_BLE_MAX_ACT=10
-CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=10
-CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0
-CONFIG_BT_CTRL_PINNED_TO_CORE_0=y
-# CONFIG_BT_CTRL_PINNED_TO_CORE_1 is not set
-CONFIG_BT_CTRL_PINNED_TO_CORE=0
-CONFIG_BT_CTRL_HCI_MODE_VHCI=y
-# CONFIG_BT_CTRL_HCI_MODE_UART_H4 is not set
-CONFIG_BT_CTRL_HCI_TL=1
-CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30
-# CONFIG_BT_CTRL_HW_CCA is not set
-CONFIG_BT_CTRL_HW_CCA_EFF=0
-CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y
-# CONFIG_BT_CTRL_CE_LENGTH_TYPE_CE is not set
-# CONFIG_BT_CTRL_CE_LENGTH_TYPE_SD is not set
-CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF=0
-CONFIG_BT_CTRL_TX_ANTENNA_INDEX_0=y
-# CONFIG_BT_CTRL_TX_ANTENNA_INDEX_1 is not set
-CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF=0
-CONFIG_BT_CTRL_RX_ANTENNA_INDEX_0=y
-# CONFIG_BT_CTRL_RX_ANTENNA_INDEX_1 is not set
-CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF=0
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N27 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N24 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N21 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N18 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N15 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N12 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N9 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N6 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N3 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_N0 is not set
-CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P3=y
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P6 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P9 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P12 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P15 is not set
-# CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_P18 is not set
-CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=10
-CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y
-CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100
-CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
-CONFIG_BT_CTRL_BLE_SCAN_DUPL=y
-CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DEVICE=y
-# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA is not set
-# CONFIG_BT_CTRL_SCAN_DUPL_TYPE_DATA_DEVICE is not set
-CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0
-CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100
-# CONFIG_BT_CTRL_BLE_MESH_SCAN_DUPL_EN is not set
-# CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EN is not set
-CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_DIS=y
-CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0
-
-#
-# MODEM SLEEP Options
-#
-# CONFIG_BT_CTRL_MODEM_SLEEP is not set
-# end of MODEM SLEEP Options
-
-CONFIG_BT_CTRL_SLEEP_MODE_EFF=0
-CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0
-CONFIG_BT_CTRL_HCI_TL_EFF=1
-# CONFIG_BT_CTRL_AGC_RECORRECT_EN is not set
-# end of Bluetooth controller
-
-# CONFIG_BT_BLUEDROID_ENABLED is not set
-CONFIG_BT_NIMBLE_ENABLED=y
-# CONFIG_BT_CONTROLLER_ONLY is not set
-
-#
-# NimBLE Options
-#
-CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y
-# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set
-# CONFIG_BT_NIMBLE_LOG_LEVEL_NONE is not set
-# CONFIG_BT_NIMBLE_LOG_LEVEL_ERROR is not set
-# CONFIG_BT_NIMBLE_LOG_LEVEL_WARNING is not set
-CONFIG_BT_NIMBLE_LOG_LEVEL_INFO=y
-# CONFIG_BT_NIMBLE_LOG_LEVEL_DEBUG is not set
-CONFIG_BT_NIMBLE_LOG_LEVEL=1
-CONFIG_BT_NIMBLE_MAX_CONNECTIONS=4
-CONFIG_BT_NIMBLE_MAX_BONDS=3
-CONFIG_BT_NIMBLE_MAX_CCCDS=8
-CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM=0
-# CONFIG_BT_NIMBLE_PINNED_TO_CORE_0 is not set
-CONFIG_BT_NIMBLE_PINNED_TO_CORE_1=y
-CONFIG_BT_NIMBLE_PINNED_TO_CORE=1
-CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096
-CONFIG_BT_NIMBLE_ROLE_CENTRAL=y
-CONFIG_BT_NIMBLE_ROLE_PERIPHERAL=y
-CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y
-CONFIG_BT_NIMBLE_ROLE_OBSERVER=y
-CONFIG_BT_NIMBLE_NVS_PERSIST=y
-CONFIG_BT_NIMBLE_SM_LEGACY=y
-CONFIG_BT_NIMBLE_SM_SC=y
-# CONFIG_BT_NIMBLE_DEBUG is not set
-# CONFIG_BT_NIMBLE_SM_SC_DEBUG_KEYS is not set
-CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="nimble"
-CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31
-CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=256
-CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE=0
-CONFIG_BT_NIMBLE_ACL_BUF_COUNT=20
-CONFIG_BT_NIMBLE_ACL_BUF_SIZE=255
-CONFIG_BT_NIMBLE_HCI_EVT_BUF_SIZE=70
-CONFIG_BT_NIMBLE_HCI_EVT_HI_BUF_COUNT=30
-CONFIG_BT_NIMBLE_HCI_EVT_LO_BUF_COUNT=8
-CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=12
-# CONFIG_BT_NIMBLE_HS_FLOW_CTRL is not set
-CONFIG_BT_NIMBLE_RPA_TIMEOUT=900
-# CONFIG_BT_NIMBLE_MESH is not set
-CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=y
-CONFIG_BT_NIMBLE_HS_STOP_TIMEOUT_MS=2000
-# CONFIG_BT_NIMBLE_HOST_BASED_PRIVACY is not set
-CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=y
-CONFIG_BT_NIMBLE_MAX_CONN_REATTEMPT=3
-# CONFIG_BT_NIMBLE_EXT_ADV is not set
-# CONFIG_BT_NIMBLE_BLUFI_ENABLE is not set
-CONFIG_BT_NIMBLE_USE_ESP_TIMER=y
-# end of NimBLE Options
-# end of Bluetooth
-
-# CONFIG_BLE_MESH is not set
-
-#
-# CoAP Configuration
-#
-CONFIG_COAP_MBEDTLS_PSK=y
-# CONFIG_COAP_MBEDTLS_PKI is not set
-# CONFIG_COAP_MBEDTLS_DEBUG is not set
-CONFIG_COAP_LOG_DEFAULT_LEVEL=0
-# end of CoAP Configuration
-
-#
-# Driver configurations
-#
-
-#
-# ADC configuration
-#
-# CONFIG_ADC_FORCE_XPD_FSM is not set
-CONFIG_ADC_DISABLE_DAC=y
-# end of ADC configuration
-
-#
-# MCPWM configuration
-#
-# CONFIG_MCPWM_ISR_IN_IRAM is not set
-# end of MCPWM configuration
-
-#
-# SPI configuration
-#
-# CONFIG_SPI_MASTER_IN_IRAM is not set
-CONFIG_SPI_MASTER_ISR_IN_IRAM=y
-# CONFIG_SPI_SLAVE_IN_IRAM is not set
-CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
-# end of SPI configuration
-
-#
-# TWAI configuration
-#
-# CONFIG_TWAI_ISR_IN_IRAM is not set
-# end of TWAI configuration
-
-#
-# UART configuration
-#
-# CONFIG_UART_ISR_IN_IRAM is not set
-# end of UART configuration
-
-#
-# GDMA Configuration
-#
-# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set
-# CONFIG_GDMA_ISR_IRAM_SAFE is not set
-# end of GDMA Configuration
-# end of Driver configurations
-
-#
-# eFuse Bit Manager
-#
-# CONFIG_EFUSE_CUSTOM_TABLE is not set
-# CONFIG_EFUSE_VIRTUAL is not set
-CONFIG_EFUSE_MAX_BLK_LEN=256
-# end of eFuse Bit Manager
-
-#
-# ESP-TLS
-#
-CONFIG_ESP_TLS_USING_MBEDTLS=y
-CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y
-# CONFIG_ESP_TLS_SERVER is not set
-# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
-# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
-# CONFIG_ESP_TLS_INSECURE is not set
-# end of ESP-TLS
-
-#
-# ESP32S3-Specific
-#
-# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set
-CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160=y
-# CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240 is not set
-CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=160
-
-#
-# Cache config
-#
-CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB=y
-# CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB is not set
-CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x4000
-# CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set
-CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y
-CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8
-# CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_16B is not set
-CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y
-CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32
-# CONFIG_ESP32S3_INSTRUCTION_CACHE_WRAP is not set
-# CONFIG_ESP32S3_DATA_CACHE_16KB is not set
-CONFIG_ESP32S3_DATA_CACHE_32KB=y
-# CONFIG_ESP32S3_DATA_CACHE_64KB is not set
-CONFIG_ESP32S3_DATA_CACHE_SIZE=0x8000
-# CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set
-CONFIG_ESP32S3_DATA_CACHE_8WAYS=y
-CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8
-# CONFIG_ESP32S3_DATA_CACHE_LINE_16B is not set
-CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y
-# CONFIG_ESP32S3_DATA_CACHE_LINE_64B is not set
-CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=32
-# CONFIG_ESP32S3_DATA_CACHE_WRAP is not set
-# end of Cache config
-
-# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set
-# CONFIG_ESP32S3_TRAX is not set
-CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0
-# CONFIG_ESP32S3_ULP_COPROC_ENABLED is not set
-CONFIG_ESP32S3_ULP_COPROC_RESERVE_MEM=0
-CONFIG_ESP32S3_DEBUG_OCDAWARE=y
-# CONFIG_ESP32S3_DEBUG_STUBS_ENABLE is not set
-CONFIG_ESP32S3_BROWNOUT_DET=y
-CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y
-# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set
-# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set
-# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set
-# CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set
-CONFIG_ESP32S3_BROWNOUT_DET_LVL=7
-CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y
-# CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set
-# CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set
-# CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set
-CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y
-# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set
-# CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set
-# CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set
-CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024
-CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000
-# CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set
-# CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set
-# end of ESP32S3-Specific
-
-#
-# ADC-Calibration
-#
-# end of ADC-Calibration
-
-#
-# Common ESP-related
-#
-CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
-# end of Common ESP-related
-
-#
-# Ethernet
-#
-CONFIG_ETH_ENABLED=y
-CONFIG_ETH_USE_SPI_ETHERNET=y
-# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
-# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
-# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set
-# CONFIG_ETH_USE_OPENETH is not set
-# end of Ethernet
-
-#
-# Event Loop Library
-#
-# CONFIG_ESP_EVENT_LOOP_PROFILING is not set
-CONFIG_ESP_EVENT_POST_FROM_ISR=y
-CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y
-# end of Event Loop Library
-
-#
-# GDB Stub
-#
-# end of GDB Stub
-
-#
-# ESP HTTP client
-#
-CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
-# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
-CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y
-# end of ESP HTTP client
-
-#
-# HTTP Server
-#
-CONFIG_HTTPD_MAX_REQ_HDR_LEN=512
-CONFIG_HTTPD_MAX_URI_LEN=512
-CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
-CONFIG_HTTPD_PURGE_BUF_LEN=32
-# CONFIG_HTTPD_LOG_PURGE_DATA is not set
-# CONFIG_HTTPD_WS_SUPPORT is not set
-# end of HTTP Server
-
-#
-# ESP HTTPS OTA
-#
-# CONFIG_OTA_ALLOW_HTTP is not set
-# end of ESP HTTPS OTA
-
-#
-# ESP HTTPS server
-#
-# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
-# end of ESP HTTPS server
-
-#
-# Hardware Settings
-#
-
-#
-# MAC Config
-#
-CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
-# CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set
-CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y
-CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4
-# end of MAC Config
-
-#
-# Sleep Config
-#
-CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
-CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
-CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y
-# CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND is not set
-# end of Sleep Config
-# end of Hardware Settings
-
-#
-# IPC (Inter-Processor Call)
-#
-CONFIG_ESP_IPC_TASK_STACK_SIZE=1536
-CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
-CONFIG_ESP_IPC_ISR_ENABLE=y
-# end of IPC (Inter-Processor Call)
-
-#
-# LCD and Touch Panel
-#
-
-#
-# LCD Peripheral Configuration
-#
-CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
-# end of LCD Peripheral Configuration
-# end of LCD and Touch Panel
-
-#
-# ESP NETIF Adapter
-#
-CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
-CONFIG_ESP_NETIF_TCPIP_LWIP=y
-# CONFIG_ESP_NETIF_LOOPBACK is not set
-CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
-# end of ESP NETIF Adapter
-
-#
-# PHY
-#
-CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
-# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set
-CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
-CONFIG_ESP_PHY_MAX_TX_POWER=20
-CONFIG_ESP_PHY_ENABLE_USB=y
-# end of PHY
-
-#
-# Power Management
-#
-CONFIG_PM_ENABLE=y
-# CONFIG_PM_DFS_INIT_AUTO is not set
-# CONFIG_PM_PROFILING is not set
-# CONFIG_PM_TRACE is not set
-CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
-CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y
-# end of Power Management
-
-#
-# ESP System Settings
-#
-# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
-CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
-# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
-# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
-# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
-CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y
-CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y
-
-#
-# Memory protection
-#
-# end of Memory protection
-
-CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
-CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584
-CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
-# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set
-# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
-CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
-CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
-# CONFIG_ESP_CONSOLE_UART_DEFAULT is not set
-# CONFIG_ESP_CONSOLE_USB_CDC is not set
-CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
-# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
-# CONFIG_ESP_CONSOLE_NONE is not set
-CONFIG_ESP_CONSOLE_SECONDARY_NONE=y
-CONFIG_ESP_CONSOLE_MULTIPLE_UART=y
-CONFIG_ESP_CONSOLE_UART_NUM=-1
-CONFIG_ESP_INT_WDT=y
-CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
-CONFIG_ESP_INT_WDT_CHECK_CPU1=y
-CONFIG_ESP_TASK_WDT=y
-# CONFIG_ESP_TASK_WDT_PANIC is not set
-CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
-# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
-# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
-# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
-CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y
-# end of ESP System Settings
-
-#
-# High resolution timer (esp_timer)
-#
-# CONFIG_ESP_TIMER_PROFILING is not set
-CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
-CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
-CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584
-CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1
-# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set
-CONFIG_ESP_TIMER_IMPL_SYSTIMER=y
-# end of High resolution timer (esp_timer)
-
-#
-# Wi-Fi
-#
-CONFIG_ESP32_WIFI_ENABLED=y
-CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
-CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
-CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
-# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set
-CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
-CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
-CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
-# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
-CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
-CONFIG_ESP32_WIFI_TX_BA_WIN=6
-CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
-CONFIG_ESP32_WIFI_RX_BA_WIN=6
-CONFIG_ESP32_WIFI_NVS_ENABLED=y
-CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
-# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
-CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
-CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
-# CONFIG_ESP32_WIFI_IRAM_OPT is not set
-# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
-CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
-# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
-# CONFIG_ESP_WIFI_FTM_ENABLE is not set
-# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set
-# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set
-# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
-CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
-# end of Wi-Fi
-
-#
-# Core dump
-#
-# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set
-# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
-CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
-# end of Core dump
-
-#
-# FAT Filesystem support
-#
-# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
-CONFIG_FATFS_CODEPAGE_437=y
-# CONFIG_FATFS_CODEPAGE_720 is not set
-# CONFIG_FATFS_CODEPAGE_737 is not set
-# CONFIG_FATFS_CODEPAGE_771 is not set
-# CONFIG_FATFS_CODEPAGE_775 is not set
-# CONFIG_FATFS_CODEPAGE_850 is not set
-# CONFIG_FATFS_CODEPAGE_852 is not set
-# CONFIG_FATFS_CODEPAGE_855 is not set
-# CONFIG_FATFS_CODEPAGE_857 is not set
-# CONFIG_FATFS_CODEPAGE_860 is not set
-# CONFIG_FATFS_CODEPAGE_861 is not set
-# CONFIG_FATFS_CODEPAGE_862 is not set
-# CONFIG_FATFS_CODEPAGE_863 is not set
-# CONFIG_FATFS_CODEPAGE_864 is not set
-# CONFIG_FATFS_CODEPAGE_865 is not set
-# CONFIG_FATFS_CODEPAGE_866 is not set
-# CONFIG_FATFS_CODEPAGE_869 is not set
-# CONFIG_FATFS_CODEPAGE_932 is not set
-# CONFIG_FATFS_CODEPAGE_936 is not set
-# CONFIG_FATFS_CODEPAGE_949 is not set
-# CONFIG_FATFS_CODEPAGE_950 is not set
-CONFIG_FATFS_CODEPAGE=437
-CONFIG_FATFS_LFN_NONE=y
-# CONFIG_FATFS_LFN_HEAP is not set
-# CONFIG_FATFS_LFN_STACK is not set
-CONFIG_FATFS_FS_LOCK=0
-CONFIG_FATFS_TIMEOUT_MS=10000
-CONFIG_FATFS_PER_FILE_CACHE=y
-# CONFIG_FATFS_USE_FASTSEEK is not set
-# end of FAT Filesystem support
-
-#
-# Modbus configuration
-#
-CONFIG_FMB_COMM_MODE_TCP_EN=y
-CONFIG_FMB_TCP_PORT_DEFAULT=502
-CONFIG_FMB_TCP_PORT_MAX_CONN=5
-CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20
-CONFIG_FMB_COMM_MODE_RTU_EN=y
-CONFIG_FMB_COMM_MODE_ASCII_EN=y
-CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150
-CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200
-CONFIG_FMB_QUEUE_LENGTH=20
-CONFIG_FMB_PORT_TASK_STACK_SIZE=4096
-CONFIG_FMB_SERIAL_BUF_SIZE=256
-CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8
-CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000
-CONFIG_FMB_PORT_TASK_PRIO=10
-# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set
-CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y
-# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set
-CONFIG_FMB_PORT_TASK_AFFINITY=0x0
-CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y
-CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233
-CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20
-CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
-CONFIG_FMB_CONTROLLER_STACK_SIZE=4096
-CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20
-# CONFIG_FMB_TIMER_PORT_ENABLED is not set
-CONFIG_FMB_TIMER_GROUP=0
-CONFIG_FMB_TIMER_INDEX=0
-CONFIG_FMB_MASTER_TIMER_GROUP=0
-CONFIG_FMB_MASTER_TIMER_INDEX=0
-# CONFIG_FMB_TIMER_ISR_IN_IRAM is not set
-# end of Modbus configuration
-
-#
-# FreeRTOS
-#
-# CONFIG_FREERTOS_UNICORE is not set
-CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
-CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y
-CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y
-# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set
-CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y
-CONFIG_FREERTOS_HZ=100
-CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
-# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
-# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
-CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
-# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
-CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
-CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=2
-# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set
-CONFIG_FREERTOS_ASSERT_DISABLE=y
-CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536
-CONFIG_FREERTOS_ISR_STACKSIZE=1536
-# CONFIG_FREERTOS_LEGACY_HOOKS is not set
-CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
-CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
-CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP=y
-CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
-CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
-CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
-CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
-CONFIG_FREERTOS_USE_TRACE_FACILITY=y
-CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
-CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
-CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
-CONFIG_FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER=y
-# CONFIG_FREERTOS_USE_TICKLESS_IDLE is not set
-CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
-# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
-# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
-CONFIG_FREERTOS_DEBUG_OCDAWARE=y
-CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
-# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set
-# end of FreeRTOS
-
-#
-# Hardware Abstraction Layer (HAL) and Low Level (LL)
-#
-CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
-# CONFIG_HAL_ASSERTION_DISABLE is not set
-CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=0
-# end of Hardware Abstraction Layer (HAL) and Low Level (LL)
-
-#
-# Heap memory debugging
-#
-CONFIG_HEAP_POISONING_DISABLED=y
-# CONFIG_HEAP_POISONING_LIGHT is not set
-# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set
-CONFIG_HEAP_TRACING_OFF=y
-# CONFIG_HEAP_TRACING_STANDALONE is not set
-# CONFIG_HEAP_TRACING_TOHOST is not set
-# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
-# end of Heap memory debugging
-
-#
-# jsmn
-#
-# CONFIG_JSMN_PARENT_LINKS is not set
-# CONFIG_JSMN_STRICT is not set
-# end of jsmn
-
-#
-# libsodium
-#
-# end of libsodium
-
-#
-# Log output
-#
-# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
-CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
-# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
-# CONFIG_LOG_DEFAULT_LEVEL_INFO is not set
-# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set
-# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
-CONFIG_LOG_DEFAULT_LEVEL=1
-CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y
-# CONFIG_LOG_MAXIMUM_LEVEL_WARN is not set
-# CONFIG_LOG_MAXIMUM_LEVEL_INFO is not set
-# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set
-# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set
-CONFIG_LOG_MAXIMUM_LEVEL=1
-CONFIG_LOG_COLORS=y
-CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
-# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
-# end of Log output
-
-#
-# LWIP
-#
-CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
-# CONFIG_LWIP_NETIF_API is not set
-# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
-CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
-# CONFIG_LWIP_L2_TO_L3_COPY is not set
-# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
-CONFIG_LWIP_TIMERS_ONDEMAND=y
-CONFIG_LWIP_MAX_SOCKETS=10
-# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
-# CONFIG_LWIP_SO_LINGER is not set
-CONFIG_LWIP_SO_REUSE=y
-CONFIG_LWIP_SO_REUSE_RXTOALL=y
-# CONFIG_LWIP_SO_RCVBUF is not set
-# CONFIG_LWIP_NETBUF_RECVINFO is not set
-CONFIG_LWIP_IP4_FRAG=y
-CONFIG_LWIP_IP6_FRAG=y
-# CONFIG_LWIP_IP4_REASSEMBLY is not set
-# CONFIG_LWIP_IP6_REASSEMBLY is not set
-# CONFIG_LWIP_IP_FORWARD is not set
-# CONFIG_LWIP_STATS is not set
-# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set
-CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
-CONFIG_LWIP_GARP_TMR_INTERVAL=60
-CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
-CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
-# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
-CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
-# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
-CONFIG_LWIP_DHCP_OPTIONS_LEN=68
-
-#
-# DHCP server
-#
-CONFIG_LWIP_DHCPS=y
-CONFIG_LWIP_DHCPS_LEASE_UNIT=60
-CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
-# end of DHCP server
-
-# CONFIG_LWIP_AUTOIP is not set
-CONFIG_LWIP_IPV6=y
-# CONFIG_LWIP_IPV6_AUTOCONFIG is not set
-CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
-# CONFIG_LWIP_IPV6_FORWARD is not set
-# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set
-CONFIG_LWIP_NETIF_LOOPBACK=y
-CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
-
-#
-# TCP
-#
-CONFIG_LWIP_MAX_ACTIVE_TCP=16
-CONFIG_LWIP_MAX_LISTENING_TCP=16
-CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y
-CONFIG_LWIP_TCP_MAXRTX=12
-CONFIG_LWIP_TCP_SYNMAXRTX=12
-CONFIG_LWIP_TCP_MSS=1440
-CONFIG_LWIP_TCP_TMR_INTERVAL=250
-CONFIG_LWIP_TCP_MSL=60000
-CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744
-CONFIG_LWIP_TCP_WND_DEFAULT=5744
-CONFIG_LWIP_TCP_RECVMBOX_SIZE=6
-CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
-# CONFIG_LWIP_TCP_SACK_OUT is not set
-# CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
-CONFIG_LWIP_TCP_OVERSIZE_MSS=y
-# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
-# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
-CONFIG_LWIP_TCP_RTO_TIME=1500
-# end of TCP
-
-#
-# UDP
-#
-CONFIG_LWIP_MAX_UDP_PCBS=16
-CONFIG_LWIP_UDP_RECVMBOX_SIZE=6
-# end of UDP
-
-#
-# Checksums
-#
-# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set
-# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set
-CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y
-# end of Checksums
-
-CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072
-CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
-# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set
-# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set
-CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF
-CONFIG_LWIP_PPP_SUPPORT=y
-CONFIG_LWIP_PPP_ENABLE_IPV6=y
-CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
-CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
-# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set
-CONFIG_LWIP_PPP_PAP_SUPPORT=y
-CONFIG_LWIP_PPP_CHAP_SUPPORT=y
-# CONFIG_LWIP_PPP_MSCHAP_SUPPORT is not set
-# CONFIG_LWIP_PPP_MPPE_SUPPORT is not set
-# CONFIG_LWIP_ENABLE_LCP_ECHO is not set
-# CONFIG_LWIP_PPP_DEBUG_ON is not set
-# CONFIG_LWIP_SLIP_SUPPORT is not set
-
-#
-# ICMP
-#
-CONFIG_LWIP_ICMP=y
-# CONFIG_LWIP_MULTICAST_PING is not set
-# CONFIG_LWIP_BROADCAST_PING is not set
-# end of ICMP
-
-#
-# LWIP RAW API
-#
-CONFIG_LWIP_MAX_RAW_PCBS=16
-# end of LWIP RAW API
-
-#
-# SNTP
-#
-CONFIG_LWIP_SNTP_MAX_SERVERS=1
-# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
-CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
-# end of SNTP
-
-#
-# Hooks
-#
-# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set
-CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y
-# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set
-CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
-# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set
-# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set
-CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
-# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
-# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
-CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
-# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
-# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
-# end of Hooks
-
-# CONFIG_LWIP_DEBUG is not set
-# end of LWIP
-
-#
-# mbedTLS
-#
-CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
-# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
-# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set
-CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
-CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384
-CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
-# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set
-# CONFIG_MBEDTLS_DEBUG is not set
-
-#
-# Certificate Bundle
-#
-CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
-CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
-# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
-# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
-# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
-# end of Certificate Bundle
-
-CONFIG_MBEDTLS_ECP_RESTARTABLE=y
-CONFIG_MBEDTLS_CMAC_C=y
-CONFIG_MBEDTLS_HARDWARE_AES=y
-CONFIG_MBEDTLS_AES_USE_INTERRUPT=y
-CONFIG_MBEDTLS_HARDWARE_MPI=y
-CONFIG_MBEDTLS_HARDWARE_SHA=y
-CONFIG_MBEDTLS_ROM_MD5=y
-# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
-# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
-CONFIG_MBEDTLS_HAVE_TIME=y
-# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
-CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
-CONFIG_MBEDTLS_SHA512_C=y
-CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
-# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set
-# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set
-# CONFIG_MBEDTLS_TLS_DISABLED is not set
-CONFIG_MBEDTLS_TLS_SERVER=y
-CONFIG_MBEDTLS_TLS_CLIENT=y
-CONFIG_MBEDTLS_TLS_ENABLED=y
-
-#
-# TLS Key Exchange Methods
-#
-# CONFIG_MBEDTLS_PSK_MODES is not set
-CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
-# end of TLS Key Exchange Methods
-
-CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
-# CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set
-CONFIG_MBEDTLS_SSL_PROTO_TLS1=y
-CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y
-CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
-# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
-# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
-CONFIG_MBEDTLS_SSL_ALPN=y
-CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y
-CONFIG_MBEDTLS_X509_CHECK_KEY_USAGE=y
-CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=y
-CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
-
-#
-# Symmetric Ciphers
-#
-CONFIG_MBEDTLS_AES_C=y
-# CONFIG_MBEDTLS_CAMELLIA_C is not set
-# CONFIG_MBEDTLS_DES_C is not set
-CONFIG_MBEDTLS_RC4_DISABLED=y
-# CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set
-# CONFIG_MBEDTLS_RC4_ENABLED is not set
-# CONFIG_MBEDTLS_BLOWFISH_C is not set
-# CONFIG_MBEDTLS_XTEA_C is not set
-CONFIG_MBEDTLS_CCM_C=y
-CONFIG_MBEDTLS_GCM_C=y
-# CONFIG_MBEDTLS_NIST_KW_C is not set
-# end of Symmetric Ciphers
-
-# CONFIG_MBEDTLS_RIPEMD160_C is not set
-
-#
-# Certificates
-#
-CONFIG_MBEDTLS_PEM_PARSE_C=y
-CONFIG_MBEDTLS_PEM_WRITE_C=y
-CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
-CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
-# end of Certificates
-
-CONFIG_MBEDTLS_ECP_C=y
-CONFIG_MBEDTLS_ECDH_C=y
-CONFIG_MBEDTLS_ECDSA_C=y
-# CONFIG_MBEDTLS_ECJPAKE_C is not set
-CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
-CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
-# CONFIG_MBEDTLS_POLY1305_C is not set
-# CONFIG_MBEDTLS_CHACHA20_C is not set
-# CONFIG_MBEDTLS_HKDF_C is not set
-# CONFIG_MBEDTLS_THREADING_C is not set
-# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
-# CONFIG_MBEDTLS_SECURITY_RISKS is not set
-# end of mbedTLS
-
-#
-# mDNS
-#
-CONFIG_MDNS_MAX_SERVICES=10
-CONFIG_MDNS_TASK_PRIORITY=1
-CONFIG_MDNS_TASK_STACK_SIZE=4096
-# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set
-CONFIG_MDNS_TASK_AFFINITY_CPU0=y
-# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set
-CONFIG_MDNS_TASK_AFFINITY=0x0
-CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
-# CONFIG_MDNS_STRICT_MODE is not set
-CONFIG_MDNS_TIMER_PERIOD_MS=100
-# CONFIG_MDNS_NETWORKING_SOCKET is not set
-CONFIG_MDNS_MULTIPLE_INSTANCE=y
-# end of mDNS
-
-#
-# ESP-MQTT Configurations
-#
-CONFIG_MQTT_PROTOCOL_311=y
-CONFIG_MQTT_TRANSPORT_SSL=y
-CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
-CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
-# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set
-# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set
-# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set
-# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set
-# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set
-# CONFIG_MQTT_CUSTOM_OUTBOX is not set
-# end of ESP-MQTT Configurations
-
-#
-# Newlib
-#
-CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
-# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set
-# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set
-# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set
-# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set
-CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
-# CONFIG_NEWLIB_NANO_FORMAT is not set
-# end of Newlib
-
-#
-# NVS
-#
-# end of NVS
-
-#
-# OpenSSL
-#
-# CONFIG_OPENSSL_DEBUG is not set
-CONFIG_OPENSSL_ERROR_STACK=y
-# CONFIG_OPENSSL_ASSERT_DO_NOTHING is not set
-CONFIG_OPENSSL_ASSERT_EXIT=y
-# end of OpenSSL
-
-#
-# OpenThread
-#
-# CONFIG_OPENTHREAD_ENABLED is not set
-# end of OpenThread
-
-#
-# PThreads
-#
-CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5
-CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
-CONFIG_PTHREAD_STACK_MIN=768
-CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y
-# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set
-# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set
-CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1
-CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
-# end of PThreads
-
-#
-# SPI Flash driver
-#
-# CONFIG_SPI_FLASH_VERIFY_WRITE is not set
-# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set
-CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
-# CONFIG_SPI_FLASH_ROM_IMPL is not set
-CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
-# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
-# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
-# CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set
-# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
-# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
-CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
-CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
-CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
-CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
-# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
-# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
-# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
-
-#
-# Auto-detect flash chips
-#
-CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y
-CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y
-CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
-CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y
-CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y
-CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y
-# end of Auto-detect flash chips
-
-CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y
-# end of SPI Flash driver
-
-#
-# SPIFFS Configuration
-#
-CONFIG_SPIFFS_MAX_PARTITIONS=3
-
-#
-# SPIFFS Cache Configuration
-#
-CONFIG_SPIFFS_CACHE=y
-CONFIG_SPIFFS_CACHE_WR=y
-# CONFIG_SPIFFS_CACHE_STATS is not set
-# end of SPIFFS Cache Configuration
-
-CONFIG_SPIFFS_PAGE_CHECK=y
-CONFIG_SPIFFS_GC_MAX_RUNS=10
-# CONFIG_SPIFFS_GC_STATS is not set
-CONFIG_SPIFFS_PAGE_SIZE=256
-CONFIG_SPIFFS_OBJ_NAME_LEN=32
-# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set
-CONFIG_SPIFFS_USE_MAGIC=y
-CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
-CONFIG_SPIFFS_META_LENGTH=4
-CONFIG_SPIFFS_USE_MTIME=y
-
-#
-# Debug Configuration
-#
-# CONFIG_SPIFFS_DBG is not set
-# CONFIG_SPIFFS_API_DBG is not set
-# CONFIG_SPIFFS_GC_DBG is not set
-# CONFIG_SPIFFS_CACHE_DBG is not set
-# CONFIG_SPIFFS_CHECK_DBG is not set
-# CONFIG_SPIFFS_TEST_VISUALISATION is not set
-# end of Debug Configuration
-# end of SPIFFS Configuration
-
-#
-# TCP Transport
-#
-
-#
-# Websocket
-#
-CONFIG_WS_TRANSPORT=y
-CONFIG_WS_BUFFER_SIZE=1024
-# end of Websocket
-# end of TCP Transport
-
-#
-# TinyUSB Stack
-#
-# CONFIG_TINYUSB is not set
-# end of TinyUSB Stack
-
-#
-# Unity unit testing library
-#
-CONFIG_UNITY_ENABLE_FLOAT=y
-CONFIG_UNITY_ENABLE_DOUBLE=y
-# CONFIG_UNITY_ENABLE_64BIT is not set
-# CONFIG_UNITY_ENABLE_COLOR is not set
-CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
-# CONFIG_UNITY_ENABLE_FIXTURE is not set
-# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
-# end of Unity unit testing library
-
-#
-# USB-OTG
-#
-CONFIG_USB_OTG_SUPPORTED=y
-CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256
-CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y
-# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set
-# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set
-# end of USB-OTG
-
-#
-# Virtual file system
-#
-CONFIG_VFS_SUPPORT_IO=y
-CONFIG_VFS_SUPPORT_DIR=y
-CONFIG_VFS_SUPPORT_SELECT=y
-CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
-CONFIG_VFS_SUPPORT_TERMIOS=y
-
-#
-# Host File System I/O (Semihosting)
-#
-CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1
-CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
-# end of Host File System I/O (Semihosting)
-# end of Virtual file system
-
-#
-# Wear Levelling
-#
-# CONFIG_WL_SECTOR_SIZE_512 is not set
-CONFIG_WL_SECTOR_SIZE_4096=y
-CONFIG_WL_SECTOR_SIZE=4096
-# end of Wear Levelling
-
-#
-# Wi-Fi Provisioning Manager
-#
-CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
-CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
-# CONFIG_WIFI_PROV_BLE_BONDING is not set
-# end of Wi-Fi Provisioning Manager
-
-#
-# Supplicant
-#
-CONFIG_WPA_MBEDTLS_CRYPTO=y
-# CONFIG_WPA_WAPI_PSK is not set
-# CONFIG_WPA_SUITE_B_192 is not set
-# CONFIG_WPA_DEBUG_PRINT is not set
-# CONFIG_WPA_TESTING_OPTIONS is not set
-# CONFIG_WPA_WPS_STRICT is not set
-# CONFIG_WPA_11KV_SUPPORT is not set
-# end of Supplicant
-# end of Component config
-
-#
-# Compatibility options
-#
-# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set
-# end of Compatibility options
-
-# Deprecated options for backward compatibility
-CONFIG_TOOLPREFIX="xtensa-esp32s3-elf-"
-# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
-CONFIG_LOG_BOOTLOADER_LEVEL_WARN=y
-# CONFIG_LOG_BOOTLOADER_LEVEL_INFO is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
-CONFIG_LOG_BOOTLOADER_LEVEL=2
-# CONFIG_APP_ROLLBACK_ENABLE is not set
-# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
-CONFIG_FLASHMODE_QIO=y
-# CONFIG_FLASHMODE_QOUT is not set
-# CONFIG_FLASHMODE_DIO is not set
-# CONFIG_FLASHMODE_DOUT is not set
-# CONFIG_MONITOR_BAUD_9600B is not set
-# CONFIG_MONITOR_BAUD_57600B is not set
-CONFIG_MONITOR_BAUD_115200B=y
-# CONFIG_MONITOR_BAUD_230400B is not set
-# CONFIG_MONITOR_BAUD_921600B is not set
-# CONFIG_MONITOR_BAUD_2MB is not set
-# CONFIG_MONITOR_BAUD_OTHER is not set
-CONFIG_MONITOR_BAUD_OTHER_VAL=115200
-CONFIG_MONITOR_BAUD=115200
-# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
-# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
-# CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED is not set
-# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set
-CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED=y
-CONFIG_OPTIMIZATION_ASSERTION_LEVEL=0
-# CONFIG_CXX_EXCEPTIONS is not set
-CONFIG_STACK_CHECK_NONE=y
-# CONFIG_STACK_CHECK_NORM is not set
-# CONFIG_STACK_CHECK_STRONG is not set
-# CONFIG_STACK_CHECK_ALL is not set
-# CONFIG_WARN_WRITE_STRINGS is not set
-# CONFIG_DISABLE_GCC8_WARNINGS is not set
-# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set
-CONFIG_ESP32_APPTRACE_DEST_NONE=y
-CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
-# CONFIG_BLUEDROID_ENABLED is not set
-CONFIG_NIMBLE_ENABLED=y
-CONFIG_NIMBLE_MEM_ALLOC_MODE_INTERNAL=y
-# CONFIG_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set
-CONFIG_NIMBLE_MAX_CONNECTIONS=4
-CONFIG_NIMBLE_MAX_BONDS=3
-CONFIG_NIMBLE_MAX_CCCDS=8
-CONFIG_NIMBLE_L2CAP_COC_MAX_NUM=0
-# CONFIG_NIMBLE_PINNED_TO_CORE_0 is not set
-CONFIG_NIMBLE_PINNED_TO_CORE_1=y
-CONFIG_NIMBLE_PINNED_TO_CORE=1
-CONFIG_NIMBLE_TASK_STACK_SIZE=4096
-CONFIG_NIMBLE_ROLE_CENTRAL=y
-CONFIG_NIMBLE_ROLE_PERIPHERAL=y
-CONFIG_NIMBLE_ROLE_BROADCASTER=y
-CONFIG_NIMBLE_ROLE_OBSERVER=y
-CONFIG_NIMBLE_NVS_PERSIST=y
-CONFIG_NIMBLE_SM_LEGACY=y
-CONFIG_NIMBLE_SM_SC=y
-# CONFIG_NIMBLE_DEBUG is not set
-# CONFIG_NIMBLE_SM_SC_DEBUG_KEYS is not set
-CONFIG_NIMBLE_SVC_GAP_DEVICE_NAME="nimble"
-CONFIG_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=31
-CONFIG_NIMBLE_ATT_PREFERRED_MTU=256
-CONFIG_NIMBLE_SVC_GAP_APPEARANCE=0
-CONFIG_NIMBLE_ACL_BUF_COUNT=20
-CONFIG_NIMBLE_ACL_BUF_SIZE=255
-CONFIG_NIMBLE_HCI_EVT_BUF_SIZE=70
-CONFIG_NIMBLE_HCI_EVT_HI_BUF_COUNT=30
-CONFIG_NIMBLE_HCI_EVT_LO_BUF_COUNT=8
-CONFIG_NIMBLE_MSYS1_BLOCK_COUNT=12
-# CONFIG_NIMBLE_HS_FLOW_CTRL is not set
-CONFIG_NIMBLE_RPA_TIMEOUT=900
-# CONFIG_NIMBLE_MESH is not set
-CONFIG_NIMBLE_CRYPTO_STACK_MBEDTLS=y
-CONFIG_ADC2_DISABLE_DAC=y
-# CONFIG_EVENT_LOOP_PROFILING is not set
-CONFIG_POST_EVENTS_FROM_ISR=y
-CONFIG_POST_EVENTS_FROM_IRAM_ISR=y
-CONFIG_ESP_SYSTEM_PD_FLASH=y
-CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND=y
-CONFIG_IPC_TASK_STACK_SIZE=1536
-CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
-# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set
-CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
-CONFIG_ESP32_PHY_MAX_TX_POWER=20
-CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y
-# CONFIG_ESP32S2_PANIC_PRINT_HALT is not set
-CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y
-# CONFIG_ESP32S2_PANIC_SILENT_REBOOT is not set
-# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
-CONFIG_ESP32S2_ALLOW_RTC_FAST_MEM_AS_HEAP=y
-CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
-CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_MAIN_TASK_STACK_SIZE=3584
-# CONFIG_CONSOLE_UART_DEFAULT is not set
-# CONFIG_CONSOLE_UART_CUSTOM is not set
-# CONFIG_ESP_CONSOLE_UART_NONE is not set
-CONFIG_CONSOLE_UART_NUM=-1
-CONFIG_INT_WDT=y
-CONFIG_INT_WDT_TIMEOUT_MS=300
-CONFIG_INT_WDT_CHECK_CPU1=y
-CONFIG_TASK_WDT=y
-# CONFIG_TASK_WDT_PANIC is not set
-CONFIG_TASK_WDT_TIMEOUT_S=5
-# CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
-# CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
-CONFIG_TIMER_TASK_STACK_SIZE=3584
-CONFIG_SW_COEXIST_ENABLE=y
-# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set
-# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
-CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
-CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150
-CONFIG_MB_MASTER_DELAY_MS_CONVERT=200
-CONFIG_MB_QUEUE_LENGTH=20
-CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096
-CONFIG_MB_SERIAL_BUF_SIZE=256
-CONFIG_MB_SERIAL_TASK_PRIO=10
-CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y
-CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233
-CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20
-CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
-CONFIG_MB_CONTROLLER_STACK_SIZE=4096
-CONFIG_MB_EVENT_QUEUE_TIMEOUT=20
-# CONFIG_MB_TIMER_PORT_ENABLED is not set
-CONFIG_MB_TIMER_GROUP=0
-CONFIG_MB_TIMER_INDEX=0
-CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK=y
-CONFIG_TIMER_TASK_PRIORITY=1
-CONFIG_TIMER_TASK_STACK_DEPTH=2048
-CONFIG_TIMER_QUEUE_LENGTH=10
-# CONFIG_L2_TO_L3_COPY is not set
-# CONFIG_USE_ONLY_LWIP_SELECT is not set
-CONFIG_ESP_GRATUITOUS_ARP=y
-CONFIG_GARP_TMR_INTERVAL=60
-CONFIG_TCPIP_RECVMBOX_SIZE=32
-CONFIG_TCP_MAXRTX=12
-CONFIG_TCP_SYNMAXRTX=12
-CONFIG_TCP_MSS=1440
-CONFIG_TCP_MSL=60000
-CONFIG_TCP_SND_BUF_DEFAULT=5744
-CONFIG_TCP_WND_DEFAULT=5744
-CONFIG_TCP_RECVMBOX_SIZE=6
-CONFIG_TCP_QUEUE_OOSEQ=y
-# CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
-CONFIG_TCP_OVERSIZE_MSS=y
-# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set
-# CONFIG_TCP_OVERSIZE_DISABLE is not set
-CONFIG_UDP_RECVMBOX_SIZE=6
-CONFIG_TCPIP_TASK_STACK_SIZE=3072
-CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
-# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set
-# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set
-CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF
-CONFIG_PPP_SUPPORT=y
-# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set
-CONFIG_PPP_PAP_SUPPORT=y
-CONFIG_PPP_CHAP_SUPPORT=y
-# CONFIG_PPP_MSCHAP_SUPPORT is not set
-# CONFIG_PPP_MPPE_SUPPORT is not set
-# CONFIG_PPP_DEBUG_ON is not set
-CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
-CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
-CONFIG_ESP32_PTHREAD_STACK_MIN=768
-CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y
-# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set
-# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set
-CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1
-CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread"
-CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y
-# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set
-# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set
-# CONFIG_USB_ENABLED is not set
-CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
-CONFIG_SUPPORT_TERMIOS=y
-CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1
-CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
-# End of deprecated options
diff --git a/sdkconfig.p1 b/sdkconfig.p1
new file mode 100644
index 0000000000000000000000000000000000000000..dfa66a8b35f4606c1287f81d017ea1a49a659172
--- /dev/null
+++ b/sdkconfig.p1
@@ -0,0 +1,29 @@
+CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=y
+CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y
+CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
+CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
+CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
+CONFIG_ESPTOOLPY_AFTER_NORESET=y
+CONFIG_PARTITION_TABLE_CUSTOM=y
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="micropython/ports/esp32/partitions-8MiB.csv"
+CONFIG_COMPILER_OPTIMIZATION_PERF=y
+CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y
+CONFIG_BT_ENABLED=y
+CONFIG_BT_NIMBLE_ENABLED=y
+CONFIG_BT_NIMBLE_MAX_CONNECTIONS=4
+CONFIG_BT_NIMBLE_PINNED_TO_CORE_1=y
+CONFIG_PM_ENABLE=y
+CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
+# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
+# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
+# CONFIG_ESP32_WIFI_IRAM_OPT is not set
+# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=2
+CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP=y
+CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
+CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
+CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
+CONFIG_LWIP_PPP_SUPPORT=y
+CONFIG_LWIP_PPP_PAP_SUPPORT=y
+CONFIG_LWIP_PPP_CHAP_SUPPORT=y
+CONFIG_BADGE23_HW_GEN_P1=y
diff --git a/sdkconfig.p4 b/sdkconfig.p4
new file mode 100644
index 0000000000000000000000000000000000000000..3244f8307c78e2e3e2ed23ce8d138ec81a41df61
--- /dev/null
+++ b/sdkconfig.p4
@@ -0,0 +1,29 @@
+CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=y
+CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y
+CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
+CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
+CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
+CONFIG_ESPTOOLPY_AFTER_NORESET=y
+CONFIG_PARTITION_TABLE_CUSTOM=y
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="micropython/ports/esp32/partitions-8MiB.csv"
+CONFIG_COMPILER_OPTIMIZATION_PERF=y
+CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y
+CONFIG_BT_ENABLED=y
+CONFIG_BT_NIMBLE_ENABLED=y
+CONFIG_BT_NIMBLE_MAX_CONNECTIONS=4
+CONFIG_BT_NIMBLE_PINNED_TO_CORE_1=y
+CONFIG_PM_ENABLE=y
+CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
+# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
+# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
+# CONFIG_ESP32_WIFI_IRAM_OPT is not set
+# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=2
+CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP=y
+CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
+CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
+CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
+CONFIG_LWIP_PPP_SUPPORT=y
+CONFIG_LWIP_PPP_PAP_SUPPORT=y
+CONFIG_LWIP_PPP_CHAP_SUPPORT=y
+CONFIG_BADGE23_HW_GEN_P4=y
\ No newline at end of file
diff --git a/usermodule/mp_hardware.c b/usermodule/mp_hardware.c
index 2c941b2ceccb0b4f37ef82b8fb63e961fdf232a6..36ecb91ea367cdb4a6696a51c1974de1f9025d65 100644
--- a/usermodule/mp_hardware.c
+++ b/usermodule/mp_hardware.c
@@ -16,6 +16,7 @@
 #include "badge23/captouch.h"
 #include "badge23/display.h"
 #include "badge23/spio.h"
+#include "badge23_hwconfig.h"
 
 STATIC mp_obj_t mp_display_update(size_t n_args, const mp_obj_t *args) {
     display_update();
@@ -119,6 +120,12 @@ STATIC mp_obj_t mp_update_leds(size_t n_args, const mp_obj_t *args) {
 }
 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mp_update_leds_obj, 0, 2, mp_update_leds);
 
+STATIC mp_obj_t mp_version(void) {
+    mp_obj_t str = mp_obj_new_str(badge23_hw_name, strlen(badge23_hw_name));
+    return str;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_0(mp_version_obj, mp_version);
+
 STATIC const mp_rom_map_elem_t mp_module_hardware_globals_table[] = {
     { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_badge_audio) },
     { MP_ROM_QSTR(MP_QSTR_get_captouch), MP_ROM_PTR(&mp_get_captouch_obj) },
@@ -134,6 +141,7 @@ STATIC const mp_rom_map_elem_t mp_module_hardware_globals_table[] = {
     { MP_ROM_QSTR(MP_QSTR_display_draw_pixel), MP_ROM_PTR(&mp_display_draw_pixel_obj) },
     { MP_ROM_QSTR(MP_QSTR_display_get_pixel), MP_ROM_PTR(&mp_display_get_pixel_obj) },
     { MP_ROM_QSTR(MP_QSTR_display_fill), MP_ROM_PTR(&mp_display_fill_obj) },
+    { MP_ROM_QSTR(MP_QSTR_version), MP_ROM_PTR(&mp_version_obj) },
 };
 
 STATIC MP_DEFINE_CONST_DICT(mp_module_hardware_globals, mp_module_hardware_globals_table);