Skip to content
Open Source · ESP8266 · MIT License

ESP8266 Travel Router
for Wemos D1 Mini

Turn a $4 Wemos D1 Mini into a portable travel router. Share hotel or airport Wi-Fi with all your devices, bypass captive portals, and apply custom DNS — no OpenWrt hardware needed.

esp8266 wemos-d1-mini travel-router nat-router captive-portal iot arduino littlefs

Browser-Based Firmware Installer

Connect your Wemos D1 Mini via USB and flash the latest firmware directly from Chrome or Edge. No drivers, no CLI, no Arduino IDE required.

Requires Chrome or Edge with WebSerial support. Windows/Linux/macOS.

Full-featured travel router on a $4 chip

The Wemos D1 Mini Travel Router firmware turns an ESP8266 microcontroller into a fully functional NAT router. It connects upstream to any Wi-Fi network — including hotel, airport, Airbnb, or public hotspot Wi-Fi — and shares that connection as a private access point for your devices.

Unlike commercial travel routers, this is open-source and fully customizable. You control the DNS, the SSID, the captive portal bypass behavior, and all routing logic directly from the browser-based web dashboard.

NAT Routing
Share a single upstream Wi-Fi connection with multiple client devices via full NAT routing on the ESP8266.
Captive Portal Bypass
Dedicated captive portal detection and bypass logic for hotel Wi-Fi, airport Wi-Fi, and public hotspot networks.
Custom DNS Injection
Inject custom DNS servers for all downstream clients. Apply DoH, ad-blocking DNS, or private resolvers without touching each device.
Dark-Mode Web Dashboard
Responsive asynchronous web UI for real-time network control, SSID management, and configuration — served directly from the ESP8266.
Persistent Config (LittleFS)
All settings stored persistently in flash via LittleFS. Your SSID, password, and DNS settings survive reboots and power cycles.
Browser Flash (WebSerial)
Flash firmware directly from Chrome or Edge without installing any software. Just connect USB and click.

Built for travellers, makers, and network tinkerers

Anyone who has tried to connect more than one device to a hotel Wi-Fi, or been stuck behind a captive portal with a device that can't handle it, will immediately understand the use case.

🏨
Hotel Wi-Fi sharing
Pay for one connection, share it across all your devices through your own private AP.
✈️
Airport & lounge Wi-Fi
Handle captive portal login once on the router, then connect all devices seamlessly.
🏕️
Airbnb & shared accommodation
Create a trusted private SSID on top of shared public networks.
🛡️
Custom DNS on the road
Force all downstream devices to use a DoH resolver, ad-blocking DNS, or your home server.
🔬
IoT & maker projects
Use as a NAT bridge for embedded devices that need isolated network access.
💻
Network education
Learn NAT routing, DNS injection, and AP configuration on cheap, accessible hardware.

What's inside

The firmware targets the ESP8266 SoC on the Wemos D1 Mini (4MB flash). It is built with the Arduino ESP8266 framework and requires no special hardware beyond a standard micro-USB cable and a browser.

The pre-built router.bin is included in the repo for direct flashing. Source code is MIT-licensed.

Target hardwareWemos D1 Mini (ESP8266)
Flash required4 MB
FrameworkArduino / ESP8266
StorageLittleFS (persistent config)
DashboardAsync web server (dark mode)
DNSCustom injection via firmware
Captive portalDedicated bypass logic
InstallerESP Web Tools (WebSerial)
LicenseMIT

Flash in three steps

No Arduino IDE, no drivers, no command line. All you need is Chrome or Edge and a micro-USB cable.

1
Connect your Wemos D1 Mini
Plug the D1 Mini into your computer via a data-capable micro-USB cable. Open this page in Chrome or Edge (WebSerial required).
2
Click "Connect & Install"
Hit the flash button above. Select the correct serial port from the browser dialog. The installer will erase and write the firmware automatically.
3
Connect to the router AP
After flashing, the D1 Mini boots a Wi-Fi access point. Connect to it, open the web dashboard, and configure your upstream network and DNS settings.

Open source. MIT licensed. Ready to flash.

Full source code, documentation, and issue tracking on GitHub. Contributions welcome.