# Jcorp Nomad is a media server the size of a thumbdrive

> Nomad runs a browser-based media server, a Wi-Fi hotspot and a DLNA server entirely on an ESP32-S3, with no internet connection and multiple simultaneous streams. The firmware and web interface are open source, the hardware is a printable case and a USB stick, and the current firmware release is 4.6.

**Jstudner/jcorp-nomad** — An extremely compact offline media server for Movies, Shows, Books, and Music.

- Repository: https://github.com/Jstudner/jcorp-nomad
- Website: http://nomad.jcorptech.net
- Stars: 1,241 · Forks: 64
- Language: HTML
- License: NOASSERTION
- Published: 2026-10-19 · Updated: 2026-10-19 · Language: en
- Canonical page: https://hysenlabs.com/projects/jstudner-jcorp-nomad

## A device that is its own network

The core idea is that there is no server and no internet. Nomad runs entirely on an ESP32-S3, creates a local Wi-Fi hotspot, and serves media through a browser interface, with multiple users able to access separate media streams simultaneously and all of it working without internet access. The intended settings are travel, remote work, classrooms and camping, and the form factor is a thumbdrive. The topics attached to the repository spell out the scope: esp32, homelab, low-power, media-server, offline-server, selfhosted, usb-server and wifi-hotspot, and the same list names jellyfin, which tells you where the project positions itself relative to the self-hosted media server people usually run on a NAS.

## Firmware 4.6 is a large release and the author says so

The current firmware is 4.6, described as the biggest update since the Mk4, with everything in it coming over from the experimental branch. The additions are exFAT card support, offline maps with turn by turn directions, game ROMs and a shelf of built-in games, local multiplayer, TV support over DLNA, a WiFi Mode that joins your home network, offline translation, and recipe and 3D model libraries. The author is candid about maturity, sorting the features into what is settled, which is exFAT, the reader and the media pages, and what has been tested in full but has had less time in front of other people's hardware, which is maps, WiFi Mode, DLNA and Translate. Known rough edges are listed near the bottom of the documentation, and the project status badge still reads beta.

## exFAT was the limitation that held the card size down

The exFAT work is the substantive engineering in this release, and the explanation of why it took so long is the interesting part. FAT32 was the biggest limitation since day one, since cards over 32GB needed a reformatting first and no single file could be over 4GB, which is why large ZIMs had to be split into parts. exFAT fixes both. Cards mount as exFAT, FAT32 or FAT16 with auto detection at boot and nothing to configure, SDXC cards work as they come out of the package, and single files can exceed 4GB, so a full size Wikipedia can sit on the card as one file instead of split parts. Old FAT32 cards keep working, so the change is additive rather than a migration, and writing to a nearly full card is less likely to stall, which was behind a lot of the upload and save timeouts.

## The Arduino filesystem library had to be replaced, not patched

The technical explanation of the exFAT delay is a good illustration of how embedded constraints work. The Arduino ESP32 core ships a prebuilt filesystem library with exFAT compiled out of it, and there is no way to turn it back on from a sketch. The fix was therefore not a configuration change but a substitution: stop using the bundled library entirely and swap in SdFat, which brings its own filesystem code. Everything else in the firmware talks to it the same way it always did, which is why the change could be shipped without touching the rest of the codebase. The practical consequence for anyone building from source is stated plainly: you need the SdFat library installed from the Arduino Library Manager before it will compile.

## WiFi Mode turns the hotspot off and joins your network

Instead of running its own hotspot, Nomad can join a Wi-Fi network you already have and serve everything to it, the browser interface and DLNA alike. The setup is a WiFi Mode button in the top bar of the admin panel, which opens a popup with a network scanner, a password field and an auto-reconnect option. The captive portal turns itself off in this mode, and the reason given is worth quoting as an illustration of the author's judgement: hijacking DNS on someone's home network is frowned upon, so the screen shows the IP address the router assigned instead of a hotspot name. This mode also fixes a practical problem, since streaming devices such as Fire Sticks refuse to do anything on a network with no internet, so joining your home network is what makes them work at all.

## DLNA turns the thumbdrive into a TV media server

Nomad appears as a media server on anything that speaks DLNA, so smart TVs, VLC, Kodi and Roku Media Player can browse Movies, Shows, Music and Gallery directly, with cover art, and seeking works. There is nothing to set up on the television side, it just appears in the device list, and it works on the hotspot or in WiFi Mode. There is a toggle in the admin panel to turn it off, and the reason given is twofold: if you do not want Nomad announcing itself on the network, and turning it off makes everything else a bit faster. That second reason is a small performance note.

## The hardware is a printable case and a USB stick

The repository holds the mechanical design alongside the code, with STL files for the case at version 3.0, including a variant with a USB-C cutout, plus a cover image and an exploded view render of the Mk4. The case is optional, since the project says the hardware includes optional 3D-printable hardware. The build-it-yourself route is the recommended one, and the pitch is that it is not a difficult project if you can follow instructions and plug in a USB cable, that the parts are cheap and widely available, and that the whole build takes under an hour. Prebuilt units are sold separately, but the firmware and the web interface are the same open-source code either way, and the README notes you can always flash the latest code yourself to stay up to date.

## The SD card template is part of the software

The repository layout shows how the content side works. There is an `SD_Card_Template/` directory that defines the expected card structure, a `firmware/` directory for the device code, a `tools/` directory for the desktop utilities, a `docs/` directory, and a `sync_card.py` script at the root. The 4.6 release note that the firmware and the SD card template both change is therefore significant: you cannot update the firmware and keep your old card structure, you have to reflash and refresh the card files. The migration direction is exFAT, with FAT32 legacy support kept so existing cards do not have to be reformatted, though some of the advanced features only work on exFAT. The offline maps are prepared on a PC with Nomad Tools, which downloads the map picture and the road network for the regions you pick and stores them in a packed archive that the firmware reads without unpacking.

## Conclusion

Adopt Jcorp Nomad if you need media served to phones, tablets or laptops on a trip, in a classroom or on a camping trip where there is no internet and no room for a server, since the whole thing is a thumbdrive-sized device that runs its own network. Do not adopt it as a home media server replacement, because the project positions it against that with a small screen and an ESP32's storage and bandwidth limits, and it is still marked beta. Verify first which firmware you are flashing, since 4.6 changes the SD card template and requires a reflash and a card refresh, and check whether exFAT is what you need, because some of the advanced features only work on exFAT while FAT32 remains supported.

## FAQ

### What is Jcorp Nomad?

It is an open source offline media server that runs entirely on an ESP32-S3, creates a local Wi-Fi hotspot and serves media through a browser interface. Multiple users can access separate streams at once, all without internet access.

### What does firmware 4.6 add to Jcorp Nomad?

exFAT card support, offline maps with turn by turn directions, game ROMs and built-in games, local multiplayer, TV support over DLNA, a WiFi Mode that joins an existing network, offline translation, and recipe and 3D model libraries. The author describes it as the biggest update since the Mk4.

### Why does building Jcorp Nomad from source need the SdFat library?

The Arduino ESP32 core ships a filesystem library with exFAT compiled out and it cannot be re-enabled from a sketch, so the firmware uses SdFat instead, which brings its own filesystem code. The SdFat library has to be installed from the Arduino Library Manager before the project will compile.

### Can Jcorp Nomad work with a smart TV?

Yes, over DLNA. Nomad appears as a media server on smart TVs, VLC, Kodi and Roku Media Player, with cover art and working seeking, and it can be toggled off in the admin panel if you do not want it on the network.

### What licence is Jcorp Nomad released under?

The firmware and web interface are released under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 licence, with the licence file in the repository root. The project status is still marked beta.

## Sources

- [Issues](https://github.com/Jstudner/jcorp-nomad/issues)
- [Jstudner/jcorp-nomad on GitHub](https://github.com/Jstudner/jcorp-nomad)
- [Project website](http://nomad.jcorptech.net)
- [README](https://github.com/Jstudner/jcorp-nomad/blob/main/README.md)
- [Releases](https://github.com/Jstudner/jcorp-nomad/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/jstudner-jcorp-nomad
