Gesture Recognition for Computers and Smartphones

S Staff
Author
Share

Overview

We have seen many types of control methods in electronic devices, including simple switches, rotary encoders, touch screens and even voice commands. Even though all of these methods work fine, we are always eager to try new methods for controlling our devices. One of which includes gesture recognition. Even the tech giant Google has been working on their own gesture recognition sensor named Project Soli. Inspired by that we have created our own gesture sensor. Our DIY module can be easily connected to a PC or Mac via a USB-C port, allowing you to control media playback, navigate applications, and perform any action that can be executed using a keyboard, all through intuitive gestures. 

For gesture sensing we are using the APDS-9500 sensor from Broadcom. It is an imaging-based gesture recognition IC with an I2C-bus interface. It can recognise nine gestures, including move up, move down, move left, move right, move forward, move backwards, circle-clockwise, circle-counterclockwise and wave. An RP2040 ARM SoC from the Raspberry Pi Foundation is being used as the main controller. When it is plugged in the RP2040 will enumerate an HID device and whenever a gesture is detected it will send a corresponding pre-programmed response to the PC using HID protocol. An ADM7171 ultra low noise LDO from Analog Devices is used for generating the 3.3V line for the SoC and the Sensor. To ensure the proper operation of the SoC we have also included an ADM803 voltage supervisor chip, which is also from Analog Devices.
 

Code File

Codeschematicsdownload Button

PCB Gerber File

Gerber Filedownload Button

Components Required

ValueManufacturerDigikey Part NumberDatasheet Link   Quantity
100nMurata Electronics490-6328-1-ND Murata Electronics Datasheet

Datasheet

14
1uMurata Electronics490-10018-1-NDMurata Electronics GRM155R61E105MA12 datasheet

Datasheet

7
18pFMurata Electronics490-5858-1-NDMurata Electronics GRM1555C1H180JA01 datasheet

Datasheet

2
4.7uFSamsung Electro-Mechanics1276-1482-1-NDSamsung Electro-Mechanics CL05A475MP5NRNC datasheet

Datasheet

2
1nMurata Electronics490-3244-1-NDMurata Electronics GRM1555C1H102JA01 datasheet

Datasheet

1
10uFManufacturer490-GRM155R60J106ME05DCT-NDManufacturer GRM155R60J106ME05 01A datasheet

Datasheet

1
LED RedHarvatek Corporation3147-B2841USD-20D001014U1930CT-NDHarvatek Corporation datasheet

Datasheet

2
LED GreenHarvatek Corporation3147-B2841NG--05D000514U1930CT-ND Harvatek Corporation B2841NG05D000514U1930 datasheet

Datasheet

1
LED BlueHarvatek Corporation3147-B2841NB--20C001414U1930CT-NDHarvatek Corporation B2841NB20C001414U1930 datasheet

Datasheet

1
ADM7171ACPZ-3.3-R7Analog Devices505-ADM7171ACPZ-3.3-R7CT-NDAnalog Devices datasheet

Datasheet

1
CX60-24S-UNITHirose Electric Co LtdH126317-ND Hirose Electric Co Ltd datasheet

Datasheet

1
10kPanasonic Electronic ComponentsP10.0KLCT-NDPanasonic Electronic Components datasheet

Datasheet

4
1kPanasonic Electronic ComponentsP1.00KLCT-NDPanasonic Electronic Components AOA0000C304 datasheet

Datasheet

6
27RPanasonic Electronic ComponentsP27.0LCT-NDPanasonic Electronic Components AOA0000C304 datasheet

Datasheet

2
5.1kPanasonic Electronic ComponentsP5.1KJCT-NDPanasonic Electronic Components 1242 datasheet

Datasheet

1
RP2040Raspberry Pi2648-SC0914(13)CT-NDRaspberry Pi datasheet

Datasheet

1
W25Q16JVUXIQ_TRWinbond256-W25Q16JVUXIQTRCT-NDWinbond datasheet

Datasheet

1
APDS-9500Broadcom Limited516-3579-1-NDBroadcom Limited datasheet

Datasheet

1
ADM803SAKSZ-REEL7Analog Devices Inc.505-ADM803SAKSZ-REEL7CT-NDAnalog Devices Inc datasheet

Datasheet

1
YIC-12M20P2/XT324-10/10Raltron Electronics2151-RH100-12.000-18-2030-EXT-TRCT-NDRaltron Electronics datasheet

Datasheet

1
Have any question related to this Article?