167

MicroPythonOS graphical operating system delivers Android-like user experience

Wow, these preassembled ESP32 plus touchscreen boards are extremely cheap, and there are tons of them in all kinds of different form factors on Amazon. I didn't realize this kind of thing was so plentiful, this seems like a great way to bootstrap many kinds of electronics/IoT projects

9 hours agoshawnz

Yeah ESP32 is an awesome rabbit hole. An esp32-c6, cheap yellow display, and a 3d printer and you can build some really interesting things.

5 hours agofrogperson

Any commercial products using ESP?

6 hours agobrcmthrowaway

https://templates.blakadder.com/esp32.html

Here’s a list of just a few. They’re insanely popular not only because they’re just good to use, but also because they’re one of the cheaper FCC approved modules you can buy, which takes a lot of the pain out of bringing a product to market.

2 hours agobri3d
[deleted]
3 hours ago

I think there are plenty using espressif chips. One of my robot vacuums (possibly the Neato?) certainly appeared to be.

6 hours agobdavbdav

AFAIK my humidifier uses an ESP32 chip.

3 hours agoshawnz

Micro python is the last hope for Python. Python simplicity got destroyed by a bunch of new wave of programmers who packed a lot of new useless features into it in the past 10 yrars. Now it's NOT easy and small language as it used to be...

Feature creep is an awful side effect. I would love to have language having just few add-ons per decade so I can grasp it all

4 hours agoiberator

>> "the last hope for Python"

Python is in the top 3 programming languages in the world.

2 hours agowewewedxfgdf

Being lingua franca of AI and scripting world isn't enough for GP.

2 hours agowiseowise

This is kind of a strange take to me given that Python is quickly becoming the default for many projects that 1) are not indexing for speed/efficiency and 2) is not on the web (and sometimes this only applies for frontend). There are plenty of cases where that statement is incorrect but I think you get my point.

I think I read a title on HN that was literally titled “Why Python Won” in late 2025.

2 hours agoVK-pro

Which useless features?

4 hours agoInitEnabler

Amazing. We have actually gone full circle reactionary on the typing debate where duck typing is considered the "traditional" way by some.

2 hours agonikitau

All of them. Starting with syntax changes or type hints.... (Python should be always and only be duck typed forever as designed by God itself (it's creator).

2 hours agoiberator

> Python should be always and only be duck typed forever as designed by God itself (it's creator).

Isn't Guido the one who came up with type hints spec and made the reference implementation (Mypy)?

2 hours agowiseowise

async is the big one. it was half-baked

2 hours agovpribish

So, am I right in assuming that ESP32, being simple and slow, isn't going to have cache lines or anything, and would just need 1-2 cycles to access its RAM? In which case a pointer-chasing dynamic language like python wouldn't have all of the typical performance penalties from constant cache misses?

EDIT: upon further research, I think the above assumptions are more or less all wrong, starting with the "simple" part. To start with, they're Harvard-architecture-ish with separate memory pathways - and caches - for data and instructions, so off the bat they have more heterogeneity than your modern general purpose CPUs. Also there seems to be a very wide variety of memory mappings, buses, and caching systems within ESP32 "family". [1]

[1] https://developer.espressif.com/blog/2024/08/esp32-memory-ma...

4 hours ago12_throw_away

Looks better than any Python GUI framework I’ve seen..

7 hours agobvan

I reckon you've never seen flet.

https://flet.dev

5 hours agoskeledrew

That looks interesting. I had not heard of flet.

How do you like it? How easy is it to work withe the layout controls?

5 hours agoPyWoody

It's a mixed bag, as it's still not stable (esp as very recently declarative support was added in what was likely a mostly-rewrite). But when it works, it works great (I've only tried on Linux and Android).

5 hours agoskeledrew

Can we port it to Intel, I wonder...?

7 hours agoErroneousBosh

Love me some MicroPython. Building a product line of small farm security devices that use uPy and MQTT.

10 hours agocbdevidal

Interesting. Would want to see this going on actual Android. Especially since I have a few Python GUI projects going which I intend to use on Android (but currently using flet).

https://flet.dev

5 hours agoskeledrew

It’s LVGL based, if the GUI and widgets are what you wanted you could use that on Android, although if you have access to native Android this actually doesn’t seem like the best approach to me.

2 hours agobri3d
[deleted]
8 hours ago

I would love to have this, but Lua not Python.

8 hours agoMomsAVoxell

Mathematicians don't build GUIs, and nobody else can stand starting their arrays with 1.

8 hours agomoffkalast

Lua also let's you start arrays at 3.

8 hours agodlcarrier

As does Perl with `$[`[0][1]

[0] "This variable stores the index of the first element in an array, and of the first character in a substring."

[1] With the caveat: 'As of Perl v5.30.0, or under "use v5.16", or "no feature "array_base"", $[ no longer has any effect"'

7 hours agozimpenfish

You can start your arrays in Lua at 0. Conventionally you don't, but you can.

7 hours agoErroneousBosh

Does it support the threading module?

6 hours agoamelius

Will MicroPythonOS also work with CircuitPython?

CircuitPython docs > Differences from MicroPython: https://docs.circuitpython.org/en/latest/README.html#differe...

Also, there's pipkin: https://github.com/aivarannamaa/pipkin#pipkin :

> Tool for managing distribution packages for MicroPython and CircuitPython on target devices or in a local directory.

> Supports mip- and upip-compatible packages, and regular pip-compatible packages

Hopefully - for 3 types of packages - pipkin supports GPG signatures, PyPI's TUF, and/or sigstore attestations like pip?

Just checked; pip doesn't support checking PEP740 attestations yet either?

pipkin: https://github.com/aivarannamaa/pipkin

trailofbits/pip-plugin-pep740: https://github.com/trailofbits/pip-plugin-pep740

9 hours agowesturner

I'd use it. I'd be curious to see how close to daily driving it is for stuff like calls, SMS, and email. Something not driven by a giant data mining company would be splendid.

6 hours agohkt

[dead]

2 hours agoConanRus

> Android-like user experience

so crap. No inovation those days.

2 days agohulitu

I really wish people would stop trying to innovate with user interfaces. In a comment below you criticize this UI because it doesn't have delimited interface elements. I agree that non-delimited user interface is really bad, but I attribute that mostly to Microsoft's flat design innovation, which I didn't like at the time, and I still wish I hadn't had so much influence.

As for invisible scroll bars, again we agree. But I think that was Apple. I'm sure somebody will correct me if it wasn't.

3 hours agorpdillon

That "Android-like" is based on LVGL which is a brilliant GUI framework for ESP32 (not invented for this project) when you consider the low capacities of the hardware and how efficiently it pulls the animations.

If Android had such GUI, it would be a heck lot faster and drink less energy.

3 hours agonunobrito

MIT lisenced; feel free to fork it if your feeling especially filial

5 hours agob00ty4breakfast

It's FOSS, so you can use it primarily for output with real switches and knobs for input. But then just using plain LVGL would probably be more practical.

6 hours agosquarefoot

What would you have wanted to see?

10 hours agofunctionmouse

At the first look: clear delimitation of UI elements, usable scrollbars.

6 hours agohulitu

I mean I kind of get your frustration, but I don't think innovating the user interface is not really the goal of this project, the opposite actually, it's moreso trying to provide a well-known user interface to devices where that was previously hard, so the goal is to be similar.

I would like to see some fresh ideas in UI though, everything is the same nowadays... :(