I've been spending the last few days reverse engineering the Joycon, and documented findings at this repo: https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering Interesting bits so far: Nintendo is using keypad scanning for buttons instead of just reading each one. When attached to the console, Joycon talks to it through a physical connection instead of bluetooth That connection is simple serial, except at really fast speeds. Console asks Joycon for an update every 15ms. Handshake and data packets are really small and unencrypted. An SPI flash capture is included I already figured out the button status and joystick value data. I'll add more to the repo as I keep working on it. In the mean time feel free to ask questions, or take a shot at decoding the data yourself.