Magically Turning on a Light Just By Pointing at It

At first glance, this system looks like magic; all the user has to do is point at a light, and it will turn on or off.

IoT (Internet of Things) and home automation systems promise to make our lives easier by increasing the convenience of interacting with the technology all around our homes. Unfortunately, the way that is most often implemented is through cumbersome smartphone apps, unsophisticated timers, or voice assistants that force you to shout frustrated obscenities in your own home. What consumers really want is to control their technology with just a thought. Mind control is, however, still a long way away. The next-best thing is this gesture-recognition system developed by redditor 00legendary.

At first glance, this system looks like magic; all the user has to do is point at a light, and it will turn on or off. Even more impressive is the fact that that gesture doesn’t just work with that one light, it can be used to activate anyIoT devicethe user points at. That is possible because the system is actually checking to see what object the user is pointing at. That means it doesn’t require a unique gesture for each device, which dramatically improves the user experience. This was also done with off-the-shelf components, and is less expensive than many voice assistants.

The heart of the build is an Intel RealSense Depth Camera, which is an intelligent camera designed for computer vision applications. The only other hardware is an Arduino, a relay, and a PC. The system works by looking at the position of the user’s arm, and then forming a line continuing on from that. That line is placed in a three-dimensional model of the room, where there are hit boxes representing the connected devices. If the line intersects a hit box, the corresponding device is activated by toggling the relay with the Arduino. 00legendary has also setup an indoor tracking system to set the location of the hit boxes, meaning connected devices can be moved without the user having to explicitly update the 3D model.