Thank you for the reply Simon.
My encoders are a little different from you r diagram - they have a +5 and GND on them - 5 pins.
The switch does switch to GND, the same as your example.
I mean that when you operate a switch, the GND on pin 5 is connected to pin 4 and lowers the voltage to zero. Example, button 2 is connected to pins PB3, PB4 and PB5 on the expansion board, where PB5 is the switching signal.
To be fair, I have basically copied the wiring from the sugegested ‘Hat’ example in the documentation (Picture below).
I have tried address 21 on the board today by shorting the links, but it stopped all functions when I did this.
If I run the gpio i2cd command, I can see the GPIO board on address 20, so I think that I have comms to the expander board working.
I think that my hardware is connected ok, but the software is not configured properly and I don’t know how to edit it yet.
I’m ok with arduino software editing, but have not touched the rasp pi.
I currently use microsoft visual studio code for arduino / 3d printer firmware editing, I don’t know if I can use this for the PI?
Do you have any tips or links for how to edit the synthian firmware files? I downloaded a ready prepared link for an SD card initially, but it seems that I might have to start editing.
Once again, thank you very much for taking the time to reply and trying to help - it’s very much appreciated