I wanted to share a personal project I’ve been building and testing over the past few months called Nomad, an offline media server built around the ESP32-S3.
The idea was to create an ultra-portable alternative to my Jellyfin setup for use while traveling, camping, or working off-grid. Nomad fits in a USB thumbdrive-sized form factor and runs fully offline, hosting its own WiFi access point that allows nearby devices to stream content through a captive portal.
Built around: https://www.waveshare.com/wiki/ESP32-S3-LCD-1.47
Key Features:
- solderless / Tool-less assembly (optional friction fit 3d printed case)
- Runs as a WiFi AP and web server using AsyncWebServer
- Captive Portal with landing page + guides (Android/iOS tested)
- Streams Movies, TV Shows, Music, and Books directly from SD card
- Admin UI for uploading/renaming/deleting files, LED control, and storage info
- Front LCD panel displays activity, SD/WiFi failures, and connected client count
- Power draw: ~0.23A idle, ~0.33A under full stream
- Supports up to 4 clients reliably (testing shows more may be possible)
- Fully battery-power able with 5V USB (great for field use)
- Uses FAT32 due to SD_MMC support limits (4GB per file max)
- Supports up to 2TB SD cards in theory (broke college student waiting for someone to test
) - Optimized for 480p web optimized video streaming, but can play back carefully encoded 1080p to a single client if well-prepped
- Includes basic DLNA .m3u playlist support for VLC/Smart TVs (working on improving autodiscovery)
GitHub: https://github.com/Jstudner/jcorp-nomad
Instructable: https://www.instructables.com/Jcorp-Nom ... ia-Server/
Thanks to this community for all the posts and examples that helped along the way — ESP32 has really enabled some powerful small-form projects.
Let me know what you think, and I’m open to ideas for improving performance or future features!
