Through the power of packet sniffing, we can now eavesdrop on PictoChat conversations!

Inspiration

We were inspired by the theme to try and use an old piece of tech and had a DSi, DS Lite, and 3DS lying around so we thought we could use that.

What it does

Using an ESP32 device, it listens to all IEEE 802.11 packets sent between any nearby DSs during a pictochat conversation, decodes the packets, reconstructs the messages sent and displays them in full colour in the terminal.

How we built it

It is built mainly using Python but with some C++ to go in the ESP32 microcontroller.

Challenges we ran into

We spent most of the time figuring out how the protocol actually works, and very little time programming.

  • We discovered that all packets are broadcast rather than sent to specific destinations
  • Other projects online have attempted a similar thing on other DS protocols, so their research helped us to figure out the structure of pictochat packets. This ended up being very time consuming

What we learned

Nintendo are really just making shit up. It's a very janky protocol.

What's next for PictoHack

Maybe sending some packets back to the DSs allowing for two way communication to Linux, and possibly beyond with external services integrated. (ChatGPT over Pictochat?)

Built With

Share this project:

Updates

Submission history