The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Espressif’s ESP-IDF includes a file-server example that can serve web files from a FAT-formatted SD card. That gets the page onto the ESP32, but it does not by itself make the page available over the public internet: outside access also requires a working network route or relay, and a secure public deployment needs HTTPS with a certificate browsers trust.
What you need before setting up the ESP32
- An ESP32 board with an SD-card slot or a compatible SD-card breakout. Not every development board includes a slot.
- A microSD card formatted as FAT32. Espressif’s example documents FAT32; do not assume an exFAT card will mount.
- A supported SD interface and its board-specific pin mapping.
- An ESP-IDF development environment and Espressif’s Simple HTTP File Server Example.
The example demonstrates HTTP file serving with upload and download endpoints. It uses SPIFFS in flash by default and offers an SD-card FAT filesystem option. Treat its configuration and wiring as a starting point: check the README and the documentation for the exact ESP-IDF release, chip, and board you are using.
Choose the SD interface for your board
The example supports SDSPI and SDMMC, but they are not interchangeable choices for every board. Espressif documents SPI support across ESP chips; its SDMMC option is documented for ESP32 and ESP32-S3. Select the interface that your chip and board support, then configure the pins to match the board’s exposed connections.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minute| Choice | Documented support | What to check |
|---|---|---|
| SDSPI | Supported across ESP chips in the example documentation. | Confirm the board’s usable SPI pins and configure the SD interface pin assignments. |
| SDMMC | Documented for ESP32 and ESP32-S3. | Confirm the target chip, board wiring, and available pins support the selected SDMMC configuration. |
If your board has no built-in slot, a compatible SD-card breakout is an option, provided its interface and wiring suit the exact board. The example does not endorse a particular board or module.
#1 Best Overall
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Support LWIP protocol, Freertos
- SupportThree Modes: AP, STA, and AP+STA
- Ultra-Low power consumption, Compatible with Arduino IDE
- ESP32 is a safe, reliable, and scalable to a variety of applications
Configure the file server to use the SD card
- Open Espressif’s file-serving example in the ESP-IDF release you intend to use.
- Prepare the card as FAT32 and connect it using the selected SDSPI or SDMMC interface. Use the pin assignments for your board.
- In the example’s project configuration, enable the option to mount the SD card. Select the supported interface and set its pins as required by the board and example.
- Build and run the example following its release-specific instructions. The example includes an option to format a card if mounting fails; formatting erases its existing contents, so back up the card first.
- Adapt the example’s file-serving handler and place your HTML, CSS, JavaScript, and other assets on the mounted filesystem in the locations expected by that handler.
- Connect a browser on the same local network and use the address and port configured by the running server. Confirm local access before attempting to make the device reachable from outside the network.
ESP-IDF’s HTTP Server documentation also points to a RESTful-server example that can deploy webpage resources to a host PC, SPI flash, or an SD card. An SD card is useful when you want removable content; flash keeps files on the device; host-PC deployment is another option for development. The documentation cited here does not establish comparative speed or capacity for these choices.
Local access is not public internet access
A web page served by an ESP32 is initially available only to clients that can reach the device on its network. That might mean a browser connected to the same Wi-Fi network, or a client connected directly to an ESP32 softAP. Espressif’s ESP-AT browser provisioning example illustrates a local softAP page used to submit Wi-Fi credentials; it is a setup pattern, not evidence of public internet access.
Rank #2
- Dual-Core Performance Up to 240 MHz: Run sensor processing, wireless communication, automation logic and connected-device tasks on a 32-bit dual-core ESP32 platform designed for responsive embedded and IoT projects
- Built-in Wi-Fi and Bluetooth 4.2: Connect to 2.4 GHz Wi-Fi networks or use Bluetooth Classic and BLE for wireless sensors, smart devices, remote controls, home automation and other connected projects
- Flexible Power-Saving Modes: ESP32 power-management features support dynamic clock scaling and low-power operating modes, helping developers reduce energy use in compatible sensing, monitoring and connected-device applications, suitable for battery-powered Internet of Things (IoT) devices.
- USB-C Programming with CP2102: Connect through USB-C for power, sketch uploads and serial monitoring, while GPIO, UART, SPI and I2C interfaces support sensors, displays, motor drivers and other modules (USB-C cable not included)
- Over-the-Air Update Support: Configure OTA functionality through a compatible ESP-32 software framework to update deployed firmware over Wi-Fi without reconnecting the board by USB for every revision
To reach the server from outside the local network, traffic needs a route to the ESP32. A suitably configured public-facing gateway or an optional relay or tunnel can provide a route, but feasibility depends on the router, ISP, and network topology. Espressif’s cited documentation does not establish a universal port-forwarding, dynamic-DNS, cellular-hotspot, or tunnel recipe. Verify the chosen arrangement for your network rather than assuming it will work everywhere.
Free tools Windows power users keep installed
One-click scans. No signup required.
Making a device reachable through a router is also a security decision: it exposes a service beyond the local network. A relay or tunnel introduces a separate service and trust boundary, so review its security and terms independently. Keep HTTP experiments confined to a trusted local network; do not treat internet reachability as a secure deployment.
Rank #3
- Powerful ESP-32 Board: Unlock the world of Internet of Things (IoT) and advanced electronics with the heart of this kit: the ESP-32 board. It features a powerful dual-core processor, integrated Wi-Fi and Bluetooth 4.2, making it perfect for building connected, smart devices that communicate with your phone or the cloud. It's fully compatible with the Arduino IDE for easy programming.
- Super Starter Kit: This kit contains over 35 different modules and electronic components, including sensors, displays, motors, and input devices. From LEDs and buttons to an OLED screen, servo motor, and keypad, you have everything needed to explore a vast range of projects in one box.
- Step by Step Online Tutorial: Jump right in with our detailed, beginner-friendly tutorial. Access 30+ projects with complete code, clear circuit diagrams, and step-by-step instructions. Learn the fundamentals of electronics, coding, and how to utilize the ESP-32's unique capabilities without any prior experience.
- Hands-on Learning for All Skill Levels: Perfect for students, makers, engineers, and hobbyists. Start with basic circuits and coding, then progress to intermediate and advanced IoT applications. Build practical projects like weather stations, smart home controllers, remote-controlled devices, and interactive gadgets. The skills you learn are the foundation for real-world innovation.
- Quality & Great Support: Elegoo is committed to quality. We provide a clear, detailed tutorial guide, refined code, and a well-organized component kit. All modules are carefully selected for reliability and ease of use. Our dedicated technical support team and active online community are ready to help you succeed in your learning journey.
Use HTTPS for traffic across untrusted networks
ESP-IDF provides an HTTPS server built on its HTTP server. Its initialization configuration requires a certificate; the current documentation lists secure mode on port 443 and insecure mode on port 80 by default. Those defaults are configuration details, not a guarantee that a particular project is listening on either port. The HTTPS-server APIs are not thread-safe, so an application that needs thread safety must provide synchronization. See Espressif’s HTTPS Server documentation.
Encryption and browser trust are different issues. Espressif’s simple HTTPS example uses a self-signed certificate; browsers warn unless the relevant CA root is trusted. If users connect by IP address, the certificate must include that IP address as a subject alternative name for modern browser validation. A self-signed sample certificate is not, by itself, a browser-trusted public certificate. HTTPS also does not automatically add application login, permissions, or safe handling for file uploads.
Quick Recap
Best Value
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Ultra-Low power consumption, works perfectly with the Arduino IDE
- Support LWIP protocol, Freertos
- SupportThree Modes: AP, STA, and AP+STA
- ESP32 is a safe, reliable, and scalable to a variety of applications
Rank #4
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Support LWIP protocol, Freertos;ESP32 is a safe, reliable, and scalable to a variety of applications
- SupportThree Modes: AP, STA, and AP+STA
- Ultra-Low power consumption, Compatible with Arduino IDE
- 1PCS 30Pin ESP32 Development Board 2.4GHz WiFi Dual Cores Microcontroller Integrated with Antenna RF Low Noise Amplifiers Filters
Common setup problems
- The card does not mount: confirm it is FAT32, that SD mounting is enabled in the example configuration, and that the chosen interface and pin mapping match the board. The example documents a format option for mount failures, but formatting erases existing data.
- The page works on Wi-Fi but not from elsewhere: local access confirms only that a client on that network can reach the server. Check whether the network has a viable public route or relay arrangement; ISP and router conditions can prevent inbound access.
- The browser shows a certificate warning: encrypted HTTPS can still use a certificate the browser cannot authenticate. Check whether the issuing CA is trusted and, for IP-based access, whether the IP is included in the certificate’s subject alternative name.
- The example settings do not match the board: verify the target chip, ESP-IDF release, exposed pins, and SD interface against the example and board documentation rather than assuming all ESP32 boards have identical SD support.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →

