Many (simultaneous) touch sensors?

So I’m wanting to build a DIY MIDI controller that is something between the Snyderphonics Manta and a Tocante.

Manta:

Tocante:

I’ve attached a rough sketch of what I have in mind, but it’s basically a combination of various types of continuous controllers, most of which are touch based.

At the moment, I’m thinking of using a Teensy 3.6, as I’ve used Teensys before, whenever I want to do USB-MIDI.

I have a few questions about doing something like this.

  1. Is the capacitive sensor on the Teensy (or in Arduino-land in general) “analog”? As in, do you get values between 0 through whatever in a continuous manner based on how much skin is touching, or is it simply on/off (touched/untouched)?

  2. If it is analog, do you get the full analog ADC (13-bit) resolution from the touch pins?

  3. Is it possible to have “digital” touch pins that can only tell on/off state (more simply than “analog” pins), by using digital I/O?

  4. Can you touch multiple touch pins at the same time and get separate readings for each? (ala capacitive “multitouch”), or do the values for simultaneously touched pins change based on how many pins are being touched?

  5. Is it possible to multiplex capacitive inputs? As in, how does one go about getting more than 11 capacitive inputs (as per a Teensy 3.6)? What I have in mind uses 52 analog inputs, 44 of which would be touch sensors (though 24 of those could be binary on/off ones). If so, how?

With capacitive sensors typically the charge/discharge time is measured. The higher the capacity, the higher the time to charge the cap. This requires that the sensor plates are isolated, so that the finger resistance can not cause a shortcut between the plates. Coating the surface with non-conductive lacquer should work, and it protects the plates against sweat and oxidation.

Multiple capacitive sensors typically are arranged in a grid, and the capacity or crosstalk is measured between every row and column, in multiplex. Then the skin resistance, between the fingers, may cause inaccurate readings when multiple sensors are touched at the same time.

You may want to use a dedicated capacitive keyboard chip for best operation - find out yourself. These chips can determine better the analog threshold voltages, to determine when a cap is considered charged and discharged. Or they can feed a pulse into a sensor row, and check for a significant response on the columns.

DrDiettrich:
Coating the surface with non-conductive lacquer should work, and it protects the plates against sweat and oxidation.

Hmm, so having tape or some kind insulator would make multiple touches possible, or are you saying isolation as a general "best practice" kind of thing?

DrDiettrich:
Multiple capacitive sensors typically are arranged in a grid, and the capacity or crosstalk is measured between every row and column, in multiplex. Then the skin resistance, between the fingers, may cause inaccurate readings when multiple sensors are touched at the same time.

There's the Madrona Soundplane prototype, which uses something like what I believe you're describing.

Although I've never played one, my understanding is that the resolution and latency is absolutely amazing on the Soundplane, but this is far beyond the scope of what I'd be aiming for.

DrDiettrich:
You may want to use a dedicated capacitive keyboard chip for best operation - find out yourself. These chips can determine better the analog threshold voltages, to determine when a cap is considered charged and discharged. Or they can feed a pulse into a sensor row, and check for a significant response on the columns.

Hmm, I hadn't thought about that at all. Would solve some of the I/O problems for sure too.

I guess I'm still unsure about questions 1 and 4 though.

It's clear there is some thresholding going on to determine whether or not something is being touched or not (charged/discharged), but does that just got a 1 or 0 based on the state of it (in a usable/functional sense)?

And with the Teensy, or a dedicated capacitive keyboard chip, are you then able to touch multiple points simultaneously and get usable readings from all of them?

There exist many ways for constructing input devices, I cannot help you further. You better ask the constructors of the presented devices, how they did it all.