A lightweight ESP32-based file browser and manager with OLED UI, SD card storage, and physical button controls.
Supports:
- 📂 Browsing files and folders on SD card
- 📖 Reading text files directly on OLED
- 🗑 Recursive delete system for files/folders
- 📶 WiFi AP toggle for battery saving
- 🎛 Full navigation using only 2 buttons
Browse folders and open text files directly from the SD card.
Delete:
- Individual files
- Entire folders
- Mixed selections
Delete mode now supports navigating inside folders before choosing what to remove.
Enable or disable WiFi Access Point mode from the menu to reduce power usage.
Runs on a 0.96" SSD1306 OLED display using I2C.
Entire interface works using only:
- 2 push buttons
- Internal pull-up resistors
- No keyboard required
| Component | Notes |
|---|---|
| ESP32 Dev Board | Any 30-pin or 38-pin ESP32 |
| SD Card Module | SPI interface |
| OLED Display | 0.96" SSD1306 I2C |
| Push Buttons | 2x momentary tactile buttons |
| SD Card | ESP32 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| CS | GPIO 5 |
| MOSI | GPIO 23 |
| MISO | GPIO 19 |
| SCK | GPIO 18 |
| OLED | ESP32 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SDA | GPIO 21 |
| SCL | GPIO 22 |
| Button | ESP32 |
|---|---|
| BTN_UP | GPIO 32 |
| BTN_DOWN | GPIO 33 |
| Other leg | GND |
Internal pull-up resistors are used.
No external resistors required.
| Action | Control |
|---|---|
| Move Up | BTN_UP short |
| Move Down | BTN_DOWN short |
| Select Item | BTN_UP long |
Read FilesDelete FilesWiFi ON/OFF
| Action | Control |
|---|---|
| Move Up | BTN_UP short |
| Move Down | BTN_DOWN short |
| Open / Enter | BTN_UP long |
| Back / Parent Folder | BTN_DOWN long |
| Action | Control |
|---|---|
| Move Up | BTN_UP short |
| Move Down | BTN_DOWN short |
| Toggle Selection / Enter Folder | BTN_UP long |
| Confirm / Back | BTN_DOWN long |
- Files can be individually selected
- Folders can be selected recursively
- You can also enter folders and select specific contents
| Action | Control |
|---|---|
| Switch Focus | BTN_UP short |
| Switch Focus | BTN_DOWN short |
| Execute Action | BTN_UP long |
| Cancel | BTN_DOWN long |
Options:
DELETECANCEL
| Action | Control |
|---|---|
| Scroll Up | BTN_UP short |
| Scroll Down | BTN_DOWN short |
| Jump to Top | BTN_UP long |
| Back | BTN_DOWN long |
Install via Arduino Library Manager:
- Adafruit SSD1306
- Adafruit GFX Library
No installation required:
- WiFi
- WebServer
- SD
- SPI
- Wire
| Setting | Value |
|---|---|
| Board | ESP32 Dev Module |
| Upload Speed | 921600 |
| CPU Frequency | 240MHz |
| Flash Size | 4MB |
| Partition Scheme | Default 4MB with SPIFFS |
- Install required libraries
- Connect hardware according to wiring table
- Select correct ESP32 board in Arduino IDE
- Upload firmware
- Insert SD card
- Power on device
- Designed for battery-powered portable operation
- WiFi can be disabled to reduce power draw
- Works with standard FAT32 SD cards
- Best suited for text-based file browsing