How does Launchpad work?

Hi,

I want to make a launchpad-like button-matrix.. it should be velocity-sensitive just like the launchpad is..

I have learned, that the velocity-sensivity could be made with piezos
.. but when I look on a launchpad-PCB i wonder, how did they do it? ..

launchpad-pcb

.. i mean.. i see no peizos here (?)

are there other ways to achieve this`?

AdmiralCrunch:
Hi,

I want to make a launchpad-like button-matrix.. it should be velocity-sensitive just like the launchpad is..

I have learned, that the velocity-sensivity could be made with piezos
.. but when I look on a launchpad-PCB i wonder, how did they do it? ..

launchpad-pcb

.. i mean.. i see no peizos here (?)

are there other ways to achieve this`?

It's just a guess, but i think the buttons will change the resistance between the 2 circles on the pcb that form a button the pcb, and the faster the resistance changes, the higher the velocity.

aaaaaaaaaaaaaaaaaaaaaahhhhhh :slight_smile: .. I think that is a very good point .. thank you very much :slight_smile:

thinking about your solution I ask myself, how would I measure how fast the resistance change..
are there special techniques or maybe libarys? .. how would I code that?

how would I measure how fast the resistance change

By using an analogue input and taking several measurements one after the other. Then looking at those measurements and seeing how fast they change.

While you can get a bit of velocity sensing like this it is not very accurate and you can't do it for a matrix. I have no idea how good the launch pad is. The real way for velocity sensitivity in a switch is to have a break before make change over switch and measuring the time between break and make.

Alternatively you can have two switches arranged so that one makes with less of a stroke than another and time that difference.

Finally you could have a force sensitive pad that the key lands on.

This is not the sort of thing you can do as a beginner.

Grumpy_Mike:
By using an analogue input and taking several measurements one after the other. Then looking at those measurements and seeing how fast they change.

hmm so I would need to measure all time long? .. i mean.. every button could be pressed at anytime..

Grumpy_Mike:
While you can get a bit of velocity sensing like this it is not very accurate and you can't do it for a matrix. I have no idea how good the launch pad is. The real way for velocity sensitivity in a switch is to have a break before make change over switch and measuring the time between break and make.

The launchpad is pretty good at velocity-sensivity.. the approach with the break, I did not understand :confused: .. could you explain the part with "have a break before make" ?

Grumpy_Mike:
Finally you could have a force sensitive pad that the key lands on.

yes I already had a look at those.. but I need to illuminate the button with a RGB-LED.. and as I can't make a hole in the middle of a sensor-pad, I can't use them (or is there a way to use those pads AND illuminate the overhelming button)

i mean.. every button could be pressed at anytime.

Yes so that means you have to read all the buttons all the time. That is how all keyboards work.

could you explain the part with "have a break before make" ?

This is a slide switch but it applies equally to a plunge switch, to time the portion where the switch is not connected to anything. The lower switch is the break before make, the upper a make before break.

and as I can't make a hole in the middle of a sensor-pad, I can't use them

You put the light in front of the sensor with the plunger going round the light.

This project of mine Hexome does not have velocity sensitive switches. It could be converted to velocity sensitive switches by wiring up the two switches each side of the light separately. Then put a notch in one side of the plunger tube so that on a key press one switch is triggered just before the other and timing the difference between the two contacts. Or you could fit the pressure sensor round the light in place of the switches.

How about sending a the signal over a cap? The steeper the flank, the mor should be transmitted. Do a sinulation to check if this is feasable and what values are a good choice.

Does the launchpad have velocity sensitivity? I see that listed only for the launchpad pro...

ElCaron:
How about sending a the signal over a cap? The steeper the flank, the mor should be transmitted. Do a sinulation to check if this is feasable and what values are a good choice.

Sorry, I don't get i´t what you mean. Can you explain?

westfw:
Does the launchpad have velocity sensitivity? I see that listed only for the launchpad pro...

Yes. I have one of the first launchpads released, and it has velocity-sesitive pads.

@Grumpy_Mike
thank you for the explanation :slight_smile: .. I will have think, read and experiment into this.. by the way.. dude, awesome project you have there! :slight_smile: .. I'm at work right now, so i only could have a quick at it.. did you make the buttons on top on your own? or did you buy them?

did you make the buttons on top on your own?

Yes laser cut / engraved acrylic.

I just found these QTC-Pills (Quantum Tunnelling Composite) .. as these are pressure-sensitive and conductive.. one could use these instead of common conductive-pills under the a button(?)

what do you think? has someone experience with them? I also can't find a place where to order them :confused:

Get them here
QTC Pills
But I don't know why they are any good for what you want.

Grumpy_Mike:
But I don't know why they are any good for what you want.

I thought about using them instead of the common cunductive pills under my silicone button-cap

But they don't get you any closer to a velocity sensitive key. In fact that are quite the opposite.

Grumpy_Mike:
But they don't get you any closer to a velocity sensitive key. In fact that are quite the opposite.

hmmm? .. i thought QTC could be used to measure of pressure? oO ..

.. but I saw now some tutorials, people making simple pressure-sensors o thier own, so I think you right but that makes me confused :smiley:

anyway.. i took a look on how the NI maschine does it, and it uses those
pad-sensor-sheet

how does this work? .. i mean, i see no wires or something?

It sits on top of a PCB with a track like interlocking fingers. You push the top and it makes the conducting black area short out these fingers. Again not velocity sensitive.

hmmm??.. you confuse me.. oO .. i mean.. the NI maschine is velocity sensitive

I don't see anything in the PCB photo posted that would allow "velocity sensing" via traditional methods (which usually involve two contacts, and you measure the time between them.) Clever firmware might get some idea by using an A2D converter, or by detecting differences in bounce patterns, especially if it only does "some" velocity sensing.

Do you have any idea how many different velocities are actually reported? It's a MIDI device, right? So something should be able to snoop the packets and come up with a list of velocities...