The other day I was watching TV on a Virgin V6 box when I thought how convenient it would be to be able to ask Alexa to change the channel; I started scrolling through the menus when I stumbled across a setting for "Network Remote Control" that was disabled. There was no information on what it did, but I turned it on and then turned to Mr Google. A little digging found me on this document provided by TiVo themselves. It explains how you can connect to a box over the local network and issue simple text based commands to do things like change channels and navigate around the menus. So, I fired up the Terminal on my computer and connected to the box over telnet. Quickly I saw the potential for some C++ practice and dove into writing the v6Control library, for sending remote control commands from a WiFi enabled Arduino.

If you want to download the library, check it out on GitHub.