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:
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.