Subjecting all kinds of proprietary devices to our will is a rite of passage for hackers. When it comes to proprietary wall sockets, we usually reverse engineer and imitate their protocols – but you can definitely take a shortcut, like [oaox], to cheat the buttons on the original remote control! The buttons on this kind of remote controller are often multiplexed and read as a key matrix (provided that there are more than four of them). Therefore, you can’t just ground one of the pads, and expect not to confuse the microcontroller in the remote controller. When reading the key matrix, the controller usually drives rows one by one and reads the column status. Externally driven rows or columns will cause the code to perceive the whole set of keys as “pressed” – however, digitally driven “switches” do not have this problem!
One way to achieve this is to use transistors, but [oaox] chose 4066 analog multiplexer for safety reasons. Regardless of the button configuration, it has a higher chance to work with any remote controller, for example, even if the button is connected as part of a resistive network. As a reward, the remote control still works, and you can still use its buttons to achieve your original purpose – as long as you keep your wiring clean! Compared with reverse engineering protocol and using wireless transmitter, this has another advantage, that is, even non real-time devices such as raspberry PI and other devices running operating system can not guarantee consistent operation when driving cheap GPIO to operate RF transmitter.
In the past, we have seen people try to solve this problem and finally turn to RF protocol hackers. We have discussed analog multiplexers and switches before, if you want to find more ways to apply them to solve your hacker problem! Taking such a project as a starting point, it’s not too far to replace the drive-y joystick on the Nintendo switch with a touch pad!