I substantially wrapped this up a couple of weeks ago, but kept tweaking it a little here and there. It’s time to declare it done, or at least as done as an experimental project can be. GitHub repo below.
First of all, kudos to @torwag for coming up with the notion six months ago in this thread. Alas, I didn’t find that until after I “rediscovered” the conclusion that a bog-standard MicroPython RP2 build would work just fine on the BP5. Fortunately I didn’t waste too much time on this, and there are some advantages to compiling a custom build, ranging from minor to significant.
While there are several ways one could make MicroPython work with the BP5, this experiment took the path of least resistance. I took advantage of the applicable built-in device classes of MicroPython, and didn’t do any customizations other than MicroPython classes to represent the BP5 and its various interfaces. These are basically wrappers to the build-in interfaces to deal with unique aspects of the BP5 hardware. There are a few missing interfaces, like I2C and the NAND flash memory. This details will be forthcoming in an article I’m wrapping up this week.
This is not meant to be a ready-for-production project, but just an experiment to demonstrate MicroPython on the BP5. If this seems promising to folks, we can discuss here on these forums or in the issues of the repo what would be the best path forward. I have several ideas in mind.
-Chris “The Stumbler” Lott
Sacheon City, South Korea
GitHub repository:
https://github.com/thestumbler/buspirate5-micropython-experiment