Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. MicroPython
  3. MicroWebSrv

MicroWebSrv

MITPython

A lightweight HTTP web server with WebSocket support and Python templating for MicroPython on ESP32 and Pycom devices.

Visit WebsiteGitHubGitHub
662 stars118 forks0 contributors

What is MicroWebSrv?

MicroWebSrv is a micro HTTP web server built for MicroPython, enabling embedded devices like ESP32 and Pycom modules to host web interfaces and APIs. It provides essential web server functionalities—including routing, WebSocket support, and Python-based HTML templating—in a lightweight package suitable for resource-limited environments. The project solves the need for a simple, integrated web server on microcontrollers without requiring complex infrastructure.

Target Audience

Embedded developers and IoT engineers working with MicroPython on devices such as ESP32, Pycom modules, or Pyboard D-series who need to add web-based configuration, monitoring, or interaction capabilities.

Value Proposition

Developers choose MicroWebSrv for its minimal footprint, ease of integration, and comprehensive feature set tailored for MicroPython. Unlike generic web servers, it is optimized for embedded systems, offering WebSockets, templating, and REST support out of the box with just three files, reducing overhead and complexity.

Overview

A micro HTTP Web server that supports WebSockets, html/python language templating and routing handlers, for MicroPython (used on Pycom modules & ESP32)

Use Cases

Best For

  • Adding a web configuration interface to ESP32-based IoT devices
  • Creating captive portals for Wi-Fi setup on microcontroller projects
  • Building REST APIs directly on MicroPython-enabled hardware
  • Serving dynamic web pages with embedded Python logic via .pyhtml templates
  • Implementing real-time data dashboards using WebSockets on embedded systems
  • Developing lightweight web servers for Pycom or Pyboard D-series modules

Not Ideal For

  • Projects requiring high-concurrency web serving, as embedded devices have limited RAM and CPU for handling multiple simultaneous connections.
  • Development on standard Python (CPython) environments, since MicroWebSrv is specifically optimized for MicroPython on microcontrollers.
  • Applications needing built-in HTTPS encryption, as the server lacks native support for secure communications.
  • Teams seeking extensive plugin ecosystems or middleware, due to its minimalistic, three-file design with no extension framework.

Pros & Cons

Pros

Minimal Footprint

Consists of only three files (microWebSrv.py, microWebSocket.py, microWebTemplate.py), making it easy to integrate and lightweight for resource-constrained MicroPython devices like ESP32.

WebSocket Support

Enables real-time, bidirectional communication through optional WebSockets, allowing for fast data exchange in IoT dashboards or interactive interfaces.

Python Templating

Uses .pyhtml files to embed MicroPython code directly in HTML, enabling dynamic page rendering without external templating engines, as detailed in the examples.

Captive Portal Ready

Easily redirects all not-found queries via SetNotFoundPageUrl(), simplifying Wi-Fi setup portals for device configuration, often paired with MicroDNSSrv.

Cons

Outdated and Superseded

The README actively promotes MicroWebSrv2, indicating this version is legacy and may lack recent updates, bug fixes, or new features.

No HTTPS Support

Lacks built-in encryption for secure connections, requiring additional layers or proxies for applications handling sensitive data.

Limited Performance Scalability

Designed for low-traffic scenarios on microcontrollers; performance can degrade with multiple concurrent connections or heavy WebSocket usage due to hardware constraints.

Frequently Asked Questions

Quick Stats

Stars662
Forks118
Contributors0
Open Issues10
Last commit3 years ago
CreatedSince 2017

Tags

#websocket-server#iot#http-server#webserver#micropython#esp32#http#wipy#template-engine#rest-api#websocket#embedded-web-server#pycom#captive-portal#websockets

Built With

M
MicroPython
P
Python

Links & Resources

Website

Included in

MicroPython1.8k
Auto-fetched 20 hours ago

Related Projects

microdotmicrodot

The impossibly small web framework for Python and MicroPython.

Stars2,133
Forks155
Last commit1 month ago
MicroWebSrv2MicroWebSrv2

The last Micro Web Server for IoTs (MicroPython) or large servers (CPython), that supports WebSockets, routes, template engine and with really optimized architecture (mem allocations, async I/Os). Ready for ESP32, STM32 on Pyboard, Pycom's chipsets (WiPy, LoPy, ...). Robust, efficient and documented!

Stars717
Forks100
Last commit10 months ago
tinywebtinyweb

Simple and lightweight HTTP async server for micropython

Stars278
Forks47
Last commit2 years ago
uwebsocketsuwebsockets

Micropython websockets implementation

Stars217
Forks51
Last commit3 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub