[HN Gopher] MicroPythonOS - An Android-like OS for microcontrollers
___________________________________________________________________
MicroPythonOS - An Android-like OS for microcontrollers
Author : alefnula
Score : 166 points
Date : 2025-10-09 10:35 UTC (4 days ago)
(HTM) web link (micropythonos.com)
(TXT) w3m dump (micropythonos.com)
| kej wrote:
| The name makes it seem like it's related to the MicroPython
| project, rather than just written in it, which feels slightly
| misleading to me.
| lodovic wrote:
| It looks really nice, but agreeing on the naming - it's not
| really an actual OS, more like a dashboard toolkit, or a set of
| widgets.
| askvictor wrote:
| In a way, MicroPython already is an OS, in that it provides a
| bunch of services (filesystem, network, scheduling). It's up to
| you whether you want to access those through a script or a
| command line (repl)
| dlcarrier wrote:
| ...for very large definitions of microcontroller
| skatingaway wrote:
| Right? If it needs >1MB flash lol no.
| tacticalturtle wrote:
| Serious recommendation: I would not have R. Kelly anywhere on
| your project page.
|
| If you're trying to give a 30 second elevator pitch about what
| your project does, you should not have a name be a guy spending
| 30+ years in prison for child sexual abuse.
| MrGilbert wrote:
| Agree. There are other puns possible for wifi:
| Name: GoGoGadgetInternet Password: Inspector
| heisenzombie wrote:
| "PrettyFlyForAWiFi"
| kurisufag wrote:
| all work and no play makes jack a dull boy. having a little fun
| spurs good work and vice versa.
| outadoc wrote:
| Your definition of fun is scary
| aleatorianator wrote:
| andor you are a coward. then again it's a scary time to be
| alive
| tecleandor wrote:
| Hey! Take it easy with me!
| tecleandor wrote:
| Ooooops, I didn't notice it on a first quick look. Yeah, I'm
| with you.
| surajrmal wrote:
| Where do you draw the boundary? Can I no longer enjoy watching
| space jam because it contains songs by R Kelley? A WiFi SSID
| which is a pun from a popular song seems pretty far removed
| from promoting or celebrating R Kelley.
| mort96 wrote:
| You can enjoy whatever you want! Your parent comment provided
| PR advice, not a moral judgement on anyone who enjoys any
| piece of art made by unsavory people.
|
| And to be honest, I think you too understand this, deep down
| tacticalturtle wrote:
| I _knew_ this comment was coming on HN.
|
| The answer, as the other commenter suggested, is that I'm
| providing feedback for technical communication.
|
| If your documentation or marketing materials are making me
| focus on unreadable font choices or poor color schemes, it's
| not doing it's job.
|
| Similarly, if your marketing materials are making me think
| about a convicted sex offender instead of your project,
| they're not doing their job.
| bloqs wrote:
| The R Kelly references show a total lack of social/societal
| awareness. remove asap
| mrheosuper wrote:
| Those tech bros should just...stop.
|
| SBC is already cheap enough that you can throwaway without caring
| anything. Stop bloating MCU with....useless stuff.
|
| If anyone suggest me "Python in mcu" professionally, i would
| never be able to trust them again.
| daemonologist wrote:
| The advantage of micropython is that you don't have to deal
| with all the poorly maintained toolchains and UART and flashing
| and whatnot; for a novice working on their own, that stuff is a
| nearly insurmountable barrier. That the syntax is Python
| doesn't make a whole lot of difference.
|
| I agree though, probably shouldn't be the first choice for a
| professional application.
| 01HNNWZ0MV43FF wrote:
| MicroPython's a bytecode interpreter so, other than the
| existing Python ecosystem being a huge boon (popularity being
| a form of strength), you could get many of the same benefits
| and more from wasm
| Rohansi wrote:
| You can actually opt-in to native compilation on a function
| level so it's not just a bytecode interpreter. You can also
| compile it yourself with additional functionality written
| in C/C++ and just use Python for the glue that isn't
| performance sensitive.
| pjmlp wrote:
| If we forget about the pain that most WASM toolchains
| happen to be.
|
| MicroPython, like most BASIC interpreters in 8 bit days,
| also allows for inline Assembly.
|
| As for running bytecode on MCU that is as old as MCU
| themselves, wasm doesn't bring anything to table.
|
| https://en.wikipedia.org/wiki/BASIC_Stamp
| askvictor wrote:
| It's actually a great first choice for a professional
| application, in that you can get a prototype up and running
| much faster than a native SDK, iterate quickly, and try
| things out on a repl. In fact, it's used in industrial
| settings, including in medical devices and energy
| distribution.
| pjmlp wrote:
| We aren't in the 1980's any longer, most of these systems are
| way more powerful than a typical 16 bit home computer, and
| incrediblly as it sounds, those 16 bit home computers still had
| better tooling than most MCUs have nowadays.
|
| Anything that brings MCU tooling into the 21st century is very
| much welcomed.
| pkphilip wrote:
| Agreed. It is really nice to have an OS like this. It will
| get a lot more people involved in the development. I would
| even think of scaling this up to more powerful processors and
| perhaps have it even on smartphones.
| teamonkey wrote:
| I haven't yet shook the feeling I got when I first realised
| my thermostat has more processing power than the computer I
| had as a child.
|
| But also the devices this OS is aimed at will often be doing
| more than those computers were ever capable of, such as
| driving a full-colour display with touch interface while
| running a web server and wireless networking stack.
| nunobrito wrote:
| Look, I'm with you on those critics and my opinion about python
| in general is just "duh" but this project looks good, it is
| easy to write/deploy and looks well documented (need to test it
| out).
|
| For apps that are simple, might be OK. I've done a similar
| operating system which would run C-like scripts (using Wrench)
| instead of python and came with a command line if you wanted to
| shell directly into the device but nobody cared:
| https://github.com/radio3-network/B3OS
|
| At least they've done a far better job in presenting a capable
| operating system and bringing people to move it further.
| imtringued wrote:
| This software stack targets a $17 ESP-S3 board that comes with
| an integrated touch screen, 8 MB of PSRAM and 16 MB of flash.
|
| https://www.waveshare.com/esp32-s3-touch-lcd-2.htm
| travisgriggs wrote:
| I work on the micros that aren't plugged I to a grid. So solar
| and batteries and the like. In that world, power consumption is
| everything. Interrupts and aggressive sleeping of your processor
| are you biggest tool.
|
| Does anyone have any experience with current draw of typical
| pieces of "firmware" using this? I see that it's on the larger
| side of what feels like micro, BUT tomorrows micro has been
| growing heaps over yesterdays micros for a long time, so I can
| ignore that.
| askvictor wrote:
| I haven't used MicropythonOS per se, but Micropython is pretty
| efficient, and can utilise interrupts and sleep modes
| nunobrito wrote:
| Compared to other microcontrollers: ESP32 is very power hungry.
| Shiny displays are very power hungry, Wi-Fi is power hungry. So
| expect to draw about 5 watts/hour continuously while in
| operation with all bells and whistles.
|
| With this said (I'm also using them for off-grid) you will need
| to put them to sleep and only use the display when absolutely
| needed for most scenarios. I've recently started using devices
| with e-paper display which at least solve that nuisance of the
| display power draw:
| https://www.waveshare.com/wiki/ESP32-S3-ePaper-1.54
|
| The last thing to keep in mind is heating. They will warm quite
| a bit and you should consider a way to either keep them cooled
| or make them sleep enough to cooldown, otherwise they will
| reboot or stop working until they are cooled again.
| progbits wrote:
| > 5 watts/hour
|
| Typo I'm guessing, but I found this unit of "energy
| acceleration" amusing.
| nunobrito wrote:
| "Gotta go fast" :-)
|
| In my language we say it colloquially that way, turned out
| wrong in English. Should have been 5 Wh.
| rokkamokka wrote:
| Rather you would say it draws 5 watts. If someone is
| interested in draw over a period, e.g. over one hour,
| you'd say it used 5Wh in that period.
| Leif24 wrote:
| > If someone is interested in draw over a period, e.g.
| over one hour, you'd say it used 5Wh in that period.
|
| Wh per hr? Let's just cut through the confusion and say
| it draws (J/s)Hr / Hr. :P
|
| More seriously, if you are interested in energy the
| "correct" SI unit is J although in electrical
| applications [k/Mega/Giga]Whr is common. If you are
| interested in energy draw over a period, aka power, the
| "correct" and common unit is W. While 5 Wh per hour might
| seem simpler, it is equivalent to say this thing draws as
| much energy per hour as a device that that draws 5W would
| draw over one hour - needlessly redundant.
| nunobrito wrote:
| In the offgrid world we look constantly at batteries and
| they often express themselves in Wh. So it is a habit to
| measure anything else that way to avoid confusions.
| ta988 wrote:
| Depends... do you need wifi, screen and others always on? can
| you wake some on a timer? on user interaction? on interrupts?
|
| https://lastminuteengineers.com/esp32-sleep-modes-power-
| cons...
|
| You can use those sleep modes in micropython as well
|
| https://randomnerdtutorials.com/micropython-esp32-deep-
| sleep...
| cyberax wrote:
| I have a charger "controller" that I developed in MicroPython
| for an SAMD51 board. It can do sleep just fine, as long as you
| set up interrupts properly.
|
| But I just need to do a bunch of ADC readings and some simple
| if/else conditions, so it doesn't require any real non-trivial
| computations.
| shakna wrote:
| As an alternative: MicroHydra [0]
|
| Also, if you hate the REPL app, bug me to fix it.
|
| [0] https://github.com/echo-lalia/MicroHydra
| p0w3n3d wrote:
| "Android-like" term is pejorative these days. What do you mean?
| Closed app store with throwing out old software because so?
| rangerelf wrote:
| If only you'd bothered to quote the rest of the sentence:
|
| "Android-like touch screen UI with gestures"
|
| Could have used also "IPad-like..." or "IPhone-like..." and it
| would have meant basically the same. Maybe author is more
| familiar with Android?
|
| PS: What's with all the outrage manufacturing?
| Citizen_Lame wrote:
| Hidden project members, masked domain info and offshore hosting
| designed to avoid dcma. No thanks.
| fukka42 wrote:
| To most of the world the United States is offshore. Recent
| developments have also made the US unreliable as a hosting
| provider.
| opless wrote:
| In countries other than the USA there are strict controls on
| personal information.
|
| The UK/European countries have GPDR for example.
| Citizen_Lame wrote:
| This has nothing to do with GDPR, but nice try. By default
| you need to provide your details for domain registration, to
| hide these details is optional.
|
| Nothing wrong with that, but coupled with hiding yourself on
| open source project as well and coupled with host which
| proudly advertises:
|
| Dedicated Servers & VPS with DMCA Ignored Hosting
|
| No, thanks. Probably Russkis but still.
| joezydeco wrote:
| Having the support chat on Telegram is really sketchy. No
| thanks.
| opless wrote:
| Actually the entire whois database is "privacy protected"
| because of GPDR (if my memory is correct)
|
| Thankfully, because I used to get postal scams for the
| hundred or so domains I used to host.
|
| You good for tinfoil bro?
| Citizen_Lame wrote:
| I am not your bro, and no you are not correct.
| nottorp wrote:
| But how do you know it's offshore to them?
| Citizen_Lame wrote:
| In this scenario offshore means out of western jurisdiction.
| This is something hosting provider advertises.
| mystralBorne17 wrote:
| A great playground for learning embedded systems, even if not
| ideal for every production use case.
| fxj wrote:
| Does it run on M5Stack Tab5 or the CARDPUTER? Did anyone try?
| AstroJetson wrote:
| Oh that would be cool. The current list of hardware has two
| boards. So the answer to your specific question is "No."
|
| You might want to look at upyOS all it needs is micropython
| running. https://github.com/rbenrax/upyOS
|
| I've added this to my "try someday list"
| q3k wrote:
| Given my experience with micropython's reliability... no thanks.
|
| (in general actively using a heap in a constrained environment is
| just asking for trouble... fragmentation _will_ get you!)
| nomel wrote:
| I've never had a problem, but I use it for microcontroller type
| things. Do you have any GitHub issues related to this?
| tacticalturtle wrote:
| I had a problem with the ESP32 implementation specifically.
| The micropython implementation itself runs as a task under
| ESP-IDF, rather than bare metal, which is the case on some
| other microcontrollers like rp2350. So it doesn't have access
| to the full resources of the board - as a good chunk is
| reserved for IDF.
|
| I had a project where I had would make repeated API calls,
| which returned small to moderate json payloads.
|
| To avoid running out of heap, I had to constantly force
| python garbage collection. That took a long time, so I wasn't
| able to call the APIs on the intervals I needed.
|
| Eventually I gave up and moved to using ESP IDF directly,
| which IMO was super easy to do - Espressif has made a great
| integration with VS Code. If anyone's on ESP32, i would skip
| micropython.
| nomel wrote:
| I don't think that deserves to be categorized as a
| "reliability" problem. I don't think that's _technically_ a
| reliability problem.
|
| Sounds like it was reliable, with the problem being that
| it's much much slower than bare metal (a very well known
| thing), with the microcontroller not having the required
| processing power to service your task in that context.
|
| Dropping into C for performance critical code is something
| you sometimes need to do with python, regardless of
| platform, because it's slowwwwww anywhere it runs. You'll
| always hit a ceiling, and much much sooner on a
| microcontroller.
| spwa4 wrote:
| I wish someone would make a wasm version of this. Should be
| doable and support many more languages.
| sherinjosephroy wrote:
| MicroPythonOS looks like a fascinating concept.
|
| It seems less like a full OS and more like a great
| dashboard/toolkit built on MicroPython. Perfect for getting an
| attractive GUI up quickly on powerful MCUs like the ESP32-S3.
|
| It could be a great prototyping environment
| Western0 wrote:
| nice gui
|
| please make it in SDL3
| Western0 wrote:
| This device no have a power. Your system can run solar panel and
| battery?
___________________________________________________________________
(page generated 2025-10-13 23:01 UTC)