Hi all, first time posting here.
I wanted to offer some feedback on the Explorer RP2350. I bought the kit version from Microcenter and have been playing with it.
First off, hats off to the PCB designer. The PCB is gorgeous and sturdy. The screen is a good size, bright and crisp – and connected in parallel so high refresh rates should be possible (more testing to be done here). I appreciate the variety of I/O options.
I’m an embedded systems engineer and I’ve shipped products with firmware written entirely in C/C++; I have experience with Python but I’ve never used Micropython and wasn’t expecting to use it on this board. But it came factory installed with the Micropython core + board demos and so I ended up playing around with it. I was surprised how much I liked it. So, good job on the factory firmware and Micropython support as well.
I’m still getting used to the inline 100 ohm resistors on the GPIO header. I can see the argument for it in a product made for beginners – preventing them from accidentally shorting or otherwise pulling too much current from the pins. I do wish it had been called out somewhere more visible than the schematic – the only reason I noticed is because I found it while searching this forum for previous discussions of the board.
My main criticism: the support for C/C++ is basically non-existent. The product page calls out that it can be programmed in C/C++, and while this is technically true, Pimoroni has not provided any resources to figure out how to do that. Even after digging through the explorer github repo, it wasn’t clear to me how to build the factory firmware, or anything else, for this board. There is no C/C++ board support package or examples for this board.
Thankfully, others before me have faced this issue and somewhat solved it. There is a 3rd party Arduino IDE package if that’s your environment of choice. You can program it with the pico SDK set to vanilla RP2350 for barebones firmware, or you can bring in the pimoroni-pico SDK to unlock their ST7789 driver and graphics libraries. It was definitely not a straightforward process getting it up and running, probably beyond what a novice could figure out even with the instructions in the forum thread above, and requires some CMake finagling and git knowledge to set up properly.
Maybe the 3rd party Arduino IDE package is more straightforward – I haven’t tried it yet – but I’m a bit disappointed by the lack of basic C++ support here. Even the older Pico Explorer Base (RP2040) has a C++ example project with somewhat fleshed out explanations of the code (TODO’s notwithstanding), as well as a pin mapping header.
Overall I’m loving this board and can see myself using it for both quick Micropython idea sketching and more refined C/C++ test code, with live updating info on the screen. I’m elated that I got the C++ side of it working, and the lack of a ready-to-go C++ package is definitely not the end of the world for me personally. It seems like they really did the work going above and beyond with the hardware, a thoughtful kit, and well-designed Micropython library but stopped short of supporting easy C/C++ development or fleshing out all the features of the kit in guides.
Speaking of which, I would also like to lobby for more guides, even if they are in Micropython. The one guide online is fun and useful, and I’d love to see more, using the rest of the features on board and getting into the components included in the kit. For now I will “explore” on my own :)