Replace capacitive sensor board with matrix of e.g. Cherry keys?

Hi,

I have an electronic musical instrument which I am considering modding. It has a cap-sense board for many of its switches, which makes it cheaper to produce. Unfortunately the touch-sensitivity is inconsistent and I would like to replace the board with mechanical switches.

I wondered how plausible this is, not having much experience in this area. My idea is that the cap-sense board could be treated as a black box. If I can power it and read its output using an arduino for example, and replace it with a matrix of mechanical keys which outputs the same signals, then the instrument's processor would be none the wiser. The cap-sense board is connected to the instrument's PCB via a ZIFF-type connector.

Any thoughts on where this is on the scale of straightforward -> impossible?

First of all you have to locate the on-board processor for the capacitive switches. If this is a dedicated chip, get its data sheet and find out what your Arduino has to send for the pressed Cherry keys. Then cut off that chip and let your Arduino jump in instead.

To be clear, I don't want to replace the existing chip in the instrument with an Arduino. I thought an Arduino might be useful for analysing the output of the capactive touch sensor board, if I unplug it and connect it to the Arduino instead. Then, if I can emulate the output of the sensor board with a set of mechanical keys, I could connect them to the original PCB in place of the sensor board.

I cannot imagine how an Arduino could simulate capacitive contacts.

Ah, I think you misunderstood my post. I proposed connecting the capacitive board to the Arduino to analyse the outputs from the board when the touch pads are pressed. Then trying to reproduce those outputs using a matrix of mechanical keys. And ultimately, replacing the capacitive board in the original circuit with the mechanical keys. The Arduino would be used for the analysis stage only.

What I'm not clear about is how easy it would be to read the output of a capacitive board, and how easy it might be to reproduce the same outputs using mechanical keys - including key combinations.

Have you ever tried to replace a capacitive sensor by a mechanical or electronic switch with your device? That's my primary concern with your project.

What I'm not clear about is how easy it would be to read the output of a capacitive board, and how easy it might be to reproduce the same outputs using mechanical keys - including key combinations.

Only you can answer that by doing some investigation. At the very least you need an oscilloscope, adding a logic analyser would be a big help. Common interfaces are serial; if its serial I'd say the job is easy, you just intercept the data and send it to the Arduino serial monitor, work out what it is for each key press and replicate that. It might be I2C or SPI, in which case I'd say still possible to read and replicate, or it might be something proprietory, in which case you are in for some head scratching.

Have fun and please report on what you find.

PerryBebbington:
Common interfaces are serial; if its serial I'd say the job is easy, you just intercept the data and send it to the Arduino serial monitor, work out what it is for each key press and replicate that. It might be I2C or SPI, in which case I'd say still possible to read and replicate, or it might be something proprietory, in which case you are in for some head scratching.

Have fun and please report on what you find.

This is the kind of info which will help speed up the process, thanks! How might I work out which kind of communication protocol is being used?

Do you own an oscilloscope? I'd say this is very difficult without one.

You need to identify which wires on the interface do what; find the power wires, probably 0V and +5V or maybe +12V. You can do that with a multimeter. Monitor what happens on the remaining wires when you press a key, you are looking for some activity then you need to identify what that activity represents. However, familiarity with serial, I2C and SPI data would make identification easier. The only way you will get that is to monitor some known signals and see what they typically look like. Would think that if you posted oscilloscope traces on here then I or someone would be able to give you a good indication of what kind of interface the most likely come from, got to be worth a try anyway.

How many wires are there?

Hi, yes I do have an oscilloscope. The instrument case isn't open at the moment but I will take a few pics and post here when I take it apart again.

LemmyC:
Hi, yes I do have an oscilloscope. The instrument case isn't open at the moment but I will take a few pics and post here when I take it apart again.

To be clear, while photos of the inside of the kit might help, what I really want to see is oscilloscope traces of the data from the capacitive sensor board. From those traces I, or someone, might be able to tell you something about the data. Might.

My #1 still is valid. If the sensor board has its own controller, then the communication between that controller and the main board should be hacked. If that sensor controller is on the main board, my previous description applies. And if no such dedicated controller exists, you better drop that mess.

PerryBebbington:
To be clear, while photos of the inside of the kit might help, what I really want to see is oscilloscope traces of the data from the capacitive sensor board. From those traces I, or someone, might be able to tell you something about the data. Might.

Yes sure. It's a speculative exercise at this point. It will be interesting to explore it anyway even if it doesn't come to anything. I have ordered a ZIF adaptor so that I can breadboard the capacitive sensor board. I'll see what I can discover.