When I started building IoT projects for my #100DaysOfIoT challenge, I kept running into the same problem — every time I wanted to monitor or control my ESP32 or Pico 2W from a browser, I had to either write messy raw HTML inside Python strings or manually hit refresh every few seconds. That got frustrating really fast.
So I built micropidash — a MicroPython library that lets you spin up a real-time, non-blocking web dashboard in under 20 lines of code.
No framework. No cloud. Just your microcontroller and your browser on the same Wi-Fi network.
What is micropidash?micropidash is an open-source MicroPython library available on PyPI. It runs a lightweight async web server on your ESP32 or Raspberry Pi Pico 2W and serves a live dashboard to any device connected to the same network — phone, laptop, tablet.
Key features:
- Non-blocking async engine built on uasyncio, so your sensor reading loop never gets stuck waiting for web requests
- Real-time AJAX polling — data updates automatically without page refresh
- Client-side dark/light mode toggle — every connected user can switch independently
- Widget order is preserved using alphabetical ID sorting
- Memory-efficient design with chunked transmission and garbage collection — built for devices with very limited RAM
Supported hardware: ESP32, Raspberry Pi Pico W, Raspberry Pi Pico 2W
Widgets Availableadd_toggle — On/Off switch to control GPIO or any boolean state
add_label — Text display for live sensor readings or status messages
add_level — Progress bar for values like humidity, battery %, or tank level (0 to 100)
InstallationInstall via mpremote or upip:
mpremote mip install micropidash
Or just upload micropidash.py to your board's root directory manually.
This project started as Day 66 of my #100DaysOfIoT challenge. I wanted something that felt as simple as Blynk but ran fully offline and didn't require an account or cloud connection. micropidash is that thing.
It's already been featured in Adafruit's Python on Microcontrollers newsletter and listed in awesome-micropython.
LinksGitHub: github.com/kritishmohapatra/micropidash
PyPI: pypi.org/project/micropidash
100 Days Challenge: github.com/kritishmohapatra/100_Days_100_IoT_Projects










Comments