Pico Explorer use with CircuitPython

Wondering if there’s any general CircuitPython support for the Pico Explorer. Yes, it’s just a RP2040, so you can program it in CP but support for the peripherals seems to be the issue. I’m guessing accessing the buttons, the I2C via Breakout Garden connectors, the Motor Drivers and the Piezo should work. Also, there is a ST7789 lib on CP and I’m guessing that may work for running the display. Would be nice if there was a dedicated CP library for accessing everything. Has anyone attempted to program the Explorer with CP? Any main problems and any hints? Thanks.

What do you mean with “everything”? The display and the motor-drivers are the only hardwired component on the board and I am sure the display will be supported by the ST7789 driver. CP has support for about everything around with 400+ libraries. So depending on what you attach, you need to add a suitable library to your project.

That is certainly different to what Pimoroni does: they have a special MicroPython build with drivers for all of their components baked in. This is not possible for CP, there are just too many supported components around, so the user has to choose which library to add.

It is possible to build your own CP-variants with special drivers already builtin. This is not very complicated, Adafruit has a well written guide for that. But given the fact that installation of additional driver-libs is so simple with CP, it is probably not worth the effort for the Pico Explorer.

Ok. Yes, I agree, it should be possible to just use the existing CP libraries and build up your environment within CP to access at least most of the peripherals. That’s the path I’m going to try and see if it will work. Just checking to see if anyone has already traveled this path and had anything to share. I’ll post back what I find. Appreciate your reply. Thanks.

I think there might be a screen example in the CircuitPython library / examples bundle to start you off - look for st7789_240x240_simpletest_Pimoroni_Pico_Explorer.py :)

I usually use CircuitPython. I find it especially simple to use, since there are so many guides around which give you very basic examples (like the simpletest-example that @hel linked to) from which you can start to build your own solutions.

What I usually do: copy some example and add stuff. Then I run circup (which you can install using pip). Circup is a cool tool since it analyses your code and downloads all necessary libraries your code needs. It also keeps the libs up to date when new versions come around.