Farming Items With RasPi-Modified Joycons

The Pokémon games have delighted legions of Nintendo gamers over the years, and show no signs of slowing down any time soon. Despite its popularity, there are certain aspects of the games that are unarguably about simply grinding your way to success. For [Mori Bellamy], this simply wouldn’t do – yet their thirst for gold bottlecaps was insatiable. What to do? Automate it, of course.

The first step was to hack the Joycons from the Nintendo Switch. A DG333A analog switch IC was hooked up to the buttons inside, and controlled by the GPIO pins of a Raspberry PI. The joystick was then controlled with an MCP4725 DAC, allowing the system to fully emulate control inputs to the console.

With the console now under control by the Raspberry Pi, the next step was to add intelligence. Google’s Tesseract OCR platform was combined with a helping of Python code. This allows the script to read dialog boxes from the game, and use this data to determine which buttons to press to farm items.

[Mori] has provided the code on GitHub for others to use, noting that it should be generalizable to other games with a little work. Fundamentally, the underlying hardware could readily be repurposed to other controllers, too. There’s plenty of other ways to automate the drudgery of gaming, even if you have to use a touch screen. Video after the break.

6 thoughts on “Farming Items With RasPi-Modified Joycons

    1. IIRC, I made a program or two back in college (~10 years ago) as homework assignments.
      I’m not trying to be snooty, but, to me, it seemed “too easy”, almost like cheating.
      I haven’t tried it since, I’d rather learn more C.
      I suggest you get a book, (any recommendations HaDers?) and try again.

      Have you checked out the Python series of articles here on HaD?
      (although a couple of them seemed a bit deep for me)

  1. I’ve been tempted to buy a Switch, and I’ve been tempted to get Let’s Go.

    If I ever give in, I am SO doing this.

    Although for screen capture I’ll probably use the Elgato Cam Link I already own

Leave a Reply to MahmoudCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.