Chip-cn-dat/Espressif-dat/ESP32-S3-DAT/ESP32-S3-SDK-dat/ESP32-S3-SDK-dat.md
... ...
@@ -28,6 +28,14 @@ REPL is on the USB-OTG connector.
28 28
- [[protocols-dat]]
29 29
30 30
31
+## features
32
+
33
+- [[USB-MSC-dat]] - [[USB-MTP-dat]] - [[USB-dat]] - [[USB-OTG-dat]]
34
+
35
+
36
+
37
+
38
+
31 39
## error log
32 40
33 41
E (291) quad_psram: PSRAM ID read error: 0x00ffffff, PSRAM chip not found or not supported, or wrong PSRAM line mode
Network-dat/WIFI-DAT.md
... ...
@@ -3,6 +3,8 @@
3 3
4 4
- [[wifi-sdk-dat]]
5 5
6
+
7
+
6 8
## tech
7 9
8 10
- [[IEEE-dat]] - [[WIFI-Halow-dat]]
SDK-dat/ESP-SDK-dat/ESP32-SDK-dat/ESP32-SDK-dat.md
... ...
@@ -8,7 +8,7 @@
8 8
9 9
- [[esptool-dat]]
10 10
11
-- [[data-storage-dat]]
11
+- [[data-storage-dat]] - [[USB-MSC-dat]]
12 12
13 13
14 14
## other reference
SDK-dat/interface-SDK-dat/wifi-sdk-dat/wifi-sdk-dat.md
... ...
@@ -1,6 +1,9 @@
1 1
2 2
# wifi-sdk-dat
3 3
4
+- [[WebSerial-dat]]
5
+
6
+
4 7
5 8
## ESP-IDF WiFi Networking Example
6 9
Tech-dat/Interface-dat/USB-dat/USB-MSC-dat/2025-09-29-15-15-40.png
... ...
Binary files /dev/null and b/Tech-dat/Interface-dat/USB-dat/USB-MSC-dat/2025-09-29-15-15-40.png differ
Tech-dat/Interface-dat/USB-dat/USB-MSC-dat/USB-MSC-dat.md
... ...
@@ -0,0 +1,29 @@
1
+
2
+# USB-MSC-dat
3
+
4
+- USB JTAG/serial debug unit
5
+- USB Mass Storage Class (MSC) for SPIFFS/LittleFS
6
+
7
+
8
+## ESP32-S3
9
+
10
+USB Mode
11
+
12
+- Hardware CDC and JTAG
13
+- USB-OTG (TinyUSB)
14
+
15
+Upload Mode
16
+- UARTO / Hardware CDC
17
+- USB-OTG CDC (TinyUSB)
18
+
19
+
20
+## portable devices
21
+
22
+![](2025-09-29-15-15-40.png)
23
+
24
+
25
+
26
+
27
+## ref
28
+
29
+- [[ESP32-SDK-dat]]
... ...
\ No newline at end of file
Tech-dat/Interface-dat/USB-dat/USB-MTP-dat/USB-MTP-dat.md
... ...
@@ -0,0 +1,32 @@
1
+
2
+# USB-MTP-dat
3
+
4
+## What is MTP?
5
+- **MTP (Media Transfer Protocol)** is a USB class protocol.
6
+- Lets a PC (Windows/macOS/Linux) access ESP32 files (SPIFFS, LittleFS, SD card).
7
+- Host sees device as a **Media Device** (like a phone or camera).
8
+
9
+---
10
+
11
+## MTP vs MSC
12
+
13
+| Feature | MSC (Mass Storage) | MTP (Media Transfer Protocol) |
14
+|----------------------|--------------------------------|--------------------------------------|
15
+| Host view | Removable USB disk | Media device (camera/phone style) |
16
+| File system control | Host manages FS directly | ESP32 manages FS |
17
+| Safety | Risk of flash corruption | Safer, controlled by ESP32 |
18
+| Use case | Drag & drop, direct FS access | File browsing, sync, safe updates |
19
+
20
+---
21
+
22
+## Why use MTP?
23
+- Safer file transfer (no direct FS corruption).
24
+- Compatible with Windows Explorer, macOS Finder, Linux file managers.
25
+- ESP32 firmware stays in control of FS.
26
+
27
+
28
+
29
+
30
+## ref
31
+
32
+- [[USB-dat]]
... ...
\ No newline at end of file
Tech-dat/Interface-dat/USB-dat/usb-dat.md
... ...
@@ -9,9 +9,11 @@
9 9
10 10
- [[USB-STM32-dat]]
11 11
12
-- [[USB-OTG-dat]]
12
+- [[USB-OTG-dat]] - [[USB-CDC-dat]] - [[USB-HID-dat]] - [[USB-MSC-dat]] - [[USB-DFU-dat]] - [[WebSerial-dat]]
13 13
14
-- [[keyboard-dat]] - [[USB-HID-dat]] - [[mouse-dat]]
14
+- [[USB-MTP-dat]]
15
+
16
+- [[keyboard-dat]] - [[mouse-dat]]
15 17
16 18
- [[USB-FC-trigger-dat]] - [[USB-FC-dat]]
17 19
Tech-dat/memory-dat/SPIFF-dat/SPIFF-dat.md
... ...
@@ -9,6 +9,8 @@
9 9
10 10
- [[arduino-ide-dat]]
11 11
12
+Note: at the time of writing this post, the ESP32 Filesystem Uploader plugin is not supported on Arduino 2.0.
13
+
12 14
13 15
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 16
... ...
@@ -25,14 +27,18 @@ It does these things using two command line tools:
25 27
- [[esptool-dat]]
26 28
27 29
28
-### arduino-littlefs-upload
30
+## spiffsgen.py
31
+
32
+
33
+
34
+## arduino-littlefs-upload
29 35
30 36
and more spiffs support (new)
31 37
32 38
https://github.com/earlephilhower/arduino-littlefs-upload
33 39
34 40
35
-### ESP32FS
41
+## ESP32FS
36 42
37 43
https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/
38 44
... ...
@@ -98,3 +104,7 @@ When done, IDE status bar will display SPIFFS Image Uploaded message. Might take
98 104
## ref
99 105
100 106
- [[SDK-dat]] - [[ESP-SDK-dat]]
107
+
108
+- [[memory-dat]]
109
+
110
+
Tech-dat/memory-dat/memory-dat.md
... ...
@@ -6,6 +6,24 @@
6 6
- [[SDIO-dat]]
7 7
8 8
9
+## USB
10
+
11
+- [[USB-dat]] - [[USB-OTG-dat]]
12
+
13
+- [[USB-CDC-dat]] - [[USB-HID-dat]] - [[USB-MSC-dat]] - [[USB-DFU-dat]] - [[WebSerial-dat]]
14
+
15
+- [[ESP32-S3-SDK-dat]] SPIFFS over USB
16
+
17
+| Method | How it Works | Pros | Cons |
18
+| -------------------------- | -------------------------------------------------------------------------- | ----------------------------------------------- | ---------------------------------------------------------------- |
19
+| **USB CDC (Serial)** | Use ESP32 as a virtual COM port, send file chunks, write to SPIFFS. | Simple, fast, Arduino example ready. | Needs a custom PC-side tool. |
20
+| **USB HID** | Implement HID protocol, PC app sends packets, ESP32 writes them to SPIFFS. | Works like a custom USB device (gamepad style). | More coding, needs PC app to talk HID. |
21
+| **USB MSC (Mass Storage)** | Make ESP32 appear as a USB flash drive, map it to SPIFFS/LittleFS. | Very user-friendly (drag & drop files). | More complex, risk of flash corruption if PC writes incorrectly. |
22
+| **USB DFU / WebSerial** | Use DFU or ESP Web Tools to push files. | Standard protocol, browser-based. | May need partition config. |
23
+
24
+- [[WIFI-SDK-dat]]
25
+
26
+
9 27
10 28
## SDIO
11 29
app-dat/hand-drill-dat/hand-drill-dat.md
... ...
@@ -0,0 +1,7 @@
1
+
2
+# hand-drill-dat
3
+
4
+
5
+## ref
6
+
7
+- [[hand-drill]]
... ...
\ No newline at end of file