
Turn a pocket-sized offline media server into a locally verified service with optional remote browser access
Jcorp Nomad runs an open-source media server on an ESP32-S3 and serves movies, music, books, photos, games, maps, and other content through a browser interface. This guide explains the evidenced DIY workflow: confirm the current hardware requirements, flash the matching firmware, prepare the SD card from the supplied template, start Nomad, join it to an existing Wi-Fi network, and verify its interface locally. We then show how to place a Localtonet HTTP tunnel in front of that working LAN endpoint by running our client on another device that can reach both Nomad and the internet. Exact board settings, flashing commands, and Nomad's HTTP port are intentionally not guessed where the available project documentation does not establish them.
๐ What's in this guide
Understand the Jcorp Nomad architecture

Jcorp Nomad is designed primarily as a portable, offline media server. The ESP32-S3 runs the firmware, media and web assets reside on an SD card, and users open the interface from a browser. Its normal offline workflow does not require a cloud service, account, or internet connection.
In its standalone operating model, Nomad creates a local Wi-Fi hotspot. Phones, tablets, and laptops connect directly to that hotspot and use the browser interface to browse or stream content. Multiple users can access separate media streams at the same time. This makes Nomad useful for travel, classrooms, camping, road trips, and other locations where ordinary internet connectivity may be unavailable.
Firmware 4.6 also provides WiFi Mode. In this mode, Nomad joins an existing Wi-Fi network instead of operating only as an isolated hotspot. Its browser interface and supported LAN services become available to devices on that network, and Nomad's screen shows the IP address assigned by the router. The captive portal turns off because redirecting DNS traffic is not appropriate when Nomad joins an existing home or office network.
WiFi Mode is the important bridge between Nomad's offline-first design and an optional Localtonet integration. A Localtonet HTTP tunnel needs a client device that can reach the local web service and can establish an outbound connection to a Localtonet relay. The available project evidence does not establish that our client runs directly on an ESP32-S3. The practical architecture is therefore to run Localtonet on another supported computer or device connected to the same LAN as Nomad.
A Nomad hotspot can work without internet access, but a public tunnel cannot. The device running our client must have an internet connection and a network path to Nomad. Joining Nomad to the same internet-connected LAN through WiFi Mode is normally the clearest arrangement.
Gather the prerequisites without guessing hardware details
Start with the project's current hardware requirements and Quick Start material. Nomad is actively developed, and firmware changes can affect the matching SD card files, libraries, and build configuration. Hardware instructions from an older release should not automatically be applied to firmware 4.6.
At a minimum, the documented architecture requires an ESP32-S3-based Nomad build, suitable SD storage, a USB connection for flashing, and a computer used to obtain the repository files and prepare the card. The project also offers optional 3D-printable case files. The exact supported ESP32-S3 board variant, pin assignments, display components, SD hardware, power requirements, and board configuration must come from the current project's Hardware Requirements page. Those details are not established in the supplied evidence, so this guide does not invent a shopping list or substitute a superficially similar ESP32 board.
Files and software you need
- The current Jcorp Nomad repository or release files.
- The firmware that corresponds to the SD card template you intend to use.
- The repository's
SD_Card_Templatecontent. - The flashing environment and board configuration specified by the current Nomad Quick Start.
- The SdFat library from Arduino Library Manager if you compile firmware 4.6 from source.
- A browser-capable device for local testing.
- An existing Wi-Fi network if you plan to use WiFi Mode.
- A separate supported device on the same LAN for the Localtonet client if you want remote access.
SdFat is not an optional substitution when compiling the documented firmware 4.6 source. The project moved away from the filesystem library bundled with the Arduino ESP32 core because exFAT support was compiled out of that bundled component. Firmware 4.6 uses SdFat for its filesystem layer, so the library must be installed through Arduino Library Manager before compiling.
| Component | Purpose | Important constraint |
|---|---|---|
| ESP32-S3 Nomad hardware | Runs the firmware and serves the interface | Use the exact board and wiring documented by the current project |
| SD card | Stores web assets, media, indexes, and feature data | Firmware and card template must remain compatible |
| Firmware files | Provide Nomad's embedded server behavior | Do not mix an arbitrary old firmware image with current card files |
| SdFat library | Provides the filesystem implementation used by firmware 4.6 | Required when compiling 4.6 from source |
| LAN helper device | Runs the Localtonet client for remote access | Must reach both Nomad's LAN endpoint and the internet |
ESP32-S3 boards can differ in flash size, PSRAM, USB behavior, pin assignments, and attached peripherals. The available evidence refers readers to the project's Hardware Requirements and Quick Start but does not reproduce their exact settings. Selecting plausible-looking values can produce failed uploads, boot loops, unavailable storage, or hardware conflicts. Confirm every board and flashing option against the current official project instructions before writing firmware.
Build, flash, and prepare Jcorp Nomad

The installation has two coordinated parts: firmware on the ESP32-S3 and files on the SD card. Firmware 4.6 changed both. Updating only one side can leave the device with an incompatible interface or missing assets, so treat the firmware and SD card template as one release set.
Confirm the current supported hardware
Open the current Jcorp Nomad Hardware Requirements and compare every board, display, storage, connection, and power detail with your build. Do this before connecting or flashing the board. The project recommends the DIY path, but that recommendation does not mean every generic ESP32-S3 configuration is interchangeable.
Obtain one matching firmware and SD template revision
Use the firmware and SD_Card_Template content from the same current project revision or release. Firmware 4.6 explicitly requires both a reflash and refreshed card files when upgrading from an earlier setup. Preserve personal media separately before replacing card content.
Install SdFat if compiling firmware 4.6
In the Arduino environment specified by the project, install the SdFat library from Arduino Library Manager before compiling firmware 4.6. Do not substitute an unrelated filesystem library. If you are using an officially provided precompiled artifact, follow the project's corresponding flashing path rather than assuming the source-build dependencies also describe the binary flashing procedure.
Apply the documented board and flash settings
Select the exact target, memory, USB, partition, and upload options listed by the current Quick Start. Put the board into the required upload state and flash the firmware using the documented method. This article does not provide speculative commands because the extracted project evidence does not establish those values or a universal command-line procedure.
Prepare the SD card from the supplied template
Place the current template files at the locations required by the project, preserving their names and directory structure. Firmware 4.6 automatically recognizes exFAT, FAT32, and FAT16. exFAT permits files larger than 4 GB and supports newer advanced functionality, while legacy FAT32 cards remain usable. Copy only legally obtained media to the appropriate project-defined folders.
Insert the card and perform the first boot
Safely eject the prepared card, insert it into the powered-off Nomad hardware, and start the device according to the project's Quick Start. Allow the first startup and any initial indexing work to finish before diagnosing the browser interface. Record any status or error information shown by the device.
Choosing an SD card filesystem
Firmware 4.6 detects exFAT, FAT32, or FAT16 at boot without requiring a filesystem selection inside Nomad. exFAT removes the FAT32 single-file limit that previously complicated large video files and large ZIM archives. It also allows SDXC cards over 32 GB to be used without the FAT32 reformatting previously associated with those cards.
Existing FAT32 cards remain supported, so an upgrade does not automatically require reformatting. However, the project notes that some advanced features work only with exFAT. If you retain FAT32, preserve realistic expectations about large files and feature availability.
Refreshing the SD card for a new firmware release can overwrite configuration, generated indexes, or other project files if performed carelessly. Keep a separate copy of your media and any configuration you need. Do not assume the template itself is a backup of your personal content.
Configure Nomad for local and LAN use
Begin in Nomad's normal local mode. Connect a browser-capable device using the network behavior described by the current Quick Start and open the browser interface using the address that Nomad provides. The exact first-use URL, hotspot name, hotspot credentials, and initial administrative credentials are not present in the supplied evidence, so they must be read from the current project instructions or the device's own display rather than guessed.
Nomad's administrative controls include Wi-Fi settings, library indexing, restart, safe shutdown, USB mode, display-related controls, credentials, and a live system console. Administrative settings are protected by an admin login. Set a strong, unique administrative password and do not share it with ordinary media users.
Load and index content
Add legally obtained media using the directory layout expected by Nomad. The browser file manager can upload, rename, delete, download, and edit files, but the project notes that a computer is easier for bulk file management. Once the content is in place, run the required library indexing operation and wait for it to complete.
Nomad supports media categories that include movies, shows, music, books, comics, images, general files, and ZIM archives. Firmware 4.6 also introduces directories and workflows for newer features. For example, offline map regions reside in /Maps, while game ROMs can be placed in /Games. Preparing map archives and indexes involves the project's desktop tools, and large regions may draw slowly because maps are among the newer features.
Enable WiFi Mode for LAN access
Use the WiFi Mode control in the top bar of the admin panel. The documented popup contains a network scanner, a password field, and an auto-reconnect option. Select the intended Wi-Fi network, provide its password, and choose the reconnection behavior appropriate for the installation.
After Nomad joins the network, its screen shows the IP address assigned by the router. Record that address. A DHCP reservation on your router can help keep the address stable, but the method is router-specific and is not a Nomad or Localtonet setting. If you do not reserve an address, check the displayed address again whenever a tunnel stops reaching Nomad.
The captive portal is disabled in WiFi Mode. Open the displayed LAN address directly from another device on the same network. Do not proceed to public access until the full browser interface works through this local route.
| Operating mode | Connectivity | Remote tunnel suitability |
|---|---|---|
| Nomad hotspot | Clients connect directly to Nomad without internet | Usually unsuitable because the network may provide no upstream internet path |
| WiFi Mode | Nomad joins an existing LAN and receives a router-assigned IP | Suitable when a separate Localtonet client device can reach that LAN address |
| WiFi Mode with DLNA | Browser service and DLNA are available to compatible LAN devices | Use HTTP tunneling only for the verified browser endpoint, not as a substitute for LAN discovery |
Verify Nomad locally before creating a tunnel
Local verification separates Nomad installation problems from tunnel configuration problems. A tunnel cannot repair an incomplete SD card, incorrect firmware, failed network join, unavailable web server, or wrong target port.
Verify the basic browser interface
- Confirm that Nomad completes startup without a persistent storage or firmware error.
- Confirm that the expected interface opens from a browser connected through the supported local path.
- Open several interface pages rather than checking only the landing screen.
- Confirm that the admin login works with the credentials you configured.
- Check that storage totals and expected media categories appear.
- Open at least one small media file and confirm that data streams successfully.
Verify WiFi Mode from the future tunnel host
Installations intended for Localtonet need one additional test. From the exact computer or device that will run our client, open Nomad's router-assigned address in a browser. This confirms that local routing and firewall policy allow the helper device to reach the ESP32-S3.
Record the complete working local endpoint, including its scheme and port if one is explicitly present. The supplied Nomad evidence does not state a universal HTTP port, does not establish HTTPS support, and does not provide a single URL format that is safe to assume. Use the endpoint observed in the browser, shown by current project documentation, or confirmed through the helper device's network tools.
A browser may hide a default port from its address bar, while project revisions can change network behavior. Confirm the actual listening port before configuring Localtonet. If no authoritative method available to you establishes the port, stop and consult the current Nomad documentation rather than testing a public tunnel against arbitrary ports.
Test representative content
A successful home page does not prove that streaming works. Test the features you actually plan to use remotely. Start with a small file and observe whether playback begins, seeking works, and navigation remains responsive. Large media files can stress the ESP32-S3, SD card, local wireless connection, upstream internet connection, and remote viewer's downstream connection.
Also distinguish the browser endpoint from DLNA. DLNA relies on LAN discovery and is designed for devices on the local network. An HTTP tunnel to Nomad's browser interface should not be presented as a general mechanism for carrying DLNA discovery to the public internet.
Expose the verified Nomad interface with Localtonet
With Localtonet, the client application establishes an outbound connection to one of our relay servers. An HTTP tunnel then provides a public HTTPS address that forwards requests to the selected local IP address and port. This does not require inbound router port forwarding, a public IP address, VPN setup, or inbound firewall changes.
For Nomad, run our client on another device that stays connected to the same LAN and can open Nomad's verified browser endpoint. A desktop, small home server, or other supported always-on device can fill this role. Do not assume that the Localtonet client can be installed on the ESP32-S3 itself.
Install and run the Localtonet client on the LAN helper
Use a supported device that can reach Nomad's WiFi Mode address and the public internet. Install our current client for that device's operating system, start it, and keep it running while remote access is required.
Authenticate and select the helper device
Use the device-specific authentication token assigned through Localtonet. Treat the token as a credential. Do not paste it into documentation, screenshots, source repositories, or shared support messages.
Select an available relay server
Choose a currently available server or region from our dashboard. Available values can vary, so obtain them from the live product rather than copying a server code from an old tutorial.
Create an HTTP tunnel to Nomad
Set the local target to Nomad's verified LAN IP address and verified HTTP port. Use the generated subdomain option for a straightforward initial test, or select another supported HTTP process type when appropriate. Custom-domain DNS requirements can change, so follow the current dashboard and documentation before configuring a custom domain.
Start the tunnel and test its public address
Creating a tunnel does not start it. Press Start, wait until the client and tunnel are connected, and open the assigned public HTTPS address from a device outside the Nomad LAN. Test login, navigation, and a small media request before trying large streams.
Stop or delete access when it is no longer needed
Stop the tunnel to make the public endpoint unavailable while retaining its configuration, or delete the tunnel when you no longer need it. The endpoint is available only while the selected Localtonet client is connected and the tunnel is running.
For the current dashboard workflow and field descriptions, consult our Localtonet HTTP tunnel documentation. Use that documentation together with the local endpoint you already verified rather than substituting example IP addresses or ports.
Remote access depends on Nomad, its SD card, the Wi-Fi connection, the LAN helper, the Localtonet client, and the active tunnel. If the helper sleeps, disconnects, changes networks, or loses internet access, the public endpoint stops working even when Nomad remains available locally.
Protect a remotely accessible Nomad
Nomad was designed around convenient local and offline sharing. Publishing its browser interface changes the threat model because people outside the trusted LAN may be able to reach the application. Review what the interface exposes before enabling a tunnel.
Set a strong administrative password, keep administrator credentials separate from ordinary access, and expose only the browser endpoint required for the workflow. Do not forward unrelated management services or attempt to publish LAN discovery protocols through the same HTTP tunnel.
Review the files stored on the card. Remove private documents, personal photographs, credentials, backups, and any content that should never be reachable from the internet. Nomad's browser file manager includes operations such as upload, rename, deletion, download, and editing, so determine which authenticated users can reach administrative functions before sharing a public address.
Keep the firmware and matching SD template current, but do not perform untested upgrades directly on the only copy of your media library. Back up the card, read release notes, update both sides when the release requires it, and verify everything locally again before restarting the public tunnel.
Troubleshoot installation, LAN access, and tunneling

The firmware does not compile
If you are compiling firmware 4.6, confirm that SdFat is installed through Arduino Library Manager. Then compare the selected board and every build option with the current Nomad Quick Start. Do not use the old Mk3 source archive as a self-contained build reference. Its release notes state that bundled Arduino libraries were not in that repository state and library versions were not pinned there.
A library error, memory-layout error, or unavailable board definition should be resolved at the build environment layer before changing application files. If the current project documentation specifies versions, use those exact versions.
The device starts but the interface is incomplete
Recheck whether the firmware and SD card template came from the same release. Firmware 4.6 changes both. Missing styles, unavailable pages, or absent assets can indicate that the card was not refreshed correctly or that the template directory structure was altered.
Power the device down safely before reseating the card. Confirm that the filesystem is one recognized by the firmware and that the card remains readable on the preparation computer. Restore from a backup rather than repeatedly modifying the only copy of important media.
Nomad works as a hotspot but not in WiFi Mode
Return to the WiFi Mode popup, rescan for the network, and verify the wireless password. Check whether the device screen displays a router-assigned IP address. If no LAN address appears, troubleshoot the network join before configuring Localtonet.
If an address appears but another LAN device cannot open it, check whether the devices are on networks that can communicate. Guest Wi-Fi and client isolation features commonly prevent one wireless device from reaching another. Those controls are managed by the router or access point, not by the HTTP tunnel.
The local page works, but the Localtonet tunnel does not
Repeat the local test from the exact device running our client. If that device cannot open Nomad directly, Localtonet cannot forward to it. Confirm that the tunnel target contains the current LAN address and the verified port. A router may assign Nomad a different address after reconnecting.
Then confirm that the selected Localtonet client is connected and that the tunnel was started. Creation alone is not enough. Also verify that the helper device has not entered sleep mode and that it still has internet access.
The public page opens, but media playback fails
Test a small media file locally and publicly. If local playback also fails, investigate Nomad's file, index, card, or format handling first. If local playback works but remote playback does not, consider the complete data path, including Wi-Fi quality, helper-device connectivity, and available internet capacity. This guide does not claim a particular streaming bitrate, concurrency level, latency, or performance result because those values are not established by the supplied evidence.
Large files also take longer to diagnose. Start with a small known-good item, then gradually test the actual formats and sizes you intend to use.
The tunnel stopped after previously working
Check whether Nomad's LAN address changed, whether WiFi Mode reconnected, whether the helper device is awake, and whether the Localtonet client remains connected. Confirm that the tunnel is still running. If Nomad is portable and frequently moves between networks, expect to update or revalidate the local target whenever its LAN environment changes.
Frequently asked questions
Can Localtonet run directly on the Jcorp Nomad ESP32-S3?
The available evidence does not establish a Localtonet client for the ESP32-S3, so this guide does not claim direct installation. Run our client on another supported device that can reach Nomad's LAN address and has internet access.
Can I create a tunnel while Nomad is operating only as an offline hotspot?
A tunnel requires an internet-connected Localtonet client with a route to Nomad. A hotspot-only network normally has no upstream internet connection. WiFi Mode, with Nomad and the helper device on the same internet-connected LAN, is the clearer supported architecture.
Which port does the Nomad browser interface use?
The supplied project evidence does not establish a universal HTTP port. Verify the complete endpoint from the current Quick Start, the address opened successfully in your browser, or appropriate local network inspection. Do not assume port 80 or 443.
Do I need exFAT for firmware 4.6?
Not for every basic workflow. Firmware 4.6 automatically detects exFAT, FAT32, and FAT16, and existing FAT32 cards remain supported. ExFAT allows individual files larger than 4 GB and is required for some advanced functionality.
Why must I refresh both the firmware and the SD card?
Firmware 4.6 changed both the device firmware and the SD card template. Keeping only one side current can produce incompatible web assets, missing functionality, or unexpected behavior. Back up personal content, then use a matching firmware and template revision.
Does an HTTP tunnel make Nomad's DLNA service remotely discoverable?
No such behavior should be assumed. DLNA discovery is a LAN-oriented function, while the workflow in this guide forwards the verified browser-based HTTP endpoint. Treat DLNA and HTTP remote access as separate networking use cases.
Will the public Nomad address remain available if the helper computer sleeps?
No. The tunnel is available only while the selected Localtonet client is connected and the tunnel is running. Sleep, shutdown, network loss, or client disconnection on the helper device makes the endpoint unavailable.
Should I expose Nomad before testing it locally?
No. First confirm startup, storage, login, navigation, indexing, and representative media playback locally. Then test the LAN endpoint from the future Localtonet client device. Create the HTTP tunnel only after those checks pass.
Connect your verified Nomad interface with Localtonet
Once Jcorp Nomad works in WiFi Mode and its browser endpoint is reachable from a supported LAN helper device, create an HTTP tunnel without opening an inbound router port. Keep the helper online, protect Nomad's administrative access, and stop the tunnel whenever public access is not required.
Get Started Free โ