FSR72: Designing a compact pressure sensitive keyboard


#1

Hello,
I plan to use open drain outputs to address rows from a matrix of FSRs. (some sort of matrixplexing) :


[EDIT 21 nov 17]: missing diodes, see next posts !

I wonder how much current an open drain can handle ?


#2

If I understand well this document page 93 : it is a maximum of 25mA per output with a maximal sum of 120mA.

That seems quite big to me considering the size of the chip :thinking:


[Edit]

I made some experiments to have an idea of "ON resistances" in the conditions I want to operate the keyboard (3V3 --> 2k2 resistor --> FSR --> "ground drain"):

tested "ground drains" :

  • 74HC4051 : 90 Ω
  • GPIO open drain : 25 Ω
  • 2N7000 : 4 Ω :white_check_mark:

The max current being:

  • 74HC4051 : 25mA
  • GPIO open drain : 25mA
  • 2N7000 : 200mA :white_check_mark:

I'll give the 2N7000 a go:

  • they are very low priced (less than 0.25€)
  • I won't be afraid to fry my Axoloti
  • the "ON resistance" is small enough to limit bias when multiple sensors will be pressed on a row (sensors on a row share the same "ground drain").
  • I can lower the 12 "drive" resistances from 4k7(8mA) to 2k (20mA) or even 1k (40mA) => higher range, lower noise from the ADC
  • As i won't use some specific GPIO feature, the design will be transposable to the teensy.

[EDIT 30/10/17]
Some on going experiments with copper tape + eeontex + 2N7000...

Experimenting layered eeontex (the black fabric) vs simple layer eeontex, row / column copper width and 2N7000 ground drain:

Practical design of copper rows and eeontex grid:

Aligning columns over the rows and the grid before inserting eeontex tiles...


[EDIT 08 nov. 17]

Oooops, I forgot the diodes !!
Each key needs to be associated with a diode to avoid current from inactive rows to push back in a column.


[EDIT 16 nov 17]

Hopefully 1N4148 are like 5€ for 200 pieces...
The row current "sinks" now have a diode for each sensor... 72 diodes. I simplified the wiring by making holes in the thick cardboard and using the diodes tinned anode tips as electrodes in contact with the eeontex.

As diodes add a voltage bias I lowered the driving resistors to 680Ω.
As that bias depends on the temperature, i added a reference diode to measure that bias (and try to compensate its effects in software) .

Now, all 20 GPIOs are used:

  • 12 column (C C#... B) analog inputs: PC2 PC1 PC0 PB1 PB0 PA7 PA6 PA4 PA3 PA2 PA1 PA0
  • 6 row selections (5 octaves+function keys): PC4 PC5 PB6 PB7 PB8 PB9
  • 1 temperature compensation analog inputs that measures a diode bias: PC3
  • 1 one PWM output to control a LED: PA5 (pwm t8)

That's a lot of wires to fit in the 23 x 20 x 4 cm box


[EDIT 17 nov 17]

Finished wiring and assembly. It seems to work.

I added a 9v battery holder, a little switch and a diode (to avoid reverse current to the battery if an external 9v power source is used).

It is a little tight but it fits.

Now, let's code an object that will deal with all these pressure sensors and generate some convenient "intern MIDI"...


[EDIT 21 nov 17]

Here are the different layers for the pressure sensitive keyboard:

A close up of the back side of the cardboard(an old calendar) showing the row strips and the sink diodes:

A global view before hooking up the rows and columns of the pressure sensitive keyboard to the FET stripeboard and to the Axoloti:


#3

Man! You guys don't give up, do you?

So now we are moving into the realm of DIY Hakan Continuem, Roli Seaboard, Linnstrument and Soundplane controllers!
My tip (although obviously a rather late one), would be to go for a Janko type layout, so with every other row offset at half the width of the playing surfaces. Why? Because it has big ergonomic advances and also leads to a natural left to right feel for pitch.

Here's a link to the article I wrote about building my own Janko hardware adapters for conventional keyboards. It describes many of the advantage sof such a layout.

http://www.brassee.com/writing.html#janko


#4

P.S. I hope that EeonTex is a closed cell material. Otherwise long term use might compact it so that one looses the feel even if it might still work as advertized. Any earlier experiences with the stuff?


#5

Your Janko adapter is great and using a GEM S2 keyboards provide both mecanical velocity and aftertouch.


#6

I wanted this one to be compact, light and battery powered and and not look like an electronic instrument, with a minimum number of electronic parts (Axoloti, 73 x 1N4148, 1 LED, 9 x 2N7000, a few resistors, eeontex and copper foil).

It is simply chromatic, the layout is straightforward : 12 notes wide(columns) and 5 octaves(lines).


#7

nice! how does it feel/play?


#8

Hi @lokki, the pressure sensitivity is quite similar to the q nexus, it is smooth to me :

There is no ADSR nor LFO, the volume and filter cutoff are controlled by the poly aftertouch

I have to train a little to get accustomed to the layout.


#9

sounds smooth to me too :slight_smile: haha, it reminds me a lot of the sounds i get out of synths with my fsr's...it's a great way to modulate sound, by force and touch...


#10

Interlink FSRs are certainly the most reliable FSR on the long run. But for this they are far too expensive for me.

Now, i have to implement the "function keys" to have something functional:

  • octave transpose (red +-)
  • volume control (green +-)
  • program change (P)
  • pitch bend (white +-)
  • the five user buttons as outlets

#11

Not only aftertouch but POLY aftertouch!

And thanks for the compliment!


#12

Fantastic. I also love the native american powwow pouch styling. Strong medicine for sure! :slight_smile:


#13

I did not had the native american intent.
I wanted to avoid to make another rubber/silicon touch keyboard.


#14

Reading this thread makes me want to invest in one of those 3D printers and have a go at designing my own keybeds. Not sure when it will be, but there will come a time when I need to bulk-purchase keybeds, and I can't find anything out there, not even on that Ali Express site.

I could get keybeds from Fatar, but they're way too expensive and would push the price up a fair bit.

Don't know if you ever thought about it, but as far as I can tell there's a gap in the market place for keybeds of various sizes and lengths (keybeds that are cheap as possible but also reliable). I assumed China would be bursting at the seams with sellers offering them, but I can find a single supplier of keybeds in China even though I feel sure there must be a few our there at least.

Anyway, cool stuff, maybe you should look into manufacturing and marketing keybeds in the future :grin:


#15

You can buy a second hand cheap 90s synth and rip the Fatar keybed out of it.


#16

Thanks for the link, and from the looks of that list, nearly everything out there uses Fatar keybeds anyway, apart from the big manufacturers who use their own. Looks like I'll have to do the same when the time comes. I've nothing against Fatar though, other than the prices.

It's a shame CASIO don't sell their keybeds, cause to be honest, I really like their latest keybeds, as used in their latest synths and workstation keyboards. If I'd had a choice, I would definitely have used theirs.

On the plus side I suppose the Fatar keybeds are well documented in how to rig them up to other hardware. Due to the popularity of them, it's a wonder there's not a dedicated Fatar keybed input object designed for Axoloti seeing as Fatar is pretty much the only option we have anyway (new I mean).

Anyway, thanks again, I'll get notifications from this thread now. I'm interested in learning about keybeds and connecting them up to Axoloti.


Velostat multitouch matrix
#17

The idea of 3D-printing is very close to my heart. It would for intance also be ideal to make a more advanced version of my isomorphic Janko adapters. Until now I have however resisted the temptation to actually buy a printer because I do not want to end up in a situation where using one means more frutration then actual output. I've encountered that once with the first colour printers for home use when trying to print my own CD labels. On paper it was THE solution. In practice it was a dead horse. As soon as I find out the technology hass really become mature and affordable I'll jump in though.

I did however already buy a sort of handheld estranged printhead injector tool.

Your own brains and hands have to provide the coördination, which of course kinda sucks, but one could build a reusable mould first and fill that in by hand. As long as the outer surface is formed by the mouldside the results would look just as good when assembled.

The downside would of course be that one has to fill that mould umpteen times hand. It would be a bit like manufacturing chocolate bonbons one at a time. Since both my adapters where built out of hundreds of parts I wouldn't recommend it for such big builds but a few dozen would be reasonably practical.


#18

It's just me siguing on but not a bad association anyway. :grin:


#19

I think the next one will be Denim with stacked 2 octave Janko inspired layouts.
As the layout will be hexagonal, it will be programmatically possible to change the configuration to isomorphic layouts...

I am still in the dreamy, pre-design phase, it is not easy to build and prepare the different layers without missing something... so every detail must be on full scale paper before i start building this one (96 keys, 30x20 cm).


#20

Great stuff!

If you apreciate any help conceptualizing it let me know. It might even be nice to do a parallel build, making it a sort of joined effort so to speak, although you of course deserve all credit for getting there first.

A minimum number of 88 "keys" is my first proposal (only kidding of course). :wink: