Trying MicroPython Again This Time On Raspberry Pi Pico W
I've borrowed a Raspberry Pi Pico W for experimentation. I've verified it could easily integrate into Home Assistant via ESPHome. (Which is now somewhat misnamed as it works for more than just Espressif ESP chips...) For my next set of Pico W experiments I decided to give MicroPython another try. I tried MicroPython earlier on an ESP8266 and it was not all smooth sailing. Looking for an existing solution to my problem was actually the reason I stopped my MicroPython experiment and found Home Assistant and ESPHome! So this is sort of coming full circle.
The main reason I wanted to give MicroPython another try was the fact Raspberry Pi foundation listed C and MicroPython SDKs side by side as software development platforms for Pico and Pico W boards. This implies MicroPython is treated as a first-class citizen and supported directly from the source. Will actual reality live up to this implication? I don't know yet but I'm willing to find out. This is also why I'm trying MicroPython before investigating Adafruit's CircuitPython for the board. As much as I love Adafruit, direct manufacturer support is very compelling.
The obvious criticism of MicroPython is runtime performance. I will have to see how much of a problem it would actually cause for my projects. I'm cautiously optimistic runtime performance will not be a hindrance for two reasons. One, hardware peripherals can handle most performance-critical tasks asked of a microcontroller, and that will largely be the same whether overarching high level application code is in C or in MicroPython. What if there isn't an applicable hardware peripheral on the RP2040 chip? That leads to the second reason: RP2040's programmable input-output (PIO) capability. Proven to be adept handling tasks that would otherwise need to be written in low-level interrupt handler code, if it can be implemented that way at all. Sounds like a potentially fun playground to see if reality lives up to theory. I'll start with the PDF published by Raspberry Pi to guide curious Python developers to Pico W.