Thanks for the help, @hitachii. I'm hoping to hold onto PA2 and PA3 for pots, so that's why I'm using the DIN pins.
The matrix is a 4x4 trellis, and right now I have just that and a button hooked up to the teensy, which is then sending CC's to the Axo. I essentially have a grid with four sources across the top (LFO1, LFO2, S&H, Mod Envelope) and then four destinations below. The button connected to the teensy cycles through pages (changing the colors of the neopixels in the trellis for reference) and then sends a CC message to the Axo when one of the buttons is pressed.
The Teensy remembers the state per page, and the active mod->target routing is shown on by lit-up buttons on the trellis.
I've hooked it up by sending 32 different on/off CC triggers, but I'm still not sure that it's the most logical way to handle it. I get how to use CC's for values, but I'm less sure what the standard usage is for on/off.
I'm including my master patch which handles the mod matrix and then a subpatch that handles the voice. Feel free to make suggestions, I'm pretty new to this, so I'm sure there are efficiencies I've missed.
full-synth.axp (19.1 KB)
voice.axs (24.5 KB)