Chat freely about anything...

User avatar
By joefly888
#59186 Hello all, I have a project in mind but wanted to check in with the group before I dive in over my head.

Is it possible to set up like a Network file server with the ESP attached to a SD card? I see examples where there are webserver but I am not sure if a file server would do the same thing? For example, I want to point my webbrowser to a IP address on the ESP and see the files on the SD card for using it like an MP3 file or upload or download files. More specifically, I have filebrowser app on my iphone. Am I able to use the app and upload and download files using the app?

How feasible is this given the bandwidth and speed and also stability. Would it be stable enough to download like 5MB file? My idea is to take the Sd card from my camera and insert it into this ESP module and connect to the ESP wifi with my iphone and view and download the files on the card...

any suggestions or general guidance would be appreciated
User avatar
By rudy
#59197 I have a test web server running with the current 2.3.0 version but with a modification to one buffer (twice as large) that speeds up large transfers by about ten times. I am running the ESP8266 at 160Mhz. I have a super simple web page that loads one image and a couple of buttons. I am not yet using a SD card, this is out of the flash file system. I will try to add the SD code so that I can have higher capacity.

The page with a 400K image file takes 2.66 seconds to load on my PC a couple of feet away. (strong signal) Of that the image is taking 1.53 seconds to transfer. This is using Chrome on a PC with the cache disabled.

Doing the same on a tablet running Windows 10 takes 3.61 seconds to load the page and 3.21 seconds to transfer the same image. The tablet is a Bestbuy 8", last year's model ... B00S3Y12PC

I have not tried significantly larger files. I would think that it scales fairly linearly but I don't know that as a fact.


So I decided to post a couple of pictures of the killer ESP server. :roll:
This was not meant to be pretty. I used a previously used box, filled some of the holes, and hacked in what I needed. I used this box as a 20x4 character LCD just fits. So it has a display. Three button switches. A 18650 battery. That goes into a power switch and then into a 600mA up converter that generates 5 volts for the LCD and the input to the ESP board which has a linear regulator for 3.3v. I was not concerned with maximum battery life. The LCD is 5 volts and needs a level convertor for the I2C lines. The LCD has a I2C interface.

A usb Lithium charger board (top left) charges the battery. I have a SD card adapter glued to the left of the box and just above the battery holder. There is a slot milled into the box for the sd card. I don't have the wires in place for it yet, I just cut down a cable set and crimped new connectors this afternoon.

The ESP-12 board is one that I posted here before. I have it plugged into a perf board with pins added so I can plug onto. All the connections are plugs so that I can easily adapt to whatever I need.

This was designed to be convenient and maximum wifi performance was not a consideration. It is a quick and dirty implementation. (although it has taken a few hours to construct) I still will add another connector to the outside world. So that I can connect serial lines or whatever pins I want to go to the outside. These will also be the same plugs as I have used so far. While this will be able to be serve pages I want it to be a data logger.



A board like the following is plugged into the above. Excluding the reset switch and the led on D15.


User avatar
By joefly888
#59475 HI Guysm Thanks for your response and interest in this project.

I also wondered about the transfer speed, but I have seen some amazing hacks including running it at 160mhz.

Rudy, are you saying that you code acts already like a file server, besides reading it, can you download and upload using standard file transfer protocol used by NAS?

I realize it might be slow, but thought it might be interesting if possible on esp8266 maybe esp32 would make the speed more practical.

I am naive to this. If we do a standard webserver on this, can a tablet or PC access its file system as a NAS?
again, I am hoping to use this as a traveling dongle. After taking pictures, remove the SD card to the ESP module and either download to iphone, pc or view by others on nearby phone. It may be slow but thought it be better than nothing to off load the pictures while traveling.