CodeHub
HomeUploadContact
Back to Hub

Finger Controlled LED

March 23, 2026 Watch Tutorial

Wiring Schematic

Finger Controlled LED wiring diagram

Hardware Required

  • LED X 5
    Buy on Amazon

Source Code

Arduino / C++
1int leds[] = {2, 3, 4, 5, 6};
2int numLEDs = 5;
3
4void setup() {
5  Serial.begin(9600);
6
7  for (int i = 0; i < numLEDs; i++) {
8    pinMode(leds[i], OUTPUT);
9  }
10}
11
12void loop() {
13  if (Serial.available() > 0) {
14    int fingerCount = Serial.parseInt();
15
16    // Turn OFF all LEDs first
17    for (int i = 0; i < numLEDs; i++) {
18      digitalWrite(leds[i], LOW);
19    }
20
21    // Turn ON LEDs based on finger count
22    for (int i = 0; i < fingerCount && i < numLEDs; i++) {
23      digitalWrite(leds[i], HIGH);
24    }
25  }
26}
27
28
29// Below is PYTHON code for controlling with hand
30import cv2
31import mediapipe as mp
32import serial
33import time
34
35# 🔌 Change COM port (IMPORTANT)
36arduino = serial.Serial('COM3', 9600)  # Example: COM3 (Windows)
37time.sleep(2)
38
39mp_hands = mp.solutions.hands
40hands = mp_hands.Hands()
41mp_draw = mp.solutions.drawing_utils
42
43cap = cv2.VideoCapture(0)
44
45def count_fingers(hand_landmarks):
46    fingers = []
47
48    # Thumb
49    if hand_landmarks.landmark[4].x < hand_landmarks.landmark[3].x:
50        fingers.append(1)
51    else:
52        fingers.append(0)
53
54    # 4 Fingers
55    tips = [8, 12, 16, 20]
56    for tip in tips:
57        if hand_landmarks.landmark[tip].y < hand_landmarks.landmark[tip - 2].y:
58            fingers.append(1)
59        else:
60            fingers.append(0)
61
62    return sum(fingers)
63
64while True:
65    success, img = cap.read()
66    img = cv2.flip(img, 1)
67
68    rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
69    results = hands.process(rgb)
70
71    finger_count = 0
72
73    if results.multi_hand_landmarks:
74        for handLms in results.multi_hand_landmarks:
75            mp_draw.draw_landmarks(img, handLms, mp_hands.HAND_CONNECTIONS)
76            finger_count =
Adruino Board
Buy on Amazon
  • Jumper wires
    Buy on Amazon
  • Resistor (330Ω)
    Buy on Amazon