Use Cyton with ML Model trained on NinaPro


Hello Everyone,
i am part of a student initiative at a German university and we are trying to make a prototype for a prosthetic arm, that can be controlled using the cyton as EMG.
We have noticed, that the value ranges for the NinaPro dataset are quite different from the RAW and BDF output of the OpenBCI GUI. We are struggeling finding out the concrete reason for the difference in the data structure between the cyton and the thalmic myo armband.
So tl;dr :
How can we convert the RAW or BDF output from the OpenBCI GUI to match the data structure used in the NinaPro dataset? Does anyone have experience with that?

Thank you in advance!


  • wjcroftwjcroft Mount Shasta, CA
    edited June 13

    Hi NeuroTx,

    I can only suggest that you try to mimic the EMG signal processing steps as closely as you can: sample rate, bandpass and notch filtering, etc. For reference here is the website and one of the papers:
    "A quantitative taxonomy of human hand grasps"

    Data acquisition
    The used dataset is the second Ninapro dataset, including 40 intact subjects (28 males, 12 females; 36 right handed, 4 left handed; age 29.9 ± 3.9 years). The Ninapro databaseFootnote1 [29, 37], is a publicly available resource aiming at improving the control of robotic hand prostheses. The data comprise 50 hand and wrist movements, including basic motions (e.g. flexion, extension) as well as 20 grasps.
    Acquisition setup
    The acquisition setup includes a data glove and a set of surface electromyographic electrodes with built-in accelerometer. Hand kinematics were measured using a 22-sensor CyberGlove II (CyberGlove Systems LLC Footnote2), providing data proportional to joint angles, sampled at slightly less than 25 Hz. Muscular activity was measured using a Delsys Trigno Wireless system. The sEMG electrodes are double-differential and measure the myoelectric signals at 2 kHz with a baseline noise of less than 750 nV RMS. The sEMG electrodes were placed using the hypo-allergenic Trigno Adhesive Skin Interfaces. Prior to electrode placement the skin was cleaned with isopropyl alcohol.

    So one of the issues might be the large difference in sample rates between 250Hz and 2000Hz. There may be ways to compensate for this.


  • wjcroftwjcroft Mount Shasta, CA

    If the original experiments were done with 22 channels, it may be possible that you are trying to use the 16 channel Daisy configuration. Unfortunately this drops the sample rate to 125 Hz, so that is a substantial reduction. There may a trade off between the number of channels you use and the sampling constraints.

  • NRTXNRTX Germany

    Thanks for your response!
    We also noticed that NinaPro data has 8 bits values, exactly as pointed out in here
    The OpenBCI on the other hand, doesn't seem to use the same preprocessing, which makes it difficult to match the NinaPro format. So is there anything similar in OpenBCI?

  • wjcroftwjcroft Mount Shasta, CA

    The link you gave is pointing to info on the 'Myo Gesture Control Armband'. This is a low resolution 8 bit device.

    The previous link I gave above was to the CyberGlove 2, a completely different device.

    Furthermore Cyberglove appears to be sensing joint rotations & motions. NOT EMG.

Sign In or Register to comment.