In the distant past, in an era lost to time, TVs didn’t have remote controls. Your dad probably even complained about having to get up to change channels during that dark time. Then, like a gift from heaven, we were given infrared remotes. For a time, we were happy. But, eventually we grew weary of having to point the remote at the TV, and once again we were unsatisfied. That was the case with Nicolas Chourrout and his Roku remote, but he’s come up with a better WiFi version that you can build yourself.
Despite the obvious emphasis on usability, many Rokus still have infrared remotes that you have to actually point in the direction of the box. But, unlike an old TV, your Roku also has a remote control API. That’s how the iOS and Android Roku remote apps communicate with the box. The API works with very simple commands over your local network, and Chourrout’s WiFi remote takes advantage of that to provide control from anywhere the network reaches, without having to point it at the TV.
The Roku External Control API uses basic HTTP POST commands for control, so all you need is the Roku’s local IP address and you can turn the volume up with a Post command to “http://[Roku IP]:8060/keypress/VolumeUp”. Chourrout’s design handles that with an ESP8266 paired with a 16-key numeric keypad, and an Adafruit Micro-Lipo charger and battery for power. When a button is pressed, the ESP8266 sends a POST command to the corresponding address and the Roku responds immediately! It may seem simple, but it works much better than the standard infrared Roku remote.