<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/putting-the-esp32-microcontroller-on-the-internet-xz6o3c7kh" -->

---
title: Putting the ESP32 microcontroller on the Internet
description: A step-by-step guide shows how to expose an ESP32 or ESP8266 microcontroller's local web server to the public Internet using ngrok tunneling software. It...
canonical: https://daily.dev/posts/putting-the-esp32-microcontroller-on-the-internet-xz6o3c7kh
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Putting the ESP32 microcontroller on the Internet | daily.dev
og:description: A step-by-step guide shows how to expose an ESP32 or ESP8266 microcontroller's local web server to the public Internet using ngrok tunneling software. It...
og:url: https://daily.dev/posts/putting-the-esp32-microcontroller-on-the-internet-xz6o3c7kh
og:image: https://api.daily.dev/og/posts/xz6O3C7kh.png
og:image:alt: Putting the ESP32 microcontroller on the Internet
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Putting the ESP32 microcontroller on the Internet

**[ngrok Blog](https://daily.dev/sources/ngrok)** · 5 min read · 0 upvotes · 0 comments

## Summary

A step-by-step guide shows how to expose an ESP32 or ESP8266 microcontroller's local web server to the public Internet using ngrok tunneling software. It covers setting up a basic ESP32 web server via Arduino IDE, installing and configuring ngrok with an authtoken, exposing the device with either a free (random URL) or pro (custom subdomain) ngrok account, and securing access with HTTP Basic Auth or Google identity provider integration. It also mentions ngrok's architecture supporting up to 20 devices per agent and teases an upcoming agentless library (ngrok-go) for connecting ESP32 devices directly to the Internet.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://ngrok.com/blog/putting-the-esp32-microcontroller-on-the-internet>

## Questions this post answers

### How can I access my ESP32 web server from outside my local network?

You can use ngrok tunneling software to expose your ESP32's local web server to the Internet. After setting up a web server on the ESP32 with Arduino IDE, install ngrok, register an authtoken, and run ngrok pointed at the ESP32's local IP address; a free account gives a randomly generated public URL each time it restarts, while a pro account allows a fixed custom subdomain.

_daily.dev surfaces practical IoT networking guides for developers wiring up remote device access._

### How do I add authentication to a microcontroller web server exposed to the Internet?

Ngrok can add authentication in front of an exposed ESP32 or ESP8266 web server without changing the device's own code. A simple option is HTTP Basic Authentication with a single configuration option, while a pro ngrok account supports using Google as an identity provider, and enterprise setups can integrate with providers like Active Directory or Okta plus IP restrictions.

_developers securing exposed IoT endpoints can find more access-control approaches on daily.dev._

## Similar posts on daily.dev

- [ESP32 Hosts A Public Website](https://daily.dev/posts/esp32-hosts-a-public-website-dvjfmolz7) · Hackaday · 0 upvotes · 0 comments
- [The ESP32 turned out to be the least intimidating way into a hobby that scared me for years](https://daily.dev/posts/the-esp32-turned-out-to-be-the-least-intimidating-way-into-a-hobby-that-scared-me-for-years-0clcoshb0) · XDA Developers · 0 upvotes · 0 comments
- [ESP32 Bit Pirate: Bridging Modern Microcontrollers and Browser-Based Hardware Debugging](https://daily.dev/posts/esp32-bit-pirate-bridging-modern-microcontrollers-and-browser-based-hardware-debugging-i9coyxqm3) · InfoQ · 0 upvotes · 0 comments
- [Hosting a website on an 8-bit microcontroller. \(Maurycy's blog\)](https://daily.dev/posts/hosting-a-website-on-an-8-bit-microcontroller-maurycy-s-blog--muxqqbdbi) · Hacker News · 0 upvotes · 0 comments
- [The ESP32 Gets A Web Browser](https://daily.dev/posts/the-esp32-gets-a-web-browser-fulaxjss7) · Hackaday · 0 upvotes · 0 comments

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#iot](https://daily.dev/tags/iot), [#networking](https://daily.dev/tags/networking)

[View this post on daily.dev](https://daily.dev/posts/putting-the-esp32-microcontroller-on-the-internet-xz6o3c7kh)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Putting the ESP32 microcontroller on the Internet","url":"https://daily.dev/posts/putting-the-esp32-microcontroller-on-the-internet-xz6o3c7kh","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/putting-the-esp32-microcontroller-on-the-internet-xz6o3c7kh"},"datePublished":"2026-08-23T07:20:57.570Z","dateModified":"2026-08-23T07:25:06.526Z","description":"A step-by-step guide shows how to expose an ESP32 or ESP8266 microcontroller's local web server to the public Internet using ngrok tunneling software. It...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1562a9e1fe360d56458dfae8f994189e?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1562a9e1fe360d56458dfae8f994189e?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ngrok Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ngrok Blog","logo":"https://media.daily.dev/image/upload/s--718XXxvE--/f_auto,q_auto/v1787469610/logos/ngrok?_a=BAMAMicg0","url":"https://daily.dev/sources/ngrok"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/putting-the-esp32-microcontroller-on-the-internet-xz6o3c7kh","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devtools,iot,networking","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ngrok Blog","item":"https://daily.dev/sources/ngrok"},{"@type":"ListItem","position":3,"name":"Putting the ESP32 microcontroller on the Internet"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/putting-the-esp32-microcontroller-on-the-internet-xz6o3c7kh#faq","mainEntity":[{"@type":"Question","name":"How can I access my ESP32 web server from outside my local network?","acceptedAnswer":{"@type":"Answer","text":"You can use ngrok tunneling software to expose your ESP32's local web server to the Internet. After setting up a web server on the ESP32 with Arduino IDE, install ngrok, register an authtoken, and run ngrok pointed at the ESP32's local IP address; a free account gives a randomly generated public URL each time it restarts, while a pro account allows a fixed custom subdomain. daily.dev surfaces practical IoT networking guides for developers wiring up remote device access."}},{"@type":"Question","name":"How do I add authentication to a microcontroller web server exposed to the Internet?","acceptedAnswer":{"@type":"Answer","text":"Ngrok can add authentication in front of an exposed ESP32 or ESP8266 web server without changing the device's own code. A simple option is HTTP Basic Authentication with a single configuration option, while a pro ngrok account supports using Google as an identity provider, and enterprise setups can integrate with providers like Active Directory or Okta plus IP restrictions. developers securing exposed IoT endpoints can find more access-control approaches on daily.dev."}}]}
```

