Hi Frank!
First, I just want to see if I understand what you want to do correctly. Do you want to use a combination of multiple external switches (or remote-controlled relays) to set which pattern is active (e.g. the state of 4 switches selecting one of 16 patterns)? Or was it that there are 4 independent sensors/switches/events and when any is activated, it should advance the pattern to the next one? Or were you saying you want to wire up a switch to advance through 4 different patterns, but the problem is the switch isn’t momentary like the built-in button is?
I’m thinking that all are possible without tapping into the extra IO of the sensor expansion board, but I’d like to understand a little more before I recommend an approach.
There are a total of 5 GPIO inputs and 1 ADC input accessible on Pixelblaze v2+, and the first one (GPIO0) is pre-connected to a momentary pushbutton. Temporary presses will advance the active pattern, and long presses activate WiFi setup mode, which limits GPIO0’s overall applications for general purpose input.
The other four GPIO pins are exposed via pads on the underside and can be read as high or low within patterns. Since you’re driving SK9822s, you’ll have access to all 4 (with WS28xxs, one of these GPIOs is reserved for driving them) So, if you wanted to select a specific pattern based on events or the combined states of these four inputs, you could write the code for several patterns all within one pattern and select which one is rendering based on the results of the four digitalRead()s. In this way you can code closer to what you probably would be doing on an Arduino, such as detecting states, edges or debouncing.
The time when I would then incorporate the expansion board is when I need the 5 additional ADCs, which can also be used to read high/low logic level inputs.
I didn’t follow exactly how the various quantities of Teensies were being connected to various inputs, but if you can say a little more about the specific sensor/switch inputs and their desired effect on pattern selection, I’m sure we can figure something out to help you!
Take care,
Jeff