MicroPython v1.25.0
I find it interesting that MicroPython's `re` module[0] is implemented with a backtracking regular expression engine from re1.5[1], instead of one of the linear-time engines from the same library. (Russ Cox covers the various engines in the excellent blog series[2] which re1 is a companion to.) I figure the choice was made due to binary size or memory constraints, though they're all quite small.
[0]: https://github.com/micropython/micropython/tree/master/lib/r...
I'm a bit confused about the Pyboard. Do people buy Pyboards instead of ESP32 in order to support the project, or because they are more featureful, or both? Why does the Pyboard have a CPU in addition to the microcontroller, does the microcontroller only deal with IO?
offtopic I am curious anyone tried using micropython to replace CPython o x86 servers?
I want to integrate MP to my project. The core FW is still in c/cpp, but the UI/UX and some logic could be done in Python. But i feel like MP want to be the center of FW.
Lots of cool improvements.
Seems pretty cool. As someone who never did anything on such low specced hardware (so not knowing if it's truly comparable), I also found http://www.ulisp.com/ quite interesting to look at.
[dead]
Background for folks that are not into MicroPython. This release is so important because MicroPython is almost completely able to replace lower level languages like C for many embedded use cases on the RP20[45]0 and ESP32 and other MCUs at this point, being very solid, fast enough (and thanks to Viper and inline assembly abilities even super fast for critical code paths), portable across MPUs (super important: you can change MCU without rewriting everything), has very good support for SPI and other protocols, and so forth. But... the problem is, before this release MicroPython suffered not the CPU shortage, but RAM shortage: the bytecode needed to stay in memory, and once the program becomes big enough, memory is the bottleneck that limits the project size. To avoid that, you could build your own MicroPython binary with your frozen bytecode inside, in the device flash part, but... if I need to rebuild MicroPython part of the advantage of using it is gone (super fast development cycle is one of those). Well, now, with ROMFS, this is no longer true, MP itself is able to store bytecode in the device flash and execute from there. This makes MP a lot more practical for large embedded projects.