Hardware for DIY Linnstrument-like controller

I’m currently in one of my occasional Arduino/MIDI phases, and after reading that the Linnstrument is based on Arduino, I started wondering how to build a controller like that.

From this YouTube video, It sounds like the Linnstrument hardware is based on a custom design from Tangio.

https://www.tangio.ca/force-sensing-resistors

Although they do a $200 “evaluator” which is possibly similar, I’m not sure how large that is, and it’s not exactly cheap.

https://www.tangio.ca/multi-touch-matrix-force-sensors

The Sensel Morph is interesting, but I’d prefer something larger.

The forthcoming Erae Touch looks very cool. I was interested to see that it’s apparently based on loads of individual FSRs.

There’s a page on a DIY Soundplane, but that sounded complicated and I started glazing over.

https://madronalabs.com/DIY

So the question is…does anyone have any thoughts on suitable hardware for some kind of DIY Linnstrument…?

:slight_smile:

As I understood it, Roger Linn initially wanted to use some 3rd party sensor design, but the company was then bought out by Apple. So he designed his own circuit.
Morph is nice indeed, and as long as you can live with having ~0.5-1cm breaks every 24 cm, you can stack several horizontally. That’s what I do. (If you are adenturous you could try to take one out of it’s case to try to get a gapless solution. I didn’t dare to do this - could lead to anything from working over (more likely) calibration issues to bricked garbage - and for that it was too expensive to me).
Getting something bigger than a Morph working with the Madronalabs approach might be expensive, particularly when done with a dedicated analog audio interface with dozens of I/O ports.
All in all I doubt that a big instrument of that kind can be made much cheaper than the commercial stuff available. But if it’s more about the challenge than saving money, it’s might be an interesting endeavor!

One thing that imho might also be interesting to look into for low-cost solutions would be using image recognition which might be a way to turn big painted layouts into playable surfaces - and there is the third dimension to come up with new things that a flat controller simply can’t do… This likely won’t give you great resolution regarding particularly the pressure dimension out of the box (it might be interesting to think about a material that changes color based on pressure though…). There were some attempts into this direction, like Geert Bevin’s Geco app for Leap Motion as a musical instrument/controller or the Haptics Touch to turn tables into touch surfaces (which unfortunately never saw the light of day). And there was recently a Kickstarter from the OpenCV team that comes with a stereo camera and a quite powerful Myriad X neural network accelerator card for about $150: https://www.kickstarter.com/projects/opencv/opencv-ai-kit. It seems to offer 2x4k@60 fps or one frame every ~17 ms - which isn’t Linnstrument or Soundplane level responsiveness but in the realms where thinking about musical applications starts to make sense. And by the time such a prototype works, likely even faster hardware might already be available for a comparable price…
Edit: I just saw, the 4k@60 Hz was the mono camera OpenCV hardware module, the stereoscopic one is 2x1280x800@120 Hz - 8 ms might already be worthwile for more serious stuff. Question is, how much latency the processing pipeline adds.
Edit2: A mono camera solution might have the charme that it could be made to work with usual web cams, so at minimum it could be software only.

Thanks for your thoughts…yes, I was also wondering about image recognition. (I’m interested in isomorphic layouts and there’s a curious thing called “Beeboard” that uses optics. An early prototype image for Linnstrument showed a similar hexagonal layout.)

It’s more about saving money than the challenge, so I should probably just save up for a Linnstrument/Soundplane…! I’ll be interested to see pricing for the Erae Touch once the Kickstarter launches next month.

1 Like

There’s also the Synderphonics Manta as a hex-layout controller:

https://www.snyderphonics.com/

2 Likes

@BJG145 You can get quite good results with a matrix of aluminum tape strips with linqstat/velostat inbetween, and use an arduino or something similar to read the resistance, that costs close to nothing. I posted some photos on this thread on the Axoloti forum

1 Like

Interesting! Do I understand it right that this isn’t reading the signals in parallel (like the Madronalabs approach does) but sequentially with some kind of multiplexer that switches between rows and columns?
How fast can such switching happen - and how many rows/columns/surface size could realistically be supported by that approach?

Yes, one side of the matrix is connected to the ADC pins with a pull-up resistor, the other side to digital output pins that pull each line down one by one. The row/column count depends on the microcontroller pin count, so an with an Arduino it is limited to 6x10 or so, and with a teensy 3.6/4.1 to 18x20. The speed depends on the ADC speed and impedance, and impedance and capacitive coupling of sensors. I think you might be able to reach 1000Hz for the 18x20 with the teensy, if you keep the wires short.

The Madronalabs approach is also very interesting, at least from a signal processing point of view, but I think resistive sensing is more beginner level :slight_smile:

2 Likes

Thanks pierstitus, that’s ingenious…

1000 Hz for the full scan cycle sounds good!
Would you have an idea for a microcontroller that might be suitable for something Linnstrument size with about 2 octaves or even Continuum-size with 4-8 octaves horizontal range? How many aluminium bands would be needed per semi-tone to get good continuous sensing for e.g. the usual 16,5 cm per octave? (So are we talking about 8x24 (8x48/8x88), 16x48 (16x96/16x176) or even more?)

The Linnstrument uses one wire per semi-tone, I don’t think there’s need for more. Have a look at https://www.slideshare.net/gbevin/linnstrument-the-ultimate-opensource-hacker-instrument for more details about the linnstrument workings, and you can study the firmware source of course.

From a software point of view the easiest would be to use an Arduino Due and start with the Linnstrument firmware or use an STM32F4-Discovery or Nucleo-H743 board and start with my Striso board firmware. All these boards have plenty of pins to play around with.

I think you should at least like the challenge to make it successful, otherwise just get a Striso board :wink:

2 Likes

have you looked at TRILL ? https://bela.io/products/trill/

I’ve got a bunch of these, which Ive played with and are pretty good, and are easy to get working.
(I need to get off my butt and order some more grove cables to patch them up - I was going to hardwire, but then decided that was a bad idea!)

one thing Ive noticed over the years about all the manufactures of above is they’ve talked a lot about the struggle to find a suitable playing surface to put over the sensor tech.
after all the ‘feel’ of the playing surface is obviously a very important part of it as an instrument.

ha, ha … so true of most diy projects. (hardware or software)
if you factor in your time, grey hairs, frustration, failed prototypes, ‘small run’ costs… diy is rarely cheaper.
but its satisfying to make your own stuff… so worth it, if you like the challenge.

1 Like

True…I’m a beginner with electronics/Arduino but I’ve been rebuilding a Dynacord Rhythm Stick and just to get it to the point where I can play a simple riff is very rewarding. :slight_smile:

I love what you’re doing with the Striso, and hopefully by the time you start developing a box version I’ll be able to afford one…!