DIY Eigenharp - Keys Hardware?

Silicone’s responsiveness largely depends on its durometer, which is typically based on Shore Type A. The LinnStrument (128)'s silicone playing surface, for example, is 40 durometer. The lower the durometer, the more easier it becomes to compress, at the expense of easier indentation.

It’s spooky, I think I said almost this exact thing to John when I first discovered the Eigenharp (too late, in 2020). By that time he was not very responsive and the few other people I could track down had moved on long before.

The Eigenharp was enormously ambitious and succeeding would have required an enormous investment. It’s amazing they got as far as they did, but opening it up totally (hardware, CAD, process, everything) was the only chance it had of becoming an established instrument. They open sourced the software too late and then stopped there. The software is also very complex and customizable, which again, requires a lot of engineer hours to fully develop so that it is intuitive and reliable.

The problem is, to last you need prominent musicians to get very proficient and demonstrate what it can do, and they never had that. Example: Jordan Rudess got a Continuum and then integrated it into his rig. He got an Eigenharp, made a couple videos, and that was it.

It’s a hard sell to get such a person to put in the effort to get good at playing a unique proprietary instrument that depends on one small company for its existence. Imagine if only one company could ever make electric guitar pickups, it would have gone nowhere.

TLDR; it was too ambitious and John was reluctant to open up his labor of love the way it needed. In the early days of FLAC I had to confront the same tradeoffs, and that was just a software project; it would have gone nowhere as closed-source/licensed/patent-encumbered (remember Monkey’s Audio?).

If he dumped the whole enchilada now onto a public server, someone might pick it up and run with it, otherwise it will have to be someone like you to start fresh with the idea. And I wish someone would, because it was a great idea.


I’ve also thought about the idea of a DIY Eigenharp. What I partly like about it is the sheer size and presence, like a cello or a bass clarinet. Having a large number of complex mechanical keys would make it an expensive project though. Multi-axis squishy buttons like the Exquis or Striso are certainly one way to go.

You might find some more tips in this thread.

This includes a link by Piers to a discussion on the Axoloti forum where he described a version of the mechanism, but the link’s not working. IIRC it described a criss-cross array of strips of velostat. There’s also a bit of info in section 6.1 of this doc:

I found quite a promising and affordable combination of keys and sensor for a Hall-effect key mechanism, but not a multi-axis one. Could be useful for velocity or Lumatone-like expression though.



Wooting Lekker with OH49E.

The Wiggler also uses Hall effect.

Joysticks are potentially something to consider as well. They were notably used on an MPE hardware controller called the Joyst JV-1.

I found the details of the Striso hardware published here (specifically, section 6.1) - each button uses a triangle of exposed pads on the PCB which get bridged during button press by a material that has a pressure-dependent resistance. Then those get sampled by an ADC - about as cheap and simple as you can get (more or less the polar opposite of the intense engineering of the Eigenkey).

The Striso paper also links to an instructable which was probably the inspiration for the idea.

That kind of solution is definitely within reach for a DIY hobbyist - though I’m still “attracted” to the idea of using a Hall sensor instead (if you’ll forgive the pun) because it seems likely to be capable of more expressivity with less finger pressure.

1 Like

That may not be necessary. You may be able to write code that applies a multiplier to the raw sensor value before ADC conversion so that it scales according to your preferences. The LinnStrument (128) has such a feature called Touch Sensor Prescale.

If you are looking to go the Striso route, note that the thickness of material between the sensors and your fingers will matter, as it directly affects the amount of pressure and precision required. This is one reason why I modified my LinnStrument to use bamboo fabric as a playing surface.

I’ve ordered this TI TMAG5273 evaluation module and associated USB sensor control board, so I can play around with a 3D hall effect sensor connected to a computer with zero hardware effort, and maybe prototype some various 3D-printed Eigen-like key designs.

This seems like a fairly low-effort way to check viability on a single key before investing deeper in the project. And I can share my findings here with you all, including any OpenSCAD files I produce for my 3D-printed prototypes.

Maybe after a bit of iteration to prove the concept, others may want to collaborate with me on furthering the design.


Can somebody who has an Eigenharp Alpha or Tau on hand roughly measure for me:

  • the width and height of a key
  • the horizontal/vertical spacing between keys

I have an in-progress design in CAD, and I want to make sure it’s at least in the right ballpark for similarly ergonomic use.

1 Like

Late hour here… let me now if its readable, or I’ll get a better ruler :wink: in the morning.

1 Like

What can I say, I truly believe you should give the Striso a try :wink: It works well for chords, but also really well for melodies. All diatonic notes next to each other, but still having the chromatics around for spicing things up (without having to change modes).

As for different versions, I’d love to have a three row 25 key Striso like the left hand of the Striso box, also described in the same paper, but then with regular size keys, those ultra small knobs don’t work so well. Such a board would fit very well on the neck of a guitar/violin/double bass like instrument, with the regular Striso board lower on the body. And I see a lot of potential for the combination of the a small left hand keyboard and a bigger right hand keyboard in other form factors.

When stretching the Striso in my mind I get the Bosanquet layout, which is the main layout of the Lumatone. I’d love to see a stretched Bosanquet Striso for sure, but probably won’t develop it.

Note that the version of the Striso I describe in the Nime paper is quite outdated.
The current version uses fingered pcb button pads and a single sheet of linqstat. Use a gold plated pcb and clean both the pcb and the linqstat with alcohol as that makes a big difference. This picture from the kickstarter campaign shows the inside of a prototype that’s quite close the the current version:

1 Like

Don’t worry - I bought one :wink:

1 Like

Thanks for measuring the keys @keymanpal!

Hmmmm… those are actually like 30-35% smaller than what I had been planning, so I’ll have to redesign things a bit (the size of the magnets I’m using is fixed).

1 Like

A few quick notes on electronics considerations, both for my own tracking, as well as in case they are useful to anyone else out there:

  • PCBWay is a popular provider of custom order prototype PCBs in the DIY community, but a quick price comparison shows that JLCPCB is considerably cheaper.

  • Just like I’m using the I2C bus for the 3D Hall effect sensors that will measure expressive button positions, I can also use the I2C bus for controlling dimmable LEDs - even full-color flexibility of dimming RGB or RGBA LEDs.

    • There are a variety of I2C-based LED drivers/controllers available that support I2C control, with different features, etc.
    • It’s advantageous to have a driver that supports more channels, so I can save on I2C addresses, as well as chip count.
    • This Kinect KTD2064 chip is an interesting one - it has its own dimming fade logic should will save a lot of bandwdith on the I2C bus (leaving more bandwidth for expressive button measurement) It also multiplexes the LED pins in a clever way that saves on pin count and trace/routing complexity, at the expense of some potential “ghosting” artifacts (e.g. showing red/green in nearby LEDs when one LED is pure blue)
    • It may be more economical to consider sacrificing the “cool” factor of dimmable RGB LEDs in favor of simple on/off LEDs that can handle just a few colors (I think the Eigenharp just has red and green only?)
  • If I use a single I2C bus for all the buttons and all the LEDs, I will definitely run out of I2C addresses (128 max) - at least, if I have as many buttons as the Eigenharp Alpha

    • As a workaround, I can look for a microcontroller as the central brain that has multiple independent I2C buses implemented in it.
  • It’s also important to take I2C max capacitance into account - the longer the I2C traces and the more devices I put on it, the more the capacitance of those elements can compromise the I2C bus quality, to the point where it eventually breaks down.

    • Here is a detailed doc from TI that discusses this phenomenon, and how using an I2C buffer/repeater can be a workaround for isolating parts of the I2C line. Need to finish reading that doc in detail to get more info on caveats/considerations.
    • There are PCB layout techniques that can mitigate the effect and reduce the capacitance between the I2C line and ground, such as keeping the traces well-separated on the PCB layout, and avoiding an underlying ground plane.
  • 3D-Printing the keys in clear PETG material can make the keys themselves act as a light-pipe for the LED underneath


I’ve lusted after an Eigenharp for years, finally decided to take a different approach and make something that had the same function, different method.

I used to play Chapman stick until the weight of it was killing my back. So I made a matrix instrument that mimics it, top part is tuned in inverted 5ths, bottom part in 4ths…like the Chapman, and so far I have pitch bend on every note and MPE, but not much luck with the “Y” axis. I was thinking of selling it as a kit because it’s pretty straight forward to build, but the patent stuff out there is a bit frightening.


Welcome! This looks fascinating! Do you use a similar approach as Eigenlabs with lasers deflected by glass prismas below each key? I don’t know what the patent you mean covers - but the Eigenharp approach was pretty unique, if you do it differently then it is perhaps not a problem? Otherwise - asking John to get a (perhaps free for limited amounts of kits) license might not hurt, I guess he rather wants to see more such instruments in the wild.

Wow, very cool! Would love to see a video of it in action.

Cool. No patent problems with that, I’m certain.

I don’t think it’s affected by the Eigenlabs patents, but there are others. This uses a piezo layer, and there are a whack of patents on piezo materials used for MIDI instruments, though the way I’m using it is unique in the way the software handles things and make the instrument extremely responsive. There are 8 individual controlled parameters from each interaction with those buttons, and its supports gestural movements of the performer. I can’t go into it too much because I have to figure out whether I need a provisional patent just to prove I’m not violating anyone else’s patent! I hate patent law. The result anyway is a very responsive instrument, you can touch it lightly, pound it, and its super fast. MPE is really nice with MPE synths, I love being able to control string sounds individually with finger pressure. Building it has been my weekend vacation for months :grinning:

Here it is in control mode, no MPE. Control mode is that some of the buttons have been assigned to midi controls and others to performance. (Other modes allow for more Chapman stick two handed style)