SDK-dat/ESP-SDK-dat/ESP32-SDK-dat/ESP32-SDK-dat.md
... ...
@@ -8,6 +8,9 @@
8 8
9 9
- [[esptool-dat]]
10 10
11
+- [[data-storage-dat]]
12
+
13
+
11 14
## other reference
12 15
13 16
- [Enabling ESP32 Secure Boot V2 (SBV2)](https://www.hackster.io/syncom/enabling-esp32-secure-boot-v2-sbv2-df32d5)
SDK-dat/ESP-SDK-dat/ESP8266-SDK-dat/ESP8266-SDK-dat.md
... ...
@@ -60,6 +60,12 @@ esptool --chip esp8266 --port COM8 --baud 460800 write-flash -z --flash-mode dio
60 60
61 61
- https://github.com/Edragon/esp_firmware
62 62
63
+
64
+
65
+
63 66
## ref
64 67
68
+
69
+- [[memory-dat]]
70
+
65 71
- [[ESP8266-dat]]
... ...
\ No newline at end of file
SDK-dat/ESP-SDK-dat/SPIFFS-dat/SPIFFS-dat.md
... ...
@@ -1,70 +0,0 @@
1
-
2
-# SPIFFS-dat
3
-
4
-
5
-## file system arduino ide
6
-
7
-- [[arduino-ide-dat]]
8
-
9
-
10
-the most simple solution is to use Arduino IDE 1.x when you need to upload a filesystem to your ESP32 board. The download links for Arduino IDE 1.x are listed here:
11
-
12
-https://www.arduino.cc/en/software#legacy-ide-18x
13
-
14
-https://github.com/me-no-dev/arduino-esp32fs-plugin
15
-
16
-It does these things using two command line tools:
17
-
18
-- [mkspiffs](https://github.com/igrr/mkspiffs)
19
-- [[esptool-dat]]
20
-
21
-
22
-### arduino-littlefs-upload
23
-
24
-and more spiffs support (new)
25
-
26
-https://github.com/earlephilhower/arduino-littlefs-upload
27
-
28
-
29
-### ESP32FS
30
-
31
-https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/
32
-
33
-Go to the sketchbook location, and create a tools folder.
34
-
35
-4) Unzip the downloaded .zip folder. Open it and copy the ESP32FS folder to the tools folder you created in the previous step. You should have a similar folder structure:
36
-
37
-<Sketchbook-location>/tools/ESP32FS/tool/esp32fs.jar
38
-
39
-### SPIFFS Download
40
-
41
-Here are the most common methods to download files from SPIFFS on ESP32:
42
-
43
-#### 1. Using a Web Server (Recommended)
44
-- Run a web server on your ESP32 and access files via your browser.
45
-- **ESPAsyncWebServer Library**: Popular for asynchronous web servers.
46
-- **Example Sketches**: "FSBrowser" (File β†’ Examples β†’ WebServer) demonstrates serving/downloading files from SPIFFS.
47
-- **File Manager Libraries**: ESPFMfGK offers drag-and-drop web interfaces for SPIFFS management.
48
-
49
-**Steps:**
50
-1. Set up ESP32 as Wi-Fi Access Point or connect to your network.
51
-2. Upload a sketch with a web server to ESP32 (serves SPIFFS files).
52
-3. Open your browser and go to ESP32's IP address.
53
-4. Download files directly from the web interface.
54
-
55
-#### 2. Using a Dedicated File System Downloader
56
-- Projects like [`maxgerhardt/pio-esp32-esp8266-filesystem-downloader`](https://github.com/maxgerhardt/pio-esp32-esp8266-filesystem-downloader) let you download the entire SPIFFS image over serial.
57
-- Useful for debugging and backup.
58
-
59
-#### 3. Accessing Files via Serial Port (Text/Debug)
60
-- Read SPIFFS file contents and print to Serial Monitor.
61
-- Good for debugging or small text files.
62
-- Open Serial Monitor in Arduino IDE or other terminal to view output.
63
-
64
-#### 4. Third-Party Tools (ESP-IDF)
65
-- Tools like [`octopus-framework/spiffs-dumper`](https://github.com/octopus-framework/spiffs-dumper) can extract files from SPIFFS partitions using ESP-IDF.
66
-- Useful if you prefer not to use web servers or need offline access.
67
-
68
-## ref
69
-
70
-- [[SDK-dat]] - [[ESP-SDK-dat]]
... ...
\ No newline at end of file
SDK-dat/OTA-dat/OTA-dat.md
... ...
@@ -0,0 +1,4 @@
1
+
2
+# OTA-dat
3
+
4
+- [[ESP32-SDK-dat]]
... ...
\ No newline at end of file
Tech-dat/memory-dat/2025-08-07-12-41-17.png
... ...
Binary files a/Tech-dat/memory-dat/2025-08-07-12-41-17.png and /dev/null differ
Tech-dat/memory-dat/2025-08-07-12-42-03.png
... ...
Binary files a/Tech-dat/memory-dat/2025-08-07-12-42-03.png and /dev/null differ
Tech-dat/memory-dat/2025-08-07-12-49-24.png
... ...
Binary files a/Tech-dat/memory-dat/2025-08-07-12-49-24.png and /dev/null differ
Tech-dat/memory-dat/2025-08-07-14-49-31.png
... ...
Binary files a/Tech-dat/memory-dat/2025-08-07-14-49-31.png and /dev/null differ
Tech-dat/memory-dat/PSRAM-dat/2024-12-28-17-48-24.png
... ...
Binary files a/Tech-dat/memory-dat/PSRAM-dat/2024-12-28-17-48-24.png and /dev/null differ
Tech-dat/memory-dat/PSRAM-dat/PSRAM-dat.md
... ...
@@ -1,41 +0,0 @@
1
-
2
-# PSRAM-dat
3
-
4
-
5
-# βœ… What is PSRAM (Pseudo-static RAM)?
6
-
7
-**PSRAM** is a type of external memory that combines the **ease-of-use of SRAM** (no need for refresh) with the **cost and density of DRAM**.
8
-
9
-## πŸ“Œ Characteristics:
10
-- Acts like SRAM to the system.
11
-- Internally uses DRAM-like technology.
12
-- Available on many SoCs like ESP32-WROVER (4MB/8MB PSRAM).
13
-
14
-## 🧠 Good Reasons to Use PSRAM:
15
-
16
-| Feature | Benefit |
17
-|---------------------|-------------------------------------------------------------------------|
18
-| βœ… **Large Memory** | ESP32 internal RAM is limited (~520KB), PSRAM gives extra space (4MB+). |
19
-| βœ… **Multimedia Buffers** | Needed for camera frames, audio streaming, image processing, etc. |
20
-| βœ… **Heap Allocation** | Useful for `malloc()`/`calloc()` in applications with large dynamic memory needs. |
21
-| βœ… **Caching / File Buffers** | Good for storing temporary web pages, images, JSON, etc. |
22
-| βœ… **Smooth UI/GUI** | Enables usage of libraries like LVGL for rich graphical interfaces. |
23
-
24
-
25
-## hook to ESP32
26
-
27
-- [[SCM1030-dat]]
28
-
29
-![](2024-12-28-17-48-24.png)
30
-
31
-| ESP32 | PSRAM | note |
32
-| ----- | ----- | ---- |
33
-| IO16 | CS | |
34
-| SD0 | SIO1 | |
35
-| SD1 | SIO0 | |
36
-| SD2 | SIO1 | |
37
-| SD3 | SIO2 | |
38
-| CLK | SCLK | |
39
-
40
-- [[PIR-dat]]
41
-
Tech-dat/memory-dat/RAM-dat/DRAM-dat/DRAM-dat.md
... ...
@@ -0,0 +1,46 @@
1
+
2
+# DRAM-dat
3
+
4
+
5
+- [[ESP32-HDK-dat]]
6
+
7
+**Dynamic Random Access Memory (DRAM)** is a type of volatile memory that stores data in capacitors within integrated circuits.
8
+
9
+### Key Characteristics:
10
+
11
+- **Dynamic**: Requires periodic refreshing (every few milliseconds) because capacitors leak charge over time
12
+- **Volatile**: Data is lost when power is removed
13
+- **Random Access**: Any memory location can be accessed directly in any order
14
+- **High Density**: Can store more data per chip compared to SRAM
15
+- **Lower Cost**: Cheaper per bit than SRAM due to simpler cell structure
16
+
17
+### How DRAM Works:
18
+
19
+1. **Storage Cell**: Each bit is stored as charge in a tiny capacitor
20
+2. **Transistor Switch**: Controls access to the capacitor
21
+3. **Refresh Cycle**: Memory controller periodically reads and rewrites data to maintain charge
22
+4. **Row/Column Addressing**: Uses multiplexed addressing to reduce pin count
23
+
24
+### Types of DRAM:
25
+
26
+- **SDRAM**: Synchronous DRAM - synchronized with system clock
27
+- **DDR SDRAM**: Double Data Rate - transfers data on both clock edges
28
+- **DDR2/DDR3/DDR4/DDR5**: Successive generations with higher speeds and lower power
29
+- **LPDDR**: Low Power DDR for mobile devices
30
+- **GDDR**: Graphics DDR for video cards
31
+
32
+### Common Applications:
33
+
34
+- System RAM in computers and smartphones
35
+- Frame buffers in graphics cards
36
+- Buffer memory in networking equipment
37
+- Temporary storage in embedded systems
38
+
39
+### DRAM vs Other Memory Types:
40
+
41
+| Type | Speed | Cost | Density | Volatility | Refresh |
42
+| ------ | -------- | ------ | ------- | ------------ | ------------ |
43
+| DRAM | Medium | Low | High | Volatile | Required |
44
+| SRAM | High | High | Low | Volatile | Not Required |
45
+| Flash | Low | Medium | High | Non-volatile | Not Required |
46
+| EEPROM | Very Low | High | Low | Non-volatile | Not Required |
... ...
\ No newline at end of file
Tech-dat/memory-dat/RAM-dat/PSRAM-dat/2024-12-28-17-48-24.png
... ...
Binary files /dev/null and b/Tech-dat/memory-dat/RAM-dat/PSRAM-dat/2024-12-28-17-48-24.png differ
Tech-dat/memory-dat/RAM-dat/PSRAM-dat/PSRAM-dat.md
... ...
@@ -0,0 +1,41 @@
1
+
2
+# PSRAM-dat
3
+
4
+
5
+# βœ… What is PSRAM (Pseudo-static RAM)?
6
+
7
+**PSRAM** is a type of external memory that combines the **ease-of-use of SRAM** (no need for refresh) with the **cost and density of DRAM**.
8
+
9
+## πŸ“Œ Characteristics:
10
+- Acts like SRAM to the system.
11
+- Internally uses DRAM-like technology.
12
+- Available on many SoCs like ESP32-WROVER (4MB/8MB PSRAM).
13
+
14
+## 🧠 Good Reasons to Use PSRAM:
15
+
16
+| Feature | Benefit |
17
+|---------------------|-------------------------------------------------------------------------|
18
+| βœ… **Large Memory** | ESP32 internal RAM is limited (~520KB), PSRAM gives extra space (4MB+). |
19
+| βœ… **Multimedia Buffers** | Needed for camera frames, audio streaming, image processing, etc. |
20
+| βœ… **Heap Allocation** | Useful for `malloc()`/`calloc()` in applications with large dynamic memory needs. |
21
+| βœ… **Caching / File Buffers** | Good for storing temporary web pages, images, JSON, etc. |
22
+| βœ… **Smooth UI/GUI** | Enables usage of libraries like LVGL for rich graphical interfaces. |
23
+
24
+
25
+## hook to ESP32
26
+
27
+- [[SCM1030-dat]]
28
+
29
+![](2024-12-28-17-48-24.png)
30
+
31
+| ESP32 | PSRAM | note |
32
+| ----- | ----- | ---- |
33
+| IO16 | CS | |
34
+| SD0 | SIO1 | |
35
+| SD1 | SIO0 | |
36
+| SD2 | SIO1 | |
37
+| SD3 | SIO2 | |
38
+| CLK | SCLK | |
39
+
40
+- [[PIR-dat]]
41
+
Tech-dat/memory-dat/RAM-dat/RAM-dat.md
... ...
@@ -0,0 +1,4 @@
1
+
2
+# RAM-dat
3
+
4
+- [[DRAM-dat]] - [[PSRAM-dat]] - [[SRAM-dat]]
... ...
\ No newline at end of file
Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-41-17.png
... ...
Binary files /dev/null and b/Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-41-17.png differ
Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-42-03.png
... ...
Binary files /dev/null and b/Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-42-03.png differ
Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-49-24.png
... ...
Binary files /dev/null and b/Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-12-49-24.png differ
Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-14-49-31.png
... ...
Binary files /dev/null and b/Tech-dat/memory-dat/RAM-dat/SDRAM-dat/2025-08-07-14-49-31.png differ
Tech-dat/memory-dat/RAM-dat/SDRAM-dat/SDRAM-dat.md
... ...
@@ -0,0 +1,29 @@
1
+
2
+# SDRAM-dat
3
+
4
+
5
+
6
+## SDRAM - Synchronous Dynamic Random Access Memory == H5TQ4G63CFR-RDC
7
+
8
+![](2025-08-07-12-42-03.png)
9
+
10
+SCH
11
+
12
+![](2025-08-07-12-41-17.png)
13
+
14
+## DDR3 16BIT*2
15
+
16
+![](2025-08-07-14-49-31.png)
17
+
18
+## DDR4 - Double Data Rate 4
19
+
20
+260P
21
+
22
+![](2025-08-07-12-49-24.png)
23
+
24
+
25
+
26
+
27
+## ref
28
+
29
+- [[RAM-dat]]
... ...
\ No newline at end of file
Tech-dat/memory-dat/ROM-dat/ROM-dat.md
... ...
@@ -0,0 +1,4 @@
1
+
2
+# ROM-dat
3
+
4
+- [[EEPROM-dat]]
... ...
\ No newline at end of file
Tech-dat/memory-dat/SPIFF-dat/SPIFF-dat.md
... ...
@@ -0,0 +1,100 @@
1
+
2
+# SPIFF-dat
3
+
4
+
5
+
6
+
7
+
8
+## file system arduino ide
9
+
10
+- [[arduino-ide-dat]]
11
+
12
+
13
+the most simple solution is to use Arduino IDE 1.x when you need to upload a filesystem to your ESP32 board. The download links for Arduino IDE 1.x are listed here:
14
+
15
+https://www.arduino.cc/en/software#legacy-ide-18x
16
+
17
+https://github.com/me-no-dev/arduino-esp32fs-plugin
18
+
19
+It does these things using two command line tools:
20
+
21
+- [mkspiffs](https://github.com/igrr/mkspiffs)
22
+
23
+
24
+
25
+- [[esptool-dat]]
26
+
27
+
28
+### arduino-littlefs-upload
29
+
30
+and more spiffs support (new)
31
+
32
+https://github.com/earlephilhower/arduino-littlefs-upload
33
+
34
+
35
+### ESP32FS
36
+
37
+https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/
38
+
39
+Go to the sketchbook location, and create a tools folder.
40
+
41
+4) Unzip the downloaded .zip folder. Open it and copy the ESP32FS folder to the tools folder you created in the previous step. You should have a similar folder structure:
42
+
43
+<Sketchbook-location>/tools/ESP32FS/tool/esp32fs.jar
44
+
45
+### SPIFFS Download
46
+
47
+Here are the most common methods to download files from SPIFFS on ESP32:
48
+
49
+#### 1. Using a Web Server (Recommended)
50
+- Run a web server on your ESP32 and access files via your browser.
51
+- **ESPAsyncWebServer Library**: Popular for asynchronous web servers.
52
+- **Example Sketches**: "FSBrowser" (File β†’ Examples β†’ WebServer) demonstrates serving/downloading files from SPIFFS.
53
+- **File Manager Libraries**: ESPFMfGK offers drag-and-drop web interfaces for SPIFFS management.
54
+
55
+**Steps:**
56
+1. Set up ESP32 as Wi-Fi Access Point or connect to your network.
57
+2. Upload a sketch with a web server to ESP32 (serves SPIFFS files).
58
+3. Open your browser and go to ESP32's IP address.
59
+4. Download files directly from the web interface.
60
+
61
+#### 2. Using a Dedicated File System Downloader
62
+- Projects like [`maxgerhardt/pio-esp32-esp8266-filesystem-downloader`](https://github.com/maxgerhardt/pio-esp32-esp8266-filesystem-downloader) let you download the entire SPIFFS image over serial.
63
+- Useful for debugging and backup.
64
+
65
+#### 3. Accessing Files via Serial Port (Text/Debug)
66
+- Read SPIFFS file contents and print to Serial Monitor.
67
+- Good for debugging or small text files.
68
+- Open Serial Monitor in Arduino IDE or other terminal to view output.
69
+
70
+#### 4. Third-Party Tools (ESP-IDF)
71
+- Tools like [`octopus-framework/spiffs-dumper`](https://github.com/octopus-framework/spiffs-dumper) can extract files from SPIFFS partitions using ESP-IDF.
72
+- Useful if you prefer not to use web servers or need offline access.
73
+
74
+
75
+
76
+
77
+## me-no-dev/arduino-esp32fs-plugin
78
+
79
+- https://github.com/me-no-dev/arduino-esp32fs-plugin
80
+
81
+
82
+Usage
83
+
84
+Open a sketch (or create a new one and save it).
85
+
86
+Go to sketch directory (choose Sketch > Show Sketch Folder).
87
+
88
+Create a directory named data and any files you want in the file system there.
89
+
90
+Make sure you have selected a board, port, and closed Serial Monitor.
91
+
92
+~~Select Tools > ESP32 Sketch Data Upload menu item.~~ This should start uploading the files into ESP32 flash file system.
93
+
94
+When done, IDE status bar will display SPIFFS Image Uploaded message. Might take a few minutes for large file system sizes.
95
+
96
+
97
+
98
+## ref
99
+
100
+- [[SDK-dat]] - [[ESP-SDK-dat]]
Tech-dat/memory-dat/SPIFFS-dat/SPIFFS-dat.md
... ...
@@ -0,0 +1,4 @@
1
+
2
+# SPIFFS-dat
3
+
4
+- [[spiff-dat]]
... ...
\ No newline at end of file
Tech-dat/memory-dat/data-storage-dat/data-storage-dat.md
... ...
@@ -0,0 +1,49 @@
1
+
2
+# data-storage-dat
3
+
4
+- [[memory-dat]] - [[NVS-dat]] - [[SPIFF-dat]] - [[SD-dat]] - [[EEPROM-dat]]
5
+
6
+
7
+
8
+- [[ESP32-SDK-dat]]
9
+
10
+
11
+
12
+## data storage
13
+
14
+- [[NVS-dat]] - [[SPIFF-dat]] - [[SD-dat]]
15
+
16
+| Method | Size Limit | Persistent after reset/power off? | Use Case |
17
+| -------------------------------------------- | ---------------------------------------------- | ---------------------------------- | --------------------------------------------------- |
18
+| **Global variables (RAM)** | Up to available RAM (~500KB) | ❌ No | Temporary data while program is running |
19
+| **RTC RAM** | ~8 KB | βœ… Across reset, ❌ across power off | Store small state info between deep sleep cycles |
20
+| **NVS (Non-Volatile Storage / Preferences)** | Key–value pairs, ~4 KB per partition | βœ… Yes | Config values, Wi-Fi credentials, small settings |
21
+| **SPIFFS / LittleFS** | Depends on flash partition (100KB–1MB typical) | βœ… Yes | Store files, logs, calibration data |
22
+| **SD Card** | GBs | βœ… Yes | Large data logging, images, audio |
23
+| **External EEPROM** | Varies (e.g. 4KB–1MB chips) | βœ… Yes | Additional storage if onboard flash is insufficient |
24
+
25
+
26
+### BLE Data Update Workflow (ESP32)
27
+
28
+- [[BLE-dat]]
29
+
30
+1. **ESP32 runs a BLE server**
31
+ - Creates a characteristic for data transfer.
32
+
33
+2. **Phone/PC app connects via BLE**
34
+ - Splits the file into small BLE packets (~20 bytes each).
35
+ - Sends them to ESP32 characteristic.
36
+
37
+3. **ESP32 receives packets**
38
+ - Reassembles them into a buffer.
39
+ - Writes the buffer into SPIFFS/LittleFS (or NVS for small key-values).
40
+
41
+4. **Program reloads data**
42
+ - Next time your code runs (or immediately after update),
43
+ it reads the updated file/config from storage.
44
+
45
+
46
+
47
+## ref
48
+
49
+- [[memory-dat]]
... ...
\ No newline at end of file
Tech-dat/memory-dat/memory-dat.md
... ...
@@ -7,71 +7,6 @@
7 7
8 8
9 9
10
-## DRAM
11
-
12
-- [[ESP32-HDK-dat]]
13
-
14
-**Dynamic Random Access Memory (DRAM)** is a type of volatile memory that stores data in capacitors within integrated circuits.
15
-
16
-### Key Characteristics:
17
-
18
-- **Dynamic**: Requires periodic refreshing (every few milliseconds) because capacitors leak charge over time
19
-- **Volatile**: Data is lost when power is removed
20
-- **Random Access**: Any memory location can be accessed directly in any order
21
-- **High Density**: Can store more data per chip compared to SRAM
22
-- **Lower Cost**: Cheaper per bit than SRAM due to simpler cell structure
23
-
24
-### How DRAM Works:
25
-
26
-1. **Storage Cell**: Each bit is stored as charge in a tiny capacitor
27
-2. **Transistor Switch**: Controls access to the capacitor
28
-3. **Refresh Cycle**: Memory controller periodically reads and rewrites data to maintain charge
29
-4. **Row/Column Addressing**: Uses multiplexed addressing to reduce pin count
30
-
31
-### Types of DRAM:
32
-
33
-- **SDRAM**: Synchronous DRAM - synchronized with system clock
34
-- **DDR SDRAM**: Double Data Rate - transfers data on both clock edges
35
-- **DDR2/DDR3/DDR4/DDR5**: Successive generations with higher speeds and lower power
36
-- **LPDDR**: Low Power DDR for mobile devices
37
-- **GDDR**: Graphics DDR for video cards
38
-
39
-### Common Applications:
40
-
41
-- System RAM in computers and smartphones
42
-- Frame buffers in graphics cards
43
-- Buffer memory in networking equipment
44
-- Temporary storage in embedded systems
45
-
46
-### DRAM vs Other Memory Types:
47
-
48
-| Type | Speed | Cost | Density | Volatility | Refresh |
49
-| ------ | -------- | ------ | ------- | ------------ | ------------ |
50
-| DRAM | Medium | Low | High | Volatile | Required |
51
-| SRAM | High | High | Low | Volatile | Not Required |
52
-| Flash | Low | Medium | High | Non-volatile | Not Required |
53
-| EEPROM | Very Low | High | Low | Non-volatile | Not Required |
54
-
55
-
56
-## SDRAM - Synchronous Dynamic Random Access Memory == H5TQ4G63CFR-RDC
57
-
58
-![](2025-08-07-12-42-03.png)
59
-
60
-SCH
61
-
62
-![](2025-08-07-12-41-17.png)
63
-
64
-## DDR3 16BIT*2
65
-
66
-![](2025-08-07-14-49-31.png)
67
-
68
-## DDR4 - Double Data Rate 4
69
-
70
-260P
71
-
72
-![](2025-08-07-12-49-24.png)
73
-
74
-
75 10
## SDIO
76 11
77 12
![](2025-08-07-12-49-50.png)