Overview

The MyoWare Muscle Sensor (AT-04-001) is an all-in-one surface Electromyography (sEMG) biosignal sensor manufactured by Advancer Technologies and distributed by SparkFun. Designed for wearable electronics, prosthetics, and human-computer interfaces, it measures the electrical potential generated by muscle fiber contractions.

The MyoWare module attaches directly to skin using standard biomedical snap electrodes. Internal op-amp instrumentation circuits amplify the microvolt-level muscle signals (100 μV100\ \mu\text{V} to 90 mV90\text{ mV}), apply band-pass filtering to remove motion artifacts and powerline 50 Hz/60 Hz50\text{ Hz}/60\text{ Hz} noise, and perform full-wave rectification and integration. It provides two output channels: an analog envelope signal (SIG) ideal for microcontroller ADC reading, and a raw AC EMG output (RAW) for audio processing and spectral analysis.

Quick reference

Operating voltage (VCC)2.9 V to 5.7 V DC (3.3 V or 5.0 V nominal)
Output signal 1 (SIG)Rectified & Integrated Analog Envelope (0V0\text{V} to VCCV_{CC})
Output signal 2 (RAW)Raw un-rectified AC EMG Waveform (centered at VCC2\frac{V_{CC}}{2})
Electrodes3 snap connectors (2 reference/mid-muscle + 1 reference cable)
Gain controlOnboard gain adjustment trimmer potentiometer
Reverse polarity protectionIntegrated power protection diode
Supply current9.0 mA9.0\text{ mA} typical

Pinout

Breakout header pins and electrode snap connectors:

PinNameTypeDescription
1+ / VCCPowerSupply voltage (+2.9 V to +5.7 V DC)
2- / GNDPowerGround reference (0 V)
3SIG / OUTAnalog OutputRectified & smoothed muscle envelope voltage (0V0\text{V} to VCCV_{CC})
4RAWAnalog OutputRaw AC EMG signal centered at VCC/2V_{CC}/2
5SHLDPowerReference cable shield connection
Snap 1MIDInputMuscle body electrode snap
Snap 2ENDInputMuscle insertion point electrode snap
Snap 3REFInputReference electrode snap (place on bony non-muscle area like elbow)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Supply VoltageVCCV_{CC}2.93.3 / 5.05.7VSingle supply
Supply CurrentICCI_{CC}9.014.0mAActive operation
Input ImpedanceZinZ_{in}101210^{12}ΩHigh impedance instrumentation amp
CMRRCMRRCMRR80110dBCommon mode rejection
Band-Pass Frequency FilterfBPf_{BP}10500HzFilters out DC drift and high frequencies
Envelope Output Voltage RangeVsigV_{sig}0.0VCCV_{CC}VProportional to contraction force

Electrode Placement Rules

Proper skin preparation and placement are critical for clean EMG readings:

  1. Clean Skin: Clean target skin area with alcohol wipes to remove skin oils and dead skin cells.
  2. Muscle Electrodes (MID & END): Snap two disposable gel electrodes onto the MyoWare board. Place MID over the thickest part (belly) of the target muscle (e.g. bicep or forearm flexor) aligned parallel to muscle fibers.
  3. Reference Electrode (REF): Place the reference electrode lead on a nearby bony/non-muscular area (e.g. elbow bone, wrist joint, or kneecap).
text
   [ Muscle Belly ] -----> (Snap MID) ─── (Snap END) [ Muscle Insertion ]
   [ Nearby Bone  ] -----> (Snap REF Reference)

Wiring

MyoWare PinArduino / MCUESP32Notes
+ (VCC)5V / 3.3V3.3VMatch supply to ADC reference
- (GND)GNDGNDSystem ground
SIGAnalog Pin A0VP / GPIO36 (ADC1)Envelope voltage output
RAWAnalog Pin A1VN / GPIO39 (ADC1)Optional raw AC signal
Warning

Battery Power Recommendation for Mains Safety:

  • When connecting surface EMG sensors directly to human skin, always power the microcontroller and sensor from a battery (or an optically-isolated USB port) to isolate the user from mains AC line voltage shock hazards.

Example

cpp
const int emgPin = A0;
const int ledPin = 13;
const int threshold = 350; // Contraction threshold (0-1023)

void setup() {
  Serial.begin(115200);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int sensorValue = analogRead(emgPin);
  float voltage = (sensorValue / 1023.0) * 5.0;

  Serial.print("EMG Envelope Raw: "); Serial.print(sensorValue);
  Serial.print(" | Voltage: "); Serial.print(voltage); Serial.println(" V");

  // Light LED when muscle flexes above threshold
  if (sensorValue > threshold) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }

  delay(50);
}

Common mistakes

  • Placing REF on an active muscle: Placing the reference electrode on a flexing muscle introduces common-mode noise that cancels out the EMG signal. Always attach REF to a bony area.
  • Dry electrode pads: Using dry or expired gel snap electrodes increases contact resistance, causing 50 Hz/60 Hz AC hum noise. Use fresh conductive ECG/EMG gel electrodes.

Notes

  • MyoWare 1.0 vs MyoWare 2.0: MyoWare 2.0 uses modular snap shields for power, LED bar graphs, and Bluetooth wireless telemetry.

Assets & downloads