PsyLink is experimental hardware for reading muscle signals and using them to e.g. control the computer, recognize gestures, play video games, or simulate a keyboard. PsyLink is open source, sEMG-based, neural-network-powered, and can be obtained here.

This blog details the steps of building it and shows recent developments. Subscribe to new posts with any RSS reader, and join the community on the Matrix chatroom.

Prototype 9 + Matrix Chatroom

News #1: PsyLink now has a Matrix chatroom:

News #2: PsyLink Prototype 9 is now out, which is pretty much the same as Prototype 8, just with a few bugfixes and enhancements. Notably:

Obligatory Picture:

photo of P9

It's less colorful and has more boards than the photo of the P8, but that's just the type of wires, and an additional electrode module. You could make the P8 look the same way.

HackChat & Hackaday Article

Someone at Hackaday kindly invited me ("hut") to host a Hack Chat about Electromyography and PsyLink on Wednesday, January 19, 8 PM GMT. There, I will answer all sorts of questions from the hackaday community.

Drop by too, and watch me struggle for an hour to pretend that I know what I'm talking about :)

Someone else at Hackaday also kindly wrote a whole article about PsyLink, which sparked nice discussions in the comments, got the P8 Demo Video over 5k views, and inspired several tinkerers to reach out to me about getting their own PsyLink :)

Prototype 8 Demo Video

The demo video of Prototype 8 is out now:

Prototype 8

The order of the PCB of Power Module 4 has arrived, and so all the parts for Prototype 8 are finally here :) After some assembly (and crimping of some rainbow-colored connectors that look a little neater than those stray black wires from previous photos), this is the final picture:

photo of the p8

And another picture:

photo #2 of the p8

The Signal

A sample of the signal is this, using an INA128 with a gain of x228 and electrodes near the flexor digitorum superficialis:


The baseline is the midly noisy line around a value of 0.3 and shows the state of rest.

The spikes and "spindles" (periods of higher amplitude) occured when I performed various movements, like extending the arm, snapping the fingers, or twisting the wrist.

Bugs in the BP4

The Power Module 4 is not perfect though:

INA155 Instrumentation Amplifier

I tried replacing the INA128 chips on the Electrode Module 3 with INA155 chips with a Gain of 50, and it works just fine :) The signal even looks a little bit cleaner than with the INA128, though I don't have good metrics to decide which one is better overall. They both have the same PCB footprint so I didn't even have to change the board design :)

This is good news. If I buy the INA155 chips in bulk (250+), they would cost ~1.75€ each (and I currently pay ~5.65€ per INA128), which would bring the material cost of the whole product down from ~60€ to ~30€ plus Arduino (~38€) plus shipment. Even if the INA155 is slightly worse, that's totally worth it.

At this price, it would even be affordable to use more than 8 signals (with additional analog multiplexing, since the Arduino only has 8 analog inputs) and wear more than two Electrode Module 3 at the same time.

Another big plus is that INA155 chips can easily work with a supply voltage of 3.3V!! And I wouldn't need to boost the battery voltage all the way up to 5V anymore, which is probably not very power efficient.


I did some more tests and concluded that with the electrodes that I'm currently using, the maximum gain of INA155 is not high enough, and I have to either find better electrodes, add extra amplifiers, or switch back to INA128 for the time being. For now, the relatively expensive INA128s will have to do.

But hey, the current electrodes are literally just... plain metal spacer screws, so there is DEFINITELY room for improvement.

Here are some pictures of electrode placement and resulting signals, where you can see that the INA128 (blue line) shows considerably more features:

resulting signal

electrode placement

Page: 1 2 3 4 5 6 7 8 9 all