Skip to content
Buy 10+ on select items — save 10% auto-applied
Free US shipping on orders $35+
Order by 3pm ET — ships same-day from the US
Skip to main content

Arduino EMG Muscle Sensor: Control a Servo Claw | ShillehTek

May 18, 2026 16 views

Arduino EMG Muscle Sensor: Control a Servo Claw | ShillehTek
Project

Build an Arduino Nano EMG muscle sensor controller that drives a servo claw when you flex, a practical starting point for biofeedback and prosthetic demos from ShillehTek.

30 min Intermediate4 parts

Project Overview

Arduino Nano + EMG muscle sensor servo control: In this project, an EMG sensor reads the small electrical signals your muscles generate when you flex, and an Arduino drives a servo in real time based on that activity. With electrodes on your forearm, you can open and close a servo-driven claw (or control a motor or LED) using your muscle signals.

This is foundation tech used in prosthetics, biofeedback, and gesture-controlled interfaces.

  • Time: ~30 minutes
  • Skill level: Intermediate
  • What you will build: An Arduino-driven servo that opens and closes when you flex your forearm, a building block for a robotic claw.
Arduino Nano reading an EMG muscle sensor signal to control a servo-driven claw
EMG to analog signal to Arduino to servo claw for bio-controlled robotics.

Parts List

From ShillehTek

External

  • EMG electrodes (the kit includes the leads and 3 sticky electrodes)
  • Optional: 3D-printed robotic claw or grabber

Note: This is a hobby/educational sensor. It can not replace medical-grade EMG equipment and should not be used for diagnostic purposes.

Step-by-Step Guide

Step 1 - Place the Electrodes

Goal: Position the electrodes so the EMG module can detect muscle activity reliably.

What to do: Place two electrodes on the muscle belly of your forearm (about 4 cm apart). Place the reference electrode on a bony spot (back of your hand, wrist, or elbow). Clean skin helps improve contact and reduce noise.

EMG muscle sensor board shown with electrode leads used for forearm placement
The EMG module includes amplification, filtering, and an analog output.

Expected result: The electrodes feel secure and you can flex without them peeling off.

Step 2 - Wire It Up

Goal: Connect the EMG module and servo to the Arduino Nano correctly.

What to do: Make these connections:

  • EMG VCC to 5V
  • EMG GND to GND
  • EMG OUT to A0
  • Servo signal to D9, servo VCC to 5V, servo GND to GND

Expected result: The Arduino, EMG module, and servo share ground, and the EMG output is routed to A0.

Step 3 - Upload the Sketch

Goal: Read the EMG analog value, compute movement vs baseline, and command the servo.

What to do: Upload this sketch to your Arduino. The code captures a baseline at startup, prints the raw reading to Serial, and closes the servo when the signal difference exceeds a threshold (tune it for your skin).

Code:

#include <Servo.h>
const int EMG = A0;
Servo claw;
const int CLOSED = 0, OPEN = 90;
const int THRESHOLD = 350;   // tune for your skin
int baseline = 0;
void setup() {
  Serial.begin(9600);
  claw.attach(9);
  long sum = 0;
  for (int i = 0; i < 100; i++) { sum += analogRead(EMG); delay(10); }
  baseline = sum / 100;
}
void loop() {
  int v = analogRead(EMG);
  Serial.println(v);
  int diff = abs(v - baseline);
  claw.write(diff > THRESHOLD ? CLOSED : OPEN);
  delay(20);
}

Expected result: The Serial Monitor shows changing analog values when you flex, and the servo position responds once you exceed the threshold.

Step 4 - Flex and See It Move

Goal: Confirm your electrode placement, wiring, and threshold produce consistent motion.

What to do: Flex your forearm and watch the servo. If it triggers too easily or not at all, adjust THRESHOLD to match your signal strength.

Arduino Nano using an EMG muscle sensor reading to open and close a servo claw during forearm flex
Flex your forearm to create spikes in the analog signal that close the servo; relax to open it.

Expected result: Flexing causes the claw to close (or move toward closed), and relaxing causes it to open.

Step 5 - Where to Take It Next

Goal: Explore safe, realistic next steps based on the same EMG-to-actuator concept.

What to do: Consider these extensions:

  • Two electrode groups to distinguish flex vs extend for bidirectional control
  • Drive a 3D-printed prosthetic hand with 5 servos for finger-by-finger movement
  • Use as a gesture controller for video games (combine with Pro Micro HID)
  • Log signals for biofeedback and rehab applications

Expected result: You have a clear direction for expanding the project without changing the core wiring and sensing approach.

Conclusion

You built an Arduino Nano project that reads an EMG muscle sensor and uses that signal to move a servo claw in real time. Once your electrode placement and threshold are dialed in, this becomes a strong starting point for biofeedback demos, gesture controllers, and prosthetic-style mechanisms.

Want the exact parts used in this build? Grab them from ShillehTek.com. If you want help customizing this project or building something for your product, check out our IoT consulting services.

Project photo credit: Instructables (reference source for this version).