diff --git a/ESP32_AP-Flasher/data/www/index.html b/ESP32_AP-Flasher/data/www/index.html
index e602545b..4837e20b 100644
--- a/ESP32_AP-Flasher/data/www/index.html
+++ b/ESP32_AP-Flasher/data/www/index.html
@@ -160,7 +160,7 @@ Latency will be around 40 seconds.">
⬤ loading
AP config
-
+
diff --git a/ESP32_AP-Flasher/esp32_sdcard.csv b/ESP32_AP-Flasher/esp32_sdcard.csv
new file mode 100644
index 00000000..f3bcf0db
--- /dev/null
+++ b/ESP32_AP-Flasher/esp32_sdcard.csv
@@ -0,0 +1,7 @@
+# Name, Type, SubType, Offset, Size, Flags
+nvs, data, nvs, 0x9000, 0x5000,
+otadata, data, ota, 0xe000, 0x2000,
+app0, app, ota_0, 0x10000, 0x150000,
+app1, app, ota_1, 0x160000,0x150000,
+spiffs, data, spiffs, 0x2B0000,0x140000,
+coredump, data, coredump,0x3F0000,0x10000,
\ No newline at end of file
diff --git a/ESP32_AP-Flasher/include/storage.h b/ESP32_AP-Flasher/include/storage.h
new file mode 100644
index 00000000..a55dab09
--- /dev/null
+++ b/ESP32_AP-Flasher/include/storage.h
@@ -0,0 +1,37 @@
+#ifndef _DYN_STORAGE_H_
+#define _DYN_STORAGE_H_
+
+#include "FS.h"
+
+#ifdef HAS_SDCARD
+#ifndef SD_CARD_SS
+#error SD_CARD_SS UNDEFINED
+#endif
+
+#ifndef SD_CARD_CLK
+#define SD_CARD_CLK 18
+#endif
+
+#ifndef SD_CARD_MISO
+#define SD_CARD_MISO 19
+#endif
+
+#ifndef SD_CARD_MOSI
+#define SD_CARD_MOSI 23
+#endif
+#endif
+
+class DynStorage {
+ public:
+ DynStorage();
+ void begin();
+ void listFiles();
+
+ private:
+ bool isInited;
+};
+
+extern DynStorage Storage;
+extern fs::FS *contentFS;
+
+#endif
\ No newline at end of file
diff --git a/ESP32_AP-Flasher/src/contentmanager.cpp b/ESP32_AP-Flasher/src/contentmanager.cpp
index 6be2ae98..7d886afb 100644
--- a/ESP32_AP-Flasher/src/contentmanager.cpp
+++ b/ESP32_AP-Flasher/src/contentmanager.cpp
@@ -13,7 +13,7 @@
#ifdef CONTENT_RSS
#include
#endif
-#include
+#include "storage.h"
#include
#include