I have a bit of a random idea… could tailscale be installed on an ESPhome device so that device can be on any internet connection anywhere and integrate back to my HA server with tailscale?
im thinking of building a device that has an esp32 with a web portal for config. this device will be on a boat with starlink… but i want to be able to log to my server, and i want to connect my phone to my tailscale and access it from anywhere… i dont want to install tailscale on a router or anything like that… just want to give my dad a device he can connect to his wifi and away it goes…
Has anyone seen this or tried using it? would be nice to have it as a component we can just pull in as needed!
Unless the ESP is in a very secure physical location (which I doubt considering your question) this sounds like a great way to steal the credentials of your VPN because the firmware from the ESP can easily be read back.
This is exactly the opposite of a separate IOT network for security reasons.
wireguard sounds too hard to setup without ports and routes etc.
would be nice if we could just use nabu casa or something to have a remote esphome device on a remote network… yet still be able to log data from it and control it remotely.
We built an ESPHome component that turns an ESP32 into a native Tailscale node.
No port forwarding, no Nabu Casa, no separate VPN server — the device just shows up on your tailnet with a 100.x.y.z IP, and Home Assistant can reach it from anywhere.
We’ve seen a few similar projects before, but they often required custom builds or digging into C++. Our goal was to make this actually user-friendly: a few lines of YAML, import it as a package, and it just works. Everything can be set up directly from the Home Assistant ESPHome Builder.
OTA works over the VPN too, so once it’s installed, you don’t need physical access anymore. It also reconnects automatically after network drops.
Our main use case: ESP devices in remote or restricted networks where we don’t want to deal with port forwarding or running a VPN server — just make them visible to Home Assistant. This solves exactly that.
Under the hood it uses the microlink library.
Tested on ESP32-S3. 4MB flash is enough, and the README covers setup in detail.
Bonus: works with Headscale if you’re self-hosting.
We’d really appreciate any feedback if you try it — we’re heading toward our first public release, and we’re happy to receive any kind of help or support.