Hi folks,
I am planning to build a massive reto-synth inspired midi controller with a whopping 176 rotary encoders (not potiometers) and 32 toggle switches, plus a few other bits and bobs.
I have been researching options for this for a while and come up with two general architectures:
Option 1
Distributed processing with Teensy Master and 3 ESP32s with multiplexer arrays to handle encoder inputs. Basically, each ESP would process 64 encoders and switches, and pass the information to the teensy over UART packages.
Option 2
A teensy with chains (three sets of 22 deep!) of step registers 74HC165 (DIP-16) to gather the digital inputs from the econders and switches and process in one heap.
The first option may provide a little more flexibility in pre-processing, and I think the ESP32s should handle 64 encoders and the switches sufficiently quickly, even though they are processed sequentially.
The second option seems to be more efficient, as all encoders and switches read at every cycle.
The design will benefit from the fact that it is only humanly possible to move two encoders or switches as a time, so we are not talking fast changing data here.
Does anyone have experience in creating massive pools of digital input devices? If so, what are your thoughts and tips of both or either of these two approaches?