Designer Dillan Stock decided to make his own universal remote, called the “Everything Remote,” after his TV remote broke, wanting something smarter than a basic replacement. He used an ESP32 microcontroller with ESPHome, taking advantage of his devices already being linked to his home assistant setup.
Basically, this allowed him to run devices like his TV, receiver, and soundbar, which were linked through WiFi. The ESP32 used infrared (IR) signals to control these devices, and the setup could be handled by a phone or voice assistant, creating a convenient, up-to-date take on a universal remote.
- Elevate your entertainment experience with a powerful processor for lightning-fast app starts and fluid navigation.
- Play Xbox games with no console required - Stream Forza Motorsport, Starfield, Palworld, and discover hundreds of other high-quality games directly on...
- Smarter searching starts here – Find movies by actor, plot, and even iconic quotes with AI-powered Fire TV Search. Try saying, "Alexa show me action...

If you want to make a universal remote like Dillan’s, begin with the hardware and IR code collection. First, grab an ESP32 microcontroller, an IR LED, a 220-330 ohm resistor, a breadboard, jumper wires, and possibly an IR receiver. Next, set up the ESP32 with ESPHome and link it to Home Assistant for improved control.

Install ESPHome on your computer by following its official guide. Make a YAML configuration file to set up the ESP32’s WiFi, IR transmitter, and commands (like “TV Power” with its IR code). Upload this firmware to the ESP32 through ESPHome’s dashboard. If you use Home Assistant, add the ESP32 via ESPHome integration, letting you control it from your phone or voice assistants like Alexa. This setup sends IR commands over WiFi, like Dillan’s networked system, and allows automations like turning on multiple devices at once.

Lastly, check the remote and make it user-friendly. Turn on the ESP32, point the IR LED at your devices, and test commands through ESPHome’s web interface or Home Assistant. If a command fails, verify the IR LED’s aim, double-check the codes, or make sure the WiFi is working, then tweak the YAML file and upload it again.

For a better experience, use Home Assistant’s app or ESPHome’s interface to control the remote. You can also add physical buttons to the ESP32 for a classic feel (needs extra coding) or put the setup in a 3D-printed case. This gives you a working, WiFi-enabled universal remote like Dillan’s, controllable by smartphone or voice, with options to customize more.
[Source]