Bringing a Modern OS Experience to the ESP32

MicroPythonOS is an Android-inspired OS for microcontrollers such as the ESP32 with a touchscreen UI, an app store, and lots more.

Nick Bild
26 seconds agoHW101
A variety of apps have already been developed (📷: MicroPythonOS)

Microcontrollers today are becoming quite powerful — so much so that we often refer to them as little computers. And that is exactly what they are, of course — they have CPUs to execute programs, memory, and external interfaces. They check every single box. But the user experience they provide doesn’t make them feel like computers — at least not in the sense that we are used to. They are miles away from being a desktop computer, or even a phone, in that regard.

Desktops and phones run operating systems with graphical user interfaces that hide the complexity of the underlying hardware and allow us to do higher-level computing tasks. But when it comes to microcontrollers, we have to write programs from scratch that run on the bare metal. We have to think in terms of memory addresses and registers and raw interfaces to get anything done.

The little OS that could

MicroPythonOS is a new operating system designed for microcontrollers like the ESP32 that is seeking to change all of that. It provides a modern Android-like touch screen user interface, an app store, and over-the-air (OTA) updates. It is installed like any other operating system, then you can either load existing software, or write your own without having to worry about coding every last detail from scratch.

MicroPythonOS is built entirely in MicroPython, which is perhaps the most surprising aspect of this project. Rather than relying on a traditional compiled kernel, the system is composed of a thin operating system layer responsible for hardware initialization, multitasking, and user interface management. Everything else — including Wi-Fi configuration, firmware updates, and system settings — is implemented as an app. This app-centric design closely mirrors the architecture of modern mobile operating systems and makes the platform both flexible and approachable.

The user interface is based on LVGL, a popular graphics library for embedded systems, and supports touchscreens, physical buttons, gestures, themes, and a wide range of widgets. The experience is unmistakably mobile-inspired, with smooth navigation and quick boot times even on resource-constrained hardware. An integrated App Store allows users to browse and install applications such as a camera app, image viewer, IMU visualizer, and simple demonstration programs, all with source code available for inspection and modification.

It just works...everywhere

Although MicroPythonOS primarily targets ESP32 microcontrollers, its cross-platform nature means it can run on any device that supports MicroPython. According to its developers, this includes newer microcontrollers like the Raspberry Pi RP2350. It can even run on Windows, Linux, and macOS systems, which is useful for development and testing.

Hardware support already includes Wi-Fi, Bluetooth, motion sensors, cameras, touch displays, GPIO, I2C, and more. Combined with built-in OTA updates, this makes MicroPythonOS well suited for long-lived connected devices. Potential applications range from smart home controllers and educational tools to robotics platforms, wearables with gesture input, and portable touchscreen gadgets. Check out the GitHub repository for more details.

Nick Bild
R&D, creativity, and building the next big thing you never knew you wanted are my specialties.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles