Ever wanted to control your computer's mouse/keyboard functionality without having to actually sit in front of it? I do all the time. For instance, I often hook my laptop up to the TV in my living room to watch a show on Netflix. Well, roughly 20 minutes later, when the show is finished I have to get up, walk over to the laptop, click next episode, let it buffer for several seconds, click full screen mode, then walk back to the couch. This becomes a hassle when watching multiple episodes back-to-back... for several hours... burning through an entire season in one sitting. Okay, so maybe I'm just lazy and this doesn't exactly apply to you but this has been bugging me for awhile and that's what us makers do, we engineer solutions to our problems. (Regardless of how oddly specific those problems may be.)
I'm sure many of you will find other uses for this project, like a custom video game controller with buttons that send specific keystrokes from your phone... Or perhaps something more practical. Either way, here's how you build it....
Before we start, familiarize yourself with the diagram describing the flow of communication. (I recommend clicking the "i" in the upper-left corner, then clicking the link to the original file, in order to view full size)