Hi! I'm building a control surface for theatre lighting. It'll have three motorized faders, five encoders (without buttons), a keyboard matrix (24 pins), two OLED screens (4 wire SPI), and some SK6812 LEDs for backlighting the keys. I'll also need I2C.

I'm currently trying to work out if I can drive everything through one Teensy 3.6. I'm running right up against the number of pins available, and I've a few questions:

1. For capacitive touch sensing (to see if someone is touching one of my three motorized faders), do I need to just connect one capacitive touch pin to the relevant pin on the fader? Or do I also need a second GPIO pin connected to the same fader pin with a resistor? I've seen guides online that say both things. Which is right?

2. For my motor control on the faders, can anyone recommend me an H bridge circuit that would allow me to control both speed and direction, but minimising the number of pins used? (I know the naive solution uses two pins for direction and one PWM pin for speed.)

3. For my SK6812 LEDs (there'll be about 120 of them), if I were to drive them using DMA (similar to the OctoWS2811 library)… could I just use 1 or 2 DMA pins, or does DMA require you keep the group of 8 pins (for 8 bits) for dedicated use? I can't spare 8 pins to run my LEDs.

4. The pin that's connected to the internal LED…*is that safe to use for other uses? I have a power LED on the facepanel I'd like to drive, I assume there'd be no issue having it turn on at the same time as the internal LED?

5. Are there any other pin conflicts I should know about? (i.e. "if you use pin X for doing Y, then you can't use pin Z for anything.")

The fallback option for all this is to use multiple Teensies communicating over I2C. There's actually a good reason why I might need to do that anyway (my device eventually needs to be able to function as two separate USB devices)… but if it's possible to get everything on the pins of one Teensy, I thought I'd try to do so in the first instance.

Many thanks for your comments!

Amy