Just adding Simon's "prototype". 

@AnalogWeapon The enclosure size in the image is 125B. I think we can pull it of with hammond 1590B which would make it preeetty slick imo. Will buy one and do some testing later with 3D printed fake pcb, hehe.
I think it will be really easy to 3D print something to hold the dome down against the screen that is screwed onto the PCB. The encoder is 7.8mm tall in its "body", so that minus how much the screen builds from the pcb is how far down the dome will go inside of the enclosure. Which is not that much at all, so thats perfect! Maybe just 2-3mm if even that. So just making a hole that is a bit smaller than the base of the dome should solve that.
The LED slider is same as the short one on RR1 btw. 20mm.
Yeah I think the large size of the dome will actually make it easier to engineer something to hold it.
@replicat Step one imo would be to check if the driver in this round screen without touch (GC9A01): https://www.waveshare.com/product/1.28inch-lcd-module.htm
is similar enough to the driver in the screen for R2 (ST7789V2): https://www.waveshare.com/product/1.69inch-touch-lcd-module.htm
So that is work that sort of benefits more than one project when investing in screens.
Other than that it is sort of dependant on if I sent you the audio codec? Otherwise I would argue its smarter to aim at the R2 prototype instead of breadboard. Since all we need to figure out before making a first prototype board is:
And we have RGB encoder, LED slide potentiometer and the codec on the R2 prototype.
So basically if we can just check so the RGB encoder and codec works (and do a pinout for the screen to a RP2350) I am ready to make a first prototype and just skip the breadboard stage.
WaveShare has code examples for their displays, including a C one for Pico. Its documentation is a little confusing, because China. But the code is pretty self explanatory. The weirdest thing with either of those drivers is all the register writes to cryptic things that are required for starting it up. You can dig in the datasheet to see what they do and how they could be changed, but just using/repeating what they do in the examples for initialization, works good.
The demo code is linked at the bottom of the wiki page for the WaveShare 1.28" circular display.
I started typing up a thing about modularizing our code with abstraction layers but realized it might derail this thread. So I made a new topic, Still relevant to this but it should be its own discussion.