Below is a video showcase of the entire project on YouTube!
PalmPilot is a computer vision-powered, hand gesture-controlled Arduino car. Using a webcam and AI, you can drive, steer, and stop the car with simple hand gestures—no physical remote required!
- Control car movement (forward, backward, left, right, stop) using hand gestures
- Real-time gesture recognition with computer vision (MediaPipe + OpenCV)
- Arduino-based motor control via serial communication
- Plug-and-play: just connect your Arduino and webcam
- The Python script uses OpenCV and MediaPipe to detect hand gestures from your webcam.
- Recognized gestures are mapped to car commands (e.g., open palm = forward, fist = stop).
- Commands are sent to the Arduino over serial.
- The Arduino receives commands and drives the motors accordingly.
- Arduino board (Uno, Nano, etc.)
- Motor driver (L298N or similar)
- Webcam
- Motors and wheels
- USB cable
- Python 3.x
- OpenCV (
cv2) - MediaPipe
- PySerial
- Arduino IDE
- Clone the repository:
git clone https://github.com/Rian-Sen/PalmPilot.git
- Install Python dependencies:
pip install opencv-python mediapipe pyserial
- Connect your Arduino and upload
arduino.inousing the Arduino IDE. - Update the serial port in
serial_connection.pyto match your system. - Run the Python script:
python serial_connection.py
- Open palm: Move forward
- Fist: Stop
- Middle finger up: Move backward
- Index finger up: Turn right
- Index + middle finger up: Turn left
serial_connection.py— Computer vision and gesture recognition logicarduino.ino— Arduino code for motor controlLICENSE— MIT LicenseREADME.md— Project documentationComputer Vision Car Report.pdf— Technical report
MIT License © 2025 Rian Sen Majumder
