• EUR€
  • £GBP
  • $USD

Gesture Universal Remote-control

DFRobot Apr 27 2020 965

Lying on the sofa, I am totally addicted to TV shows, my favorite one is Game of Thornes. My little sisters and brothers come back and take the TV control before I recognize, then the Thone is Peppa Pigs… I wish I could have a universal remote control!


One of my favorite things is to eat snacks when reading novels and watching shows. But sometimes it is annoyed to press controls with greasy hands. Hmmm, maybe you do not eat junk food, but fruits, the majority of people would love to eat them. When our hands were stained with fresh fruit juice, it will also inconvenient to take controls. As a senior foodie, I must solve it.
Start right now! Search data and found a new product Gravity: PAJ7620U2 Gesture Sensor released by DFRobot. How about making a universal gesture control? During this special period, I have already stayed at home for a couple of weeks. If you are also getting bored, let’s make it together. 

With this remote control, we can control the electrical device by gestures. It also includes custom features, so it is theoretically possible to control all the electrical appliances controlled by the infrared remote control. Now, there is no need to worry about remote-control rob competition. 

Materials in Need
1. Gravity: PAJ7620U2 Gesture Sensor x12. Beetle - The Smallest Arduino Board with Bluetooth 4.0 x1
3. Gravity: Digital IR Receiver Module x1
4. Gravity: Digital IR Transmitter Module x1
5. 3.7V Lithium Battery (can be charged) x1
6. Lithium Battery Charger x1
7. Monochrome 0.96” 128x64 I2C SPI OLED Display x1
8. Jumper Wires 9" F/F (10 Pack) 

1. Design Idea

Taking advantage of the ability to recognize multiple gestures of the gesture sensor, and lets the infrared module send a specific encoding (PS: enter to learning setup mode and store the corresponding remote control encoded into the EEPROM of the beetle) to manipulate the appliance once a particular gesture is recognized.

2. Hardware Connection

Majority of these modules has connectors, plug and play, free from soldering. Such a boon for poor hand-workers! In fact, before I started, I have decided to solder all parts… but to be honest, my work is too ugly…. Then I changed my plan. 

3. Programming

I selected Arduino IDE1.8.9 as the main software. You can download it from https://www.arduino.cc/en/Main/Software and install it accordingly. It is easy to install but hard to debug. I have spent a long time in programming, but you would not have this problem. I have packed it for yours. Once you install the library file and upload “.ino” to hardware, you can just enjoy it.

Now I am shaking my hands to test the gesture sensor, the result is shown below:

It’s fine if it is not connected to the computer, the OLED screen can also display the corresponding action, but the continuous display time is a little short. The code value in the image is the coding of IR be transmitted which is used to control devices. And these gestures correspond to different gesture descriptions.  

This gesture sensor has 9 built-in gestures:

Up: wave up (in front of the emitter)

Down: wave down 

Right: wave right

Left: wave left

Forward: be close to the sensor and wave

Backward: far away from the sensor and wave 

Clockwise: wave clockwise

Anticlockwise: wave anticlockwise/counterclockwise

Wave: wave rapidly

If the gesture sensor captures your actions, the onboard Blue LED in Beetle will flash.  Because the example code adopts a 10seconds sleep mode. So, it will lock itself automatically if there is no operation in the 10s. And your gestures may not be recognized by the sensor. Then you can execute” Forward” to back to work.

Why there are IR transmitter and IR receiver? Is it can only be used to control the TV? Is it possible to operate TVs with different codes?  Could it be a universal control?

Yes, yes, this remote control is able to control all electrical devices based on the principle of infrared. Ha-ha, not only don’t worry about brother and sister to occupy the TV remote control board, but all electrical appliances with controls are in my control. With it, I can enjoy my master's life now!

As soon as the Wave action is made in the working state, it begins to enter the universal mode setting state, the display will show information as below:

It means the remote-control is receiving the gesture UP, and you need to put the original control opposite to the gesture control and define the function of the original control to the corresponding gesture. For example, I want to wave UP and realize volume +. Then I need to take the original TV control to the gesture and press the key” volume +” and wave UP. Once the definition is set, an infrared encode will pops-up. Then you can define the next gesture and so on. In this project, I have defined 8 keys in all.

Design the Crust

Choose for a long time, and finally, in a number of shapes, I choose this shape.

Set Size

My philosophy is "sharp", representing a very thin, very scientific and technological sense. The core part is thin, most places are only 9mm thick. How amazing a universal control can reach 9mm thin! 

I am not a professional structural designer, and can only roughly set size. After modeling, the 3D printing result is acceptable, as shown below:

3D printing file zip.

There are two files in the zip: the 3dm file and the STL file. The model STL has two files, corresponding to the upper and lower two parts. Once printed, stick each component with a hot melt. If you want to modify the size setting, you need to download the 3dm file.

Install All Parts


Enjoy it!