Hello, a while back I tried to ask a question about Native USB host on a board like the esp32 so I can access a flash drive. I can’t see to find that topic and I’m working on a project that I need to complete soon.
My question is there is a library that will let me access a flash drive files over the esp32 native USB host. I can’t seem to find that library and I really need help from the community to find it again. Please help me community?
I will have other questions after I figure out the library.
Joseph
This topic? Arduino USB drive?
This is a list of topics that you have started: https://forum.arduino.cc/u/josephchrzempiec/activity/topics
I can't answer your question about the library.
Hey @sterretje not that one. It’s one where you can plug a usb flash drive in the native usb of the esp32 and display files ona small screen or something.
Hey @sterretje thank you I saw the old one. I post update here since the old one is locked.
You can ask a moderator to unlock the old one. I can probably also do it if you post the link to the topic.
horace
January 20, 2026, 6:45am
7
horace
January 20, 2026, 2:37pm
8
running USB Mass Storage Class example using ESP-IDF on a ESP32-S3-DevKitC-1 gave
I (352577) example: MSC device connected (usb_addr=2)
E (354047) USB_MSC_SCSI: Sense error codes: Sense Key 0x06, ASC: 0x28, ASCQ: 0x00
E (354047) USB_MSC_SCSI: Sense error description: not found, refer to USB Mass Storage Class – UFI Command Specification (Table 51)
*** Device descriptor ***
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0x0
bDeviceSubClass 0x0
bDeviceProtocol 0x0
bMaxPacketSize0 64
idVendor 0x13fe
idProduct 0x36ff
bcdDevice 1.10
iManufacturer 1
iProduct 2
iSerialNumber 3
bNumConfigurations 1
*** Configuration descriptor ***
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
bMaxPower 200mA
*** Interface descriptor ***
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 0x8
bInterfaceSubClass 0x6
bInterfaceProtocol 0x50
iInterface 0
*** Endpoint descriptor ***
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 0x2 BULK
wMaxPacketSize 64
bInterval 0
*** Endpoint descriptor ***
bLength 7
bDescriptorType 5
bEndpointAddress 0x2 EP 2 OUT
bmAttributes 0x2 BULK
wMaxPacketSize 64
bInterval 0
Device info:
Capacity: 3813 MB
Sector size: 512
Sector count: 7811071
PID: 0x36FF
VID: 0x13FE
iProduct: USB DISK
iManufacturer:
iSerialNumber: 079A1707960462A5
I (354277) example: ls command output for all connected devices:
I (354287) example: Listing contents of /usb0
/usb0/DESKTOP
/usb0/FAVORI~1
/usb0/ESP
/usb0/ABCTEL~1.DOC
/usb0/SYSTEM~1
/usb0/TERATE~1.ZIP
/usb0/NEWTEX~1.TXT
/usb0/TERATE~1.0(1
I (354307) example: Reading file
I (354307) example: Read from file '/usb0/esp/test.txt': 'Hello World!'
I (354927) example: Writing to file /usb0/esp/dummy
I (356907) example: Write speed 0.53 MiB/s
I (356907) example: Reading from file /usb0/esp/dummy
I (358107) example: Read speed 0.88 MiB/s
I (358117) example: Example finished, you can disconnect the USB flash drive (or connect another USB flash drive)
photo of ESP32-S3-DevKitC-1 and USB storage drive