I have read the topic Encoders on MCP23017. Really nice idea and very fancy. This can solve much problems with soundcards != hifiberry…
I also had much talks at Maker-Faire-Berlin last weekend about getting a Zynthian. Most people said that they would like to get a kit, but don’t want to solder any PCB (Yes - most of us know: this is not as complicated as it seems). Also they are afraid about the bunch of connections to make. Altogether it looks more complicated as it might be.
I have been thinking about solving this complexity over the last year: A year ago I tried to use the encoders via Arduino instead of using the GPIO pins of the RPi. I connected the Arduino itself via USB(-serial) to the Zynthian and implemented a small and hacky patch for the zyncoder-library. The code for getting the turn-direction of the encoder was stored in a Arduino sketch. The Arduino was only sending:
B1:ON\n(Button 1 pressed)
B1:OFF\n(Button 1 released)
B3>\n(turning B3 on step to the right)
B3<\n(turning B3 on step to the left)
Yes - there is nearly the same problematic like soldering the PCBs - but the input section is more encapsulated and can be created as one module on one PCB. Only one USB cable would be necessary for connecting the whole encoder PCB to the rest. And the Raspi doesn’t need to catch interrupts from the GPIO anymore.
A slightly more enthusiastic approach would be a bidirectional protocol, which supports LCDs… or uses OSC as a (bidirectional) protocol. The absolute nicest way (for me) would be to use a preprogrammed display like a Nextion (this would implicate a complete rewrite of the UI… not really realistic at the moment).
… only my thoughts. What do YOU think? Is it worth to think/talk about this? Perhaps as an addition to the current encoder usage?