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 ( to ), apply band-pass filtering to remove motion artifacts and powerline 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 ( to ) |
Output signal 2 (RAW) | Raw un-rectified AC EMG Waveform (centered at ) |
| Electrodes | 3 snap connectors (2 reference/mid-muscle + 1 reference cable) |
| Gain control | Onboard gain adjustment trimmer potentiometer |
| Reverse polarity protection | Integrated power protection diode |
| Supply current | typical |
Pinout
Breakout header pins and electrode snap connectors:
| Pin | Name | Type | Description |
|---|---|---|---|
| 1 | + / VCC | Power | Supply voltage (+2.9 V to +5.7 V DC) |
| 2 | - / GND | Power | Ground reference (0 V) |
| 3 | SIG / OUT | Analog Output | Rectified & smoothed muscle envelope voltage ( to ) |
| 4 | RAW | Analog Output | Raw AC EMG signal centered at |
| 5 | SHLD | Power | Reference cable shield connection |
| Snap 1 | MID | Input | Muscle body electrode snap |
| Snap 2 | END | Input | Muscle insertion point electrode snap |
| Snap 3 | REF | Input | Reference electrode snap (place on bony non-muscle area like elbow) |
Specifications
| Parameter | Symbol | Min | Typ | Max | Unit | Conditions |
|---|---|---|---|---|---|---|
| Supply Voltage | 2.9 | 3.3 / 5.0 | 5.7 | V | Single supply | |
| Supply Current | — | 9.0 | 14.0 | mA | Active operation | |
| Input Impedance | — | — | Ω | High impedance instrumentation amp | ||
| CMRR | 80 | 110 | — | dB | Common mode rejection | |
| Band-Pass Frequency Filter | 10 | — | 500 | Hz | Filters out DC drift and high frequencies | |
| Envelope Output Voltage Range | 0.0 | — | V | Proportional to contraction force |
Electrode Placement Rules
Proper skin preparation and placement are critical for clean EMG readings:
- Clean Skin: Clean target skin area with alcohol wipes to remove skin oils and dead skin cells.
- Muscle Electrodes (
MID&END): Snap two disposable gel electrodes onto the MyoWare board. PlaceMIDover the thickest part (belly) of the target muscle (e.g. bicep or forearm flexor) aligned parallel to muscle fibers. - Reference Electrode (
REF): Place the reference electrode lead on a nearby bony/non-muscular area (e.g. elbow bone, wrist joint, or kneecap).
[ Muscle Belly ] -----> (Snap MID) ─── (Snap END) [ Muscle Insertion ]
[ Nearby Bone ] -----> (Snap REF Reference)
Wiring
| MyoWare Pin | → | Arduino / MCU | ESP32 | Notes |
|---|---|---|---|---|
+ (VCC) | 5V / 3.3V | 3.3V | Match supply to ADC reference | |
- (GND) | GND | GND | System ground | |
SIG | Analog Pin A0 | VP / GPIO36 (ADC1) | Envelope voltage output | |
RAW | Analog Pin A1 | VN / GPIO39 (ADC1) | Optional raw AC signal |
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
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
REFon an active muscle: Placing the reference electrode on a flexing muscle introduces common-mode noise that cancels out the EMG signal. Always attachREFto 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
- datasheetdatasheet
- product-pagereference