Development Log

PsyLink is an open source sEMG-based neural interface with AI-powered gesture recognition. This blog details the steps of building it and shows recent developments.

Subscribe to the RSS feed with any RSS reader to stay up to date. Also, consider joining the community on the Matrix chatroom.


Added Bills of Materials

This is long overdue, but the following prototypes now each have a BOM (bill of materials) in OpenDocument Spreadsheet (.ods) format, including a breakdown of the raw material cost, in case you'd like to replicate them:


3M Red Dot electrodes

Alex Lao suggested to try some 3M Red Dot electrodes, and so I got me some of the model 2248-50 (he actually suggested model 2660 but I mixed it up.) They are used for ECG patient monitoring, which is close enough, right?

photo of the electrodes

I connected two of them to EX1 and EX2 on an Electrode Module 3.1 and placed them on the flexor digitorum superficialis muscle (where I place the built-in PsyLink electrodes on most of the other pictures/videos too), and placed a third electrode on the radius bone near the wrist, and connected it to a Vref pin of a Power Module 4.2, which therefore acted as a ground electrode. The electrode module is the one from the previous blog post about the MCP6N11-100 instrumentational amplifier (for no good reason - I should have used INA128 for better comparability).

This is what they look like on my skin:

Photo of the electrodes on my skin

I recorded the following signals when pressing different fingers onto the table:

Screenshot of signals

The amplitudes of the wavelets were a little disappointing, but perhaps boosting the gain from 501x to 1001x-2001x would help.

The nice surprise was the specificity of the signals. I only saw signals when I actually used that muscle. Unrelated movements like twisting the wrist sometimes produce strong signals with the built-in PsyLink electrodes, but produced no signal with these. There could be many reasons for that:

It's good to see that it works, and there's clearly a potential, but I'm not blown away either. Next steps could be:

Note that before attaching the electrodes, I did not shave off hair and did not clean off skin oils with alcohol, but at least I was fresh out the shower. Ok, time to end this post, this is getting weird :).


Microchip 6N11-100

In my quest for premature optimization, I tried out yet another instrumentation amplifier chip: The Microchip MCP6N11-100. At 1.55€, this chip is about 4 times cheaper than the INA128 instrumentational amplifier (which is currently the cost bottleneck), and would make a 16-electrode-PsyLink about half as expensive. It also works with as little as 1.8V (while INA128 requires 4.5V), eliminating the need for power conversion if a 3.7V lithium battery is used.

Unfortunately the pin configuration is different from the INA128 that the Electrode Module 3.1 normally uses, so I had to jury-rig the board a little:

photo of a MCP6N11-100 on a PsyLink Electrode Module B3.1

But it worked, and the signal (the first one) is similar enough to those of INA128s (the last 4):

Screenshot 1 of signals with the MCP6N11-100 chip Screenshot 2 of signals with the MCP6N11-100 chip

These were recorded with a Prototype 9.1 with two Electrode Module 3.1, one with 1x MCP6N11-100 at a gain of x501, and one with 4x INA128 with gains of x501 as well. I'm wearing it much like on the P8 demo video, except that there's two electrode modules side by side, not just one.

In the top center of the first picture (light blue signal), you can see that there is some clipping in the negative peaks of the wavelet, which is not great, but other than that, it does seem to show very similar signals. (They shouldn't be identical, of course, because each signal measures electrodes at different locations on the arm)

There's also a similar chip, the MCP6N16, which has a smaller footprint size and better performance, but has slightly higher cost and worse availability. It's more difficult to solder, too. But it's good to know that there's the option to switch to that one if we ever need to.

I'm quite happy with this result, and perhaps the next iteration of the electrode module will be designed for this chip rather than the INA128. :)

All entries