Hand Gesture Controlled Speaker


The Hand Gesture Controlled Speaker is a device that can interface with any speaker through an audio jack connection. Once the speaker is connected to this device, several functions can be controlled through motion detection. Functions such as changing the song, adjusting the volume, and pausing/playing music through the detection of hand gestures have been incorporated into this project. This project geared towards anyone who is interested in new ways to interact with technology and music.

Quick Demo

The above demo displays the gesture controlled speaker's ability to detect the hand motion in order to adjust volume and change songs. When using a right sweeping hand motion above above the device, it will fast forward to the next song on the playlist, and when using a left sweeping motion the device will go back to the previous song. The volume is adjusted based on the hand's distance away from the front of the device. (My apologies for poor video quality, this was taken at a project expo on my phone).

Hardware Components and Usage

  • ArduinoUno
Launchpad used for uploading code in order to read data detected from the three sensors incorporated in this project.
  • ZX Distance and Gesture Sensor
Analog sensor that emits infrared light and then detects an object's position in a horizontal x-axis and vertical z-axis based on the time it takes for the infrared light to bounce back to the sensor. This sensor was used to go forward or back one song after detecting a left or right direction swiping motion.
  • Ultrasonic Sensor - HC - SR04
  • Analog sensor that can detect an object within a 2cm-400cm distance range by the time it takes for ultrasonic waves emitted by the sensor to bounce off of the object back to the sensor. This sensor was used to change the volume based on the distance the user's hand is away from the sensor
  • IR Break Beam Sensor - 3mm LEDs
A digital sensor that consists of an infrared transmitter and receiver. This sensor was used to pause or unpause a song once the infrared beam is broken by a hand passing through it.
  • SparkFun microSD Transflash Breakout
A breakout board used to send the data from an inserted microSD memory card to the Arduino Uno.
  • SanDisk - Ultra 32GB microSDHC Class 10 Memory Card
A microSD memory card that used to store audio files.

Functional Block Diagram

Figure 2: High Level Functional Block Diagram

Design Challenges and Solutions

  • The IR Break Beam sensors were not strong enough to operate effectively over the range that we needed them to work.
  • The Ultrasonic sensor was not as powerful as expected, so its not very successful in detecting the user's hand in ranges of about 300-400cm.
  • Purchase and implement stronger infrared break beam and ultrasonic sensors.


  1. Usually I never comment on blogs but your article is so convincing that I never stop myself to say something about it. You’re doing a great job. Please Keep it up. microsonic ultrasonic sensors

  2. After reading the post , I got some descriptive information which is very helpful for me. Thanks for posting it. Keep it up. watlow pm6


Post a Comment