Thanks for your pimoroni [1] work as well, I've used quite a few products and they're always easy to work with because of good software and examples.
Recently I've updated these with a new "Upside-down" view to complement the rear view, giving a pinout in the right orientation to match your project.
The Pico sites are all hand-coded single HTML pages with supporting CSS and minimal JS. They are set up to optionally install as a "Desktop" web app. They also degrade into a somewhat usable table in lieu of CSS and use vector graphics (for the board itself) to be viewable and printable at any size.
Finally, hidden behind "Advanced" is a pinout of the test pads and special function pins!
[1] - https://web.archive.org/web/20130505194305/pi.gadgetoid.com/... [2] - https://pico.pinout.xyz [3] - https://pico2.pinout.xyz
Thanks for your pimoroni [1] work as well, I've used quite a few products and they're always easy to work with because of good software and examples.
At least that's my main pain point when working with microcontrollers. They give you like 20 pins and you plan out all the functionality and then it turns out that one of those pins is like an EEPROM pin that needs to be low at boot or linked to something else internally or some shenanigans like that and the idea is actually completely impossible to implement (looking at you ESP32-CAM lmao). Or PWM channel conflicts that set some specific sets of pins to the same frequency and the like. It would be such a great workflow step to be able to verify if something would theoretically work given the known limitations at least.
Microcontrollers are like if a PC had 4 USB ports and if you used two of them the third and fourth just stopped working cause nobody intended all four to be used at the same time. Absolutely maddening.
I keep a slightly modified version of it as a top comment in my main C file in every pico project. Super handy for quick reference and you can annotate it with the actual uses in your project.
Bonus points if it could generate example initialisation code for the selected pins on the fly or maybe even an example snippet of code to get the peripheral going.
I’m currently failing to not build STM32Cube for Pico though, the idea keeps gnawing away at me. There are some idiosyncrasies that my micro site doesn’t quite capture. Though perhaps it could.
And code gen is something I'm looking at with the RP2350A pinout [2] where the JSON export would allow someone to plug it into any tool they like. (KiCAD symbol gen, C/MicroPython init code, etc)
It's difficult to strike a balance between features/minimalism but I'm increasingly drawn to the idea of a full (STM32Cube-like if you're familiar with it) configurator for Pico/RP2 based boards.
(very beta website)