Skip to content

Version 1.0.0 - MicroPython 1.23.0

Latest
Compare
Choose a tag to compare
@Gadgetoid Gadgetoid released this 12 Jul 13:13
· 6 commits to main since this release
e3615b5

⚠️ Warning: Due to a filesystem version change in MicroPython, flashing these builds will erase your files, back up your PicoSystem files first ⚠️

To say a lot has changed in MicroPython since PicoSystem v0.1.3 might be something of an understatement. It's been almost two years and MicroPython has seen over 2.3k commits.

What does this mean for PicoSystem? Not actually all that much in practice, but it's given us the opportunity to undo a lot of hacks and make PicoSystem a lot easier to build and maintain. We've also made it better and hopefully more stable. The vast majority of changes to this end were made in #104 and include:

  • Bump to MicroPython v1.23.0
  • No longer based upon a downstream hack of MicroPython, PicoSystem is now just a regular C/C++ module
  • boot.py now imports picosystem and makes all of its methods globally available by adding them to builtins
  • We now use MICROPY_BOARD_DIR and have a local board definition for PicoSystem, makes full 15MB (16MB - 1MB firmware) available
  • Many small tweaks to avoid heap usage and increase stability
  • Fixes to init() so you can call it twice, thrice, many times without it exploding
  • Added the C++ memory shim module, catches any rogue C++ allocations and redirects them to MicroPython's heap
  • Display buffer is now allocated in C, MicroPython automatically takes up any free RAM for its heap
  • "with examples" builds now use a pruned LittleFS filesystem, so you can flash them with a 2.2MB .uf2 rather than a 32MB .uf2 😱
  • Many quality of life and CI tweaks to bring PicoSystem up to date and make it easier to maintain

What's Changed

New Contributors

Full Changelog: v0.1.3...v1.0.0
MicroPython Changelog: micropython/micropython@v1.19...v1.23.0