meta data for this page
LamaPLC: Pixart PAJ7620U2 Gesture recognition sensors/module with I²C communication
The PAJ7620U2 is a highly integrated gesture-recognition sensor module from Pixart that detects up to nine hand gestures and proximity via an I²C interface. It is commonly available on breakout boards for use with microcontrollers such as Arduino or Raspberry Pi.
The sensor module integrates an optical lens and an infrared (IR) LED to function even in low-light or dark environments.
Key Features
- Supported Gestures: 9 basic gestures: Up, Down, Left, Right, Forward, Backward, Clockwise (CW) circle, Counter-clockwise (CCW) circle, and Wave. Some modules support up to 13 gestures in a slower mode.
- Interface: I²C communication interface (up to 400 kbit/s), default address: 0x73
- Operating Voltage: Typically 2.8V to 3.6V (sensor chip); breakout boards often include onboard voltage translators for 3.3V/5V compatibility. If using a basic breakout board without a voltage regulator, connect a 3.3V supply to the VCC pin. If using a module that specifies 5V compatibility (such as the Waveshare or Gravity series), you can safely use either 3.3V or 5V.
- Detection Distance: Effective range of 5 cm to 15 cm, with some setups reaching up to 20 cm.
- Ambient Light Immunity: High immunity to ambient light, up to <100k Lux.
- Power Consumption: Designed for low-power operation, suitable for battery-operated devices.
- Array Size: 60×60 pixels
- Gesture speed: 60~600°/s in Normal Mode and 60~1200°/s in Gaming Mode
If you'd like to support the development of the site with the price of a coffee — or a few — please do so here.
Here's a handy tip: you can quickly save this page as a PDF by clicking “export to PDF” in the menu on the right side of the screen.
Arduino wiring
- SCL: A5
- GND: GND
- SDA: A4
- Vdd: 5V
Arduino code
Here is the example code that uses the RevEng PAJ7620 Library to recognize 9 gestures:
#include "RevEng_PAJ7620.h" RevEng_PAJ7620 sensor = RevEng_PAJ7620(); void setup() { Serial.begin(9600); if (!sensor.begin()) { Serial.print("PAJ7620U2 initialization failed"); } } void loop() { Gesture gesture = sensor.readGesture(); switch (gesture) { case GES_FORWARD: Serial.println("FORWARD"); break; case GES_BACKWARD: Serial.println("BACKWARD"); break; case GES_LEFT: Serial.println("LEFT"); break; case GES_RIGHT: Serial.println("RIGHT"); break; case GES_UP: Serial.println("UP"); break; case GES_DOWN: Serial.println("DOWN"); break; case GES_CLOCKWISE: Serial.println("CLOCKWISE"); break; case GES_ANTICLOCKWISE: Serial.println("ANTICLOCKWISE"); break; case GES_WAVE: Serial.println("WAVE"); break; } }
I²C topics on lamaPLC
This page has been accessed for: Today: 2, Until now: 4