ESP8266 Adds Web Control To Old Home Theater

There was a time when you could hold onto a TV or A/V receiver for the better part of the decade and not feel as though you were missing out on the latest and greatest features. But today you’re lucky to get three years out of a “smart” TV before it’s either supplanted by a vastly improved version, or falls victim to some weird issue that (surprise, surprise) means you need to buy a new one.

A simple touch interface hosted on the ESP8266

Not content with the status quo of planned obsolescence, [aamarioneta] recently set out to add a sprinkling of modern convenience to a circa 2008 Denon AVR 2308 home theater receiver. Like any good A/V receiver, the AVR 2308 features a dizzying array of ports on the back panel, one of which happens to be for an external infrared receiver. This turned out to be the perfect place to jack in an ESP8266, earning this 12 year old receiver an honorary membership into the Internet of Things.

The interesting thing about this hack is that there’s actually no IR involved. Sure, the code could be used to drive an IR LED attached to the ESP8266’s GPIO pins, and the AVR 2308 would respond as if the original remote was being used; but where’s the fun in that? Thanks to the receiver port, they’re able to inject the IR codes directly into the device. It’s the same protocol, just without the photons.

With a simple web-interface running on the ESP8266, they can control the AVR 2308 from a smartphone’s browser anywhere in the house. From here it would only take a few more lines of code to tie it into an existing home automation system or add in support for Alexa voice control.

We love seeing projects that add modern features to older hardware, as that’s one less piece of gear sent to an early grave because its owner felt they were behind the curve. It’s getting a bit unfriendly out there for consumers, and anything that puts the power back into the owner’s hands is a step in the right direction.

23 thoughts on “ESP8266 Adds Web Control To Old Home Theater

  1. It would be totally awesome to make this work with other hardware, with an actual IR LED, a detector for training, and some software this could be a generic way to replace an old school remote with an app on your phone. Heck you could replace a whole pile of remotes, and for example make a “watch the Patriots game” button that looks up what channel the game is on, turns on the TV and changes to the channel.

    1. I’m actually working on something like this right now. My concept is based on a RasPi Zero W with an IR transmitter running Mosquitto, Node-Red and LIRC that sits on a bookshelf inside of an old IR repeater case and an ESP32 with a capacitive touchscreen and a rotary encoder as the remote, which handles the UI and communicates using MQTT over WiFi.

      Currently, it’s capable of controlling my older Sony Bravia TV (which doesn’t support CEC) over IR, my Integra home theater receiver using the ISCP protocol over ethernet and Kodi (LibreELEC) running on a Pi 4, which is also on ethernet.

      I could do all this on an app on my phone, but I don’t want to always have to pick up my phone and unlock it just to change the volume on my system or skip the current song. Which is why I’m dedicating an ESP32 to the task.

      1. I was also working on that project, then I found one here on hack-a-day that already exists and works very well.

        I would recommend it, there are existing apps to do what you want or use the web interface (which I use most often). You can edit remotes, click learn, and add any IR command you want whenever you want. It’s wonderful.

        https://hackaday.io/project/7858-zmote

  2. This is nothing new. I do AV integration for a living and there are products on the market that do exactly this sort of thing. However the way this guy is going is much cheaper in hardware but costly in time and labor then using a keyturn solution that would only take a few minutes to a day to program depending on how much hardware is involved. The last system I deployed had five TV, 7.2 audio, six HEOS Amps, Apple TV, blueray and five DirecTV boxes with a URC MX Home Pro system. Took a day to program including creating scenes and jumptos. If I would of done it using a bunch of ESP8266 modules it would of probably taken me a few weeks.

      1. It seems every day there’s something new coming out, new technology etc.
        Just because it takes someone longer, doesn’t mean they are inept.
        Nowadays, remotes have more buttons than they really need (and that’s just my opinion)
        My father worked for NBC in New York, and even with his background, some of the newer
        stuff takes a bit of study. Then again, on the other side of the coin, the younger generation
        doesn’t know how to fix older equipment. I watched a youtube video the other day of an
        older man restoring a radio from 1936. It’s not that people are inept when it comes to newer
        technology, it’s just that maybe they’re from an earlier time.

    1. Might be difficult to believe, but not everyone is as inept as you apparently are. Of course, the fact that it took you a whole day to setup a “turnkey” solution should have been a hint.

  3. A very popular way of interacting IR and RF devices via an app or home automation is using a Broadlink RM Pro – there’s a python API on github that’s been used in many different projects.

  4. Obviously the easier way to do it is to set up a Wireless Application Protocol gateway on a SPARCstation running VMS in an emulator, so you can do a WAP push of the remote commands embedded in a web clipping to your Palm VIIx via a femtocell, which then uses it’s IRDA to operate the device.

  5. Funny this article coming out today because on the drive home I was just thinking of such a project. I have a Roku and Samsung TV, that’s it. But I would love to be able to hit one button, turn TV on, tune to Netflix/Hulu/Amazon Prime, at a certain volume level. Got the idea from the Roku remote and its buttons. It would be great to take advantage of the RF circuitry in the Roku remote and tie it to a Raspi with a small touch screen….

    1. You might like my idea. I want to repurpose the buttons on my Roku remote. My Roku TV remote works with IR. I was thinking I could intercept the IR commands and rebroadcast the ones I want. Some commands would instead be translated to Rokus network protocol since there is no IR command to open some apps. This could also allow a Roku TV remote to control a regular Roku and TV or a normal remote to control a Roku without IR.

  6. It’s a shame he gave up on the RS-232, it can give more options and more granular control. There are some reports of the AVR-2308 not being properly grounded on the DB9 port and needs to be tied to ground separately, which could possibly explain it not working on the esp 8266, but working on the PC.

  7. You’re missing the point… Infrared is NOT what the article is about….

    Denon equipment has as connections to remote control a number of devices by linking them with a cable. This serial port can be connected to a esp8266 and with a simple sketch have wifi control of the device and other denon equipment linked to the device. If it was possible I’d attach a picture of the ports in question… but jus google denon avr2803 and have a look of the ports mid back of the receiver.

    Why you would hook a edp8266 is beyond me …. A simple ir blaster works just fine.. I use a Broadlink RM2 with Homeassistant to have alexa control my Denon avr2803 and other non denon IR devices. No need to make it more complex

Leave a Reply to Andrew MCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.