Electromyography Hack Chat

Putting your muscles to work

Wednesday, January 19, 2022 12:00 pm PST Local time zone:
Hack Chat
Similar projects worth following

hut will host the Hack Chat on Wednesday, January 19 at noon Pacific.

Time zones got you down? Try our handy time zone converter.


It's one of the simplest acts most people can perform, but just wiggling your finger is a vastly complex process under the hood. Once you consciously decide to move your digit, a cascade of electrochemical reactions courses from the brain down the spinal cord and along nerves to reach the muscles fibers of the forearm, where still more reactions occur to stimulate the muscle fibers and cause them to contract, setting that finger to wiggling.

The electrical activity going on inside you while you're moving your muscles is actually strong enough to make it to the skin, and is detectable using electromyography, or EMG. But just because a signal exists doesn't mean it's trivial to make use of. Teasing a usable signal from one muscle group amidst the noise from everything else going on in a human body can be a chore, but not an insurmountable one, even for the home gamer.

To make EMG a little easier, our host for this Hack Chat, hut, has been hard at work on PsyLink, a line of prototype EMG interfaces that can be used to detect muscle movements and use them to control whatever you want. In this Hack Chat, we'll dive into EMG in general and PsyLink in particular, and find out how to put our muscles to work for something other than wiggling our finger

  • Hack Chat Transcript, Part 2

    Dan Maloney01/19/2022 at 21:09 0 comments

    Daren Schwenke12:41 PM
    with ultrasound you probably wouldn't be measuring the nerve activity you'd be measuring the actual contraction of the muscle, but it might fill in the gaps..

    hut12:42 PM
    Didn't know you could use ultrasound for that, that's fascinating

    RichardCollins12:42 PM
    @anfractuosity Focused ultrasound was first used for surgery and cancers, I think. Getting to the level of sensitivity and care to sense and stimulate individual nerves took time and a lot of data. Most of the raw data went into human neural nets, so none of it got shared. If your group shares the raw data, there are groups world wide who can work on algorithms and clearly defined tasks and tests.

    Dan Maloney12:42 PM
    It's literally "The machine that goes 'PING!'"

    anfractuosity12:44 PM
    @RichardCollins intriguing, not sure i knew it was used for cancers. I recall touching an ultrasonic fogger thing, and it seemed to hurt a bit

    hut12:44 PM
    what kind of pain? heat? :)

    Thomas Shaddack12:44 PM
    with array of transducers you can steer the beam/focal point. lots of videos on youtube.

    anfractuosity12:45 PM
    yeah hard to explain heh, i guess it felt like heat

    anfractuosity12:46 PM
    that's interesting you're using gnuradio companion for some stuff :)

    RichardCollins12:47 PM
    The concept of using the existing muscles is powerful. Exoskeletons and robotic assistance is costly and clumsy. Take the "intention" signals and send them to a body controller that knows the 3D structure and properties, then determines the muscles needed and their response signals - is possible. Big data, external computer needed for prototypes, but wireless sensors and stimulation. Look at TENS stimulators, they are high voltages cheap circuits, but timing and strength can stimulate the right nerver. About 650 muscles in the body.

    Thomas Shaddack12:49 PM
    that's good for assistive tech/medical tech. but the force doesn't scale for exoskeleton use. different domain, though, but could also work for physical telepresence.

    hut12:49 PM
    @anfractuosity Yes, I found that this is the best data plotter for my purposes, although it feels like it hasn't exactly been designed for my use case :D

    RichardCollins12:50 PM
    The software defined radio groups are expanding and improving every day. They are into 10s of gigasamples per second at 12 bits. If you have the money you can get most anything you want. But the 10 Msps (megasamples per second) 10 bit low cost devices give you FFTs to work with in a community where some of the hard parts are done for you. Then focus on algorithms and applications.

    Thomas Shaddack12:51 PM
    biosignals should work with way lower samplerates.

    hut12:53 PM
    the highest useful sampling rate for surface EMG is around 4kHz, though 500Hz gives you most of the signal already

    RichardCollins12:53 PM
    You should be able to use an SDR with a tiny bit of electrical fiddling to get high sampling rate FFTs. The radio signals are microvolts. The USB oscilloscope groups are also going faster - using the same technologies. They just don't have FFT and neural net software plugged in. They can handle millivolts signals with differential amplfiers more and more built into the oscilloscope programmable amplifier front ends.

    hut12:53 PM
    does anybody know good dry electrodes that one could use for EMG? I'm still using very suboptimal ones

    hut12:54 PM
    using an SDR for processing biosignals sure sounds interesting, haven't thought of that

    Preston12:54 PM
    I'd imagine the dry EEG electrodes (either gold or Ag/AgCl) would work, although I've never tried

    hut12:55 PM
    will try them out

    hut12:56 PM
    thank you @Preston

    hut12:57 PM
    if you have any more questions after this session, you can come to PsyLink's Matrix chatroom any time:

    the_3d612:57 PM
    @hut we have some limited success with conductive fabric - but can't say I'm satisfied with it, looking for better options

    perlinwarp12:58 PM
    @hut You know I'm using brass or silver-plated corkboard pins or copper...

    Read more »

  • Hack Chat Transcript, Part 1

    Dan Maloney01/19/2022 at 21:08 0 comments

    Dan Maloney12:00 PM
    OK, welcome back to the Hack Chat! We've been on break since before Christmas, so I'm going to have to remember all the right buttons to push.

    Anyways, let's get started. I'm Dan, I'll be the mod today along with Dusan as we welcome @hut to the Hack Chat to talk about electromyography.

    alpha le ciel12:00 PM
    Hi Dan, Do Electromygraph can beneficial to build an exo-skeleton?

    Dusan Petrovic12:00 PM
    Hi Dan

    Dusan Petrovic12:00 PM
    Welcome everyone!

    ybarhoush joined  the room.12:00 PM

    Dan Maloney12:00 PM
    Hi @hut -- care to give us a little detail on how you got into EMG?

    Dan Maloney12:01 PM
    Hi Dule! Been a while, eh?

    Dusan Petrovic12:01 PM
    Indeed, long time!

    hut12:01 PM
    Hi Dan :) I got into EMG because I've been wanting to build BCIs for a long time but always kept pushing it off because it just seems too difficult, especially if you want to implant electrodes. But then I figured, EMG is the next best thing :)

    curiousmarc12:02 PM
    Do you mind explaining what Electromyography actually is?

    curiousmarc12:02 PM
    How does it worksy?

    Dan Maloney12:03 PM
    Hi Marc! I'll let hut take that one...

    szynyszyl joined  the room.12:03 PM

    hut12:03 PM
    @curiousmarc when the brain wants to activate muscles, it sends electric impulses through the spinal cord to activate these. This triggers a complex pattern of electricity in the muscles, which you can record with electrodes

    Preston12:03 PM
    Can you compare the different types of EMG electrodes (stainless steel, Ag/AgCl (dry and gelled), and gold) and what theyre respective use cases may be

    hut12:04 PM
    @Preston I'm not an expert on different materials, but I can tell you that dry electrodes are more useful for non-medical, consumer applications, since they don't require gel to be applied on each use, whereas the gelled ones (wet electrodes) result in much better signals, which can be used better in a medical setting

    anfractuosity12:05 PM
    Have you attempted to record/decode the movements of individual fingers? (Such as at what appears to be shown in CTRL Labs demos)

    curiousmarc12:05 PM
    So you "just" pick up an electrical signal from the skin? Where do you place the electrodes?

    perlinwarp12:06 PM

    Dan Maloney12:06 PM
    I'd almost imagine that dry electrodes would help decrease the background noise from other signals in the body, like ECG or just plain EMI noise coupled from the environment.

    hut12:06 PM
    @anfractuosity yes, I placed electrodes on the Flexor digitorum superficialis muscle and recorded the patterns that arise when I press individual fingers onto the table, and I found distinct patterns in the resulting EMG signal from which you can deduce which finger was used

    perlinwarp12:07 PM
    @curiousmarc for some implementation details on EMG, I'd recommend reading this:

    You get a potential difference from points on the skin and then amplify them commonly using an instrumentation amplifier. The psylink blog also has more great details

    curiousmarc12:08 PM
    @perlinwarp Thanks, I'm off to the wizard, er, link.

    Agnese Grison joined  the room.12:08 PM

    hut12:08 PM
    @anfractuosity if you look at the video, the electrode module is actually sitting on the flexor digitorum superficialis muscle.

    Pete Warden12:08 PM
    What kind of algorithms do you need to interpret the signals?

    anfractuosity12:08 PM
    @hut neat :) would i be right in thinking you'd need a large number of electrodes to monitor each finger simulatenously? they seem to use lots of electrodes unless i'm mistaken?

    Dan Maloney12:08 PM
    Guess you've got to know your anatomy pretty well. Seems like most people think the muscles for the fingers are actually in the fingers, not in the forearm like they are.

    hut12:09 PM
    I also tried typing on a keyboard while training the AI, and hoped that I can later type on an invisible keyboard to reproduce the same keys, but unfortunately this worked only when I restricted myself to a small number...

    Read more »

View all 2 event logs

Enjoy this event?



noname wrote 01/19/2022 at 11:20 point

Thanks, the_3d6. This uECG for $80 looks interesting. But I'm a little confused, I thought using muscles for robot control needed EMG not ECG. It was explained to me that EMG signals are like 1000 times smaller than ECG. So I can't just stick this uECG thingy on my arm can I?

  Are you sure? yes | no

the_3d6 wrote 01/19/2022 at 14:50 point

You most definitely can:

Not sure where you found this information about 1000 times difference - while I can agree that R peak amplitude recorded at chest is about 50 times higher than typical peak in weaker kind of EMG signal, it's not 1000 times: the only similar difference I can see here is that for EMG you want resolution around 1 uV, and for ECG, R peak is around 3 mV - so theoretically with 1mV resolution you can see some traces of R peak (but nothing remotely close to a proper ECG).

High quality ECG requires high definition (to be able to see small P peak for example) and our device resolution gets about 3000 ADC points for R peak, thus being more than capable of seeing clear EMG signal as well (it was designed as a universal biosignal device without significant high- or low-pass filters and ADC frequency of 976 Hz).

  Are you sure? yes | no

noname wrote 01/20/2022 at 12:51 point

the_3d6, thank you for correcting my mistake. I checked my notes. It was EMG signals are 100 times smaller than ECG. So yeah, big difference there. But my point was, they are not the same thing, so I was just looking for clarity. Thank you for your reply.

  Are you sure? yes | no

noname wrote 01/18/2022 at 13:10 point

EMG sensing is definitely a great way to control robots and make computer inputs. But as you say the measurement is hard to do (it's measuring microvolts - I couldn't get it to work right). So why not just use an of-the-shelf wireless sensor ($90 from ANR Corp) and then just build the Bluetooth part. Or even easier (and what I did) is buy a receiver ($80) and just use the analog control signals to an Arduino board.

  Are you sure? yes | no

the_3d6 wrote 01/19/2022 at 01:27 point

$90 is kinda expensive for this purpose - but for a similar (a bit lower) price you can get uECG and receive its signal on Arduino via nRF24 or on ESP32 directly. Or wait a bit and get a new sensor for about half of that price (currently we made its prototype but finalizing it and producing the first batch will take a few months)

  Are you sure? yes | no

Interested in attending?

Become a member to follow this event or host your own