Give Your Old Remotes the Boot with IRis
IRis is an open source, ESP32-powered universal remote that can learn, store, and replay infrared commands from thousands of devices.
Universal remotes used to be a popular way to replace the pile of controllers cluttering up the coffee table. But with smartphones, smart home systems, and voice assistants taking over, the infrared remote doesn't get much attention anymore. So, if you've still got a bunch of them lying around, you might be interested in an open source device called IRis that was developed by Nicolás Ruiz Neiman. It is an ESP32-powered universal remote that can learn commands from existing remotes.
IRis is built around an ESP32-WROOM-32 development board, which handles everything from decoding infrared signals to managing the user interface. A 1.3-inch OLED display with a resolution of 128×64 pixels provides a menu-driven interface, and five tactile buttons allow users to navigate through the available options.
For infrared communication, the device uses a TSOP38238 receiver to capture signals and two infrared LEDs to transmit them. The LEDs are driven through a 2N2222 transistor to provide sufficient current. Everything is housed in a custom 3D-printed enclosure and powered by a rechargeable 18650 lithium-ion battery.
Instead of looking up remotes in a booklet and hoping that yours is supported, you can use an existing remote to teach IRis how to copy its signals. Point a remote at the receiver, press a button, and IRis captures the signal for later use. It can decode popular infrared protocols, including NEC, Sony SIRC, Samsung, RC5, and JVC. Signals that don't match a recognized protocol can also be saved in raw form. Once captured, commands can be organized into virtual remotes, allowing a single IRis device to control multiple televisions, audio systems, and other infrared-equipped electronics.
Users don't necessarily have to capture every command themselves. IRis supports the Flipper-IRDB database, which contains infrared codes for thousands of devices. These can be loaded from a microSD card or imported into internal storage. The project also includes a Python utility for converting LIRC and Pronto hex codes into compatible formats.
Beyond replacing remotes, IRis offers several features for experimenting with infrared signals. A "Be Gone" mode cycles through power commands for an entire category of devices, and a loop mode repeatedly transmits selected commands. There's also a mode that sends randomized commands with configurable delays, along with tools for manually entering codes and scanning ranges of infrared commands.
The project is still a work in progress, but the basic functionality is already in place. Anyone interested in building their own IRis can find the source code, wiring diagrams, bill of materials, assembly instructions, and 3D-printable enclosure files on GitHub. Precompiled firmware is available as well, so there's no need to compile the code yourself just to give it a try.
Please log in or sign up to comment.