1. Introduction
Hand tremors significantly affect daily life, especially in patients with Parkinson’s disease. Basic stabilization systems reduce shaking only partially.
In this project, we build an advanced Arduino Anti-Tremor Spoon with 2-axis stabilization using dual servo motors and the MPU6050 sensor.
This system improves performance by correcting motion in both directions, making it closer to real assistive devices.
2. Components Required
Arduino Nano (recommended)
MPU6050 Gyroscope + Accelerometer
2 × MG90S Metal Gear Servo Motors
Spoon + 2-axis servo bracket (gimbal type)
Jumper wires
18650 Battery + Boost converter (5V)
Mounting frame (3D printed or metal)
3. Circuit and Connections
MPU6050
VCC → 5V
GND → GND
SDA → A4
SCL → A5
Servo 1 (X-axis)
Signal → Pin 9
VCC → External 5V
GND → GND
Servo 2 (Y-axis)
Signal → Pin 10
VCC → External 5V
GND → GND
Note use separate power supply dont use arduino nano vcc, use steel geared servo motor
4. Mechanical Setup (CRITICAL PART)
This is a 2-axis gimbal system:
Servo 1 controls horizontal tilt (X-axis)
Servo 2 mounted on Servo 1 controls vertical tilt (Y-axis)
Spoon fixed to second servo
MPU6050 placed near handle
👉 Proper alignment is very important for stability.
5. Working Principle
MPU6050 detects tilt and vibration in X and Y directions
Arduino processes both axes
Filter removes noise
Servo motors move in opposite direction
Spoon remains stable in two directions
👉 This gives much better stabilization than single servo systems.
6. Arduino Code (Advanced Version)
#include <Wire.h>
#include <Servo.h>
Servo servoX;
Servo servoY;
const int MPU = 0x68;
int16_t AcX, AcY;
float filteredX = 0;
float filteredY = 0;
float alpha = 0.7; // filter
void setup() {
Wire.begin();
Wire.beginTransmission(MPU);
Wire.write(0x6B);
Wire.write(0);
Wire.endTransmission(true);
servoX.attach(9);
servoY.attach(10);
Serial.begin(9600);
}
void loop() {
Wire.beginTransmission(MPU);
Wire.write(0x3B);
Wire.endTransmission(false);
Wire.requestFrom(MPU, 4, true);
AcX = Wire.read() << 8 | Wire.read();
AcY = Wire.read() << 8 | Wire.read();
// Filtering
filteredX = alpha * filteredX + (1 - alpha) * AcX;
filteredY = alpha * filteredY + (1 - alpha) * AcY;
// Map to servo angles
int angleX = map(filteredX, -16000, 16000, 20, 160);
int angleY = map(filteredY, -16000, 16000, 20, 160);
angleX = constrain(angleX, 20, 160);
angleY = constrain(angleY, 20, 160);
servoX.write(angleX);
servoY.write(angleY);
delay(10);
}
7. Advanced Improvement (PID Concept)
For better stabilization, use PID control:
P → corrects immediate error
I → corrects accumulated error
D → reduces overshoot
👉 PID gives:
Smooth response
Faster correction
Professional-level output
8. Tips for Best Performance
Use strong mechanical frame
Use metal gear servos only
Provide stable external power
Reduce sensor noise
Balance spoon weight properly
9. Applications
Assistive device for Parkinson’s patients
Biomedical engineering research
Robotics stabilization systems
Final year engineering projects
Product prototype development
10. Limitations
Still slower than commercial devices
Servo motors have limited speed
Mechanical design affects accuracy
11. Conclusion
This project demonstrates an advanced anti-tremor spoon using 2-axis stabilization.
Compared to basic versions, it provides better performance and stability, making it suitable for high-level student projects and research applications.
2-Axis Tremor Spoon Mechanical Design Assist (Step-by-Step)
🖼️ Overall Structure Idea
🧠 Basic Concept
👉 You are building a mini gimbal (like camera stabilizer)
Servo 1 → Base rotation (X-axis)
Servo 2 → Mounted on Servo 1 (Y-axis)
Spoon → Mounted on Servo 2
🛠️ STEP 1: Base Handle
What to use:
PVC pipe / wooden stick / 3D print handle
Do:
Fix Arduino + battery inside or on side
Mount firmly (no vibration)
🛠️ STEP 2: Mount Servo 1 (X-Axis)
👉 This is the main base servo
Steps:
Fix servo vertically on handle
Use screws or strong glue
Shaft (horn) should face outward
👉 This servo controls left-right tilt
🛠️ STEP 3: Attach L-Bracket / Servo Horn
👉 This connects Servo 1 to Servo 2
Steps:
Fix servo horn (plastic arm) to Servo 1
Attach L-shaped bracket on horn
Make sure it is:
Strong
Center aligned
🛠️ STEP 4: Mount Servo 2 (Y-Axis)
👉 This is the second level servo
Steps:
Fix Servo 2 on the L-bracket
Orientation: perpendicular to Servo 1
Shaft should face forward
👉 This servo controls up-down tilt
🛠️ STEP 5: Attach Spoon
Steps:
Fix spoon to Servo 2 horn
Use:
Screw + clamp
Or epoxy glue
👉 Keep spoon:
Centered
Balanced
🛠️ STEP 6: Mount MPU6050 Sensor
👉 VERY IMPORTANT for accuracy
Place it:
Near handle (close to hand)
NOT on moving servo
👉 Why?
It should sense hand motion, not servo motion
⚖️ STEP 7: Balancing (CRITICAL)
👉 If unbalanced → system fails ❌
Do this:
Spoon should not tilt by itself
Add small weight if needed
Center of gravity must align
🔩 SIMPLE STRUCTURE SUMMARY
Handle
│
└── Servo 1 (X-axis)
│
└── Bracket
│
└── Servo 2 (Y-axis)
│
└── Spoon
⚠️ COMMON MISTAKES (VERY IMPORTANT)
❌ Servo loose → vibration increases
❌ Spoon off-center → poor control
❌ Sensor on moving part → wrong readings
❌ Weak glue → unstable system
🧰 MATERIAL OPTIONS
Easy (No tools)
Cardboard + hot glue
Plastic sheet
Better
Acrylic sheet
Metal L-bracket
Best
3D printed gimbal frame
🚀 PRO BUILD TIP
👉 Use Pan-Tilt Servo Bracket Kit
(Search: pan tilt servo mount)
✔ Ready-made
✔ Perfect alignment
✔ Saves time