Comment by daemonologist

9 hours ago

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.

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.

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

  • 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

  • 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.