Plasma2040 + WS2812B RGB LED Matrix + extra buttons

So… I have pieced together the Plasma2040 and a 32x8 WS2812B matrix.
I have created myself a basic font @ 6 led high, and varying widths…
It is all working and displaying fine. It uses digitalio, neopixel and adafruit frame buffer.

So now I wander into the stupid question territory!!
I am making a Robot Wars / Battlebots fight timer. It starts with quick intro text, fight sign, countdown clock, cease sign. All good. Currently I am using the onboard buttons to do start / reset / pause, etc.
I want to break out the buttons so they are quicker and easier to hit - I think using SWC and SWD. But stupid question, do I just connect this via a button to ground? And then pull it up in code? I assume this is the case, but having never done this before… I thought I would ask!

Second less stupid question. I want to either add a buzzer, or perhaps small non amplified speaker into the mix. I have seen a tutorial / article on this:

In this they assign GP15 to be PWM, and then send a frequency through it. Easy.
So would I be correct in using one of the A0,A1,A2 pins for this?

Also, any ideas, tips, thoughts that might make my process better - gratefully received.
Thanks, N


Small Note - Yes the Galactic Unicorn would have been better and easier for all this!!! Two things that factor. Cost - This way costs about £20 rather than the GU at £60… Secondly, I wanted the lower pixel number for the typical effect people use in pixel frames, etc.

Fair warning I don’t have a plasma2040, that said
If I understand the naming conventions and schematic correctly, SWD, and SWC are debug pins (similar to the basic pico SWDIO/SWCLK pins), so not controllable from the software side.

the A# pins are are analog so aren’t accessible for PWM, however SDA, SCL, and INT, should all be PWM capable, and are definitely software controllable.

for your other question, yup button wiring is exactly as you describe, pin pulled high to one side of the button, ground to the other, detection is button active if it reads low for normally open buttons (99% of all made) or if you have a rare interrupt style button, it’s active when it reads high

Yes, silly me… its SWC and SWD not SW_C and SW_D !!! So they are really: SWCLK SWDIO
So the A# pins I can use for the buttons - GPIO26/ADC0, GPIO27/ADC1, GPIO28/ADC2

I2C_INT - GPIO19
I2C_SDA - GPIO20
I2C_SCL - GPIO21
Which on the normal PICO relates to PWM, GPIO, PIO and other bits.

Alright - let me start there then! Oh and find a buzzer in my box!!!