I'm looking for a part that enables a user to frequently change a configuration. Right now I'm utilizing a SMD DIP switch connected to an I2C I/O expander.
What bothers me is the large footprint of these components (DIP switch combined with IO expander IC) as well at the rather tedious user interface. Are there DIP switches or something that serves the same function that I can talk to over a digital bus like I2C to read its state?
I'm also open to completely different approaches. All I need is something that can be mechanically altered in a permanent way and allows at least 64 different states. It is important that the configuration can be made when the circuit is not powered up and provides visual feedback of the exact configuration to the user. The only way where it would be ok to power up the circuit is if the configuration and visual feedback is self contained without the need for control from a microcontroller or SoC.
The question is somewhat related to this question from 6 years ago: DIP switch replacement
Edit: There are some great suggestions in the answers and I think I leave this question unanswered, community votes should decide what is helpful and what is not. If you have the same issue as I have, look through all the answers.