Tag Archives: Pokemon

Trade Pokémon over the Internet

Game Boy-to-Game Boy trading is so 1998.

If you had a Game Boy and you grew up in the ‘90s, there’s a very good chance you’ve played either Pokémon Red or Blue at some point. And, you weren’t alone. Shortly after its release in Japan back in 1996, the games made their debut in North America. By 1998, the total combined sales of Red and Blue versions in the United States alone had been 9.85 million. So, whether you’re still an avid player or simply have that occasional urge to drum up some nostalgia, one Maker has developed a clever mechanism that will bring the pop culture classic into the web-enabled era.


Back in the day, players could only trade their characters like Gastly, Abra, Geodude, Arbok, Machop and Sandshrew one of two ways: either Game Boy-to-Game Boy via a link cable, or later on, cartridge-to-Pokémon Stadium via a Transfer Pak. Now, Pepijn de Vos (yes, the same guy who built an Arduino-based project that lets you catch ‘em all by yourself) has introduced a new way for users to exchange their Pokémon right over the Internet, allowing Haunter, Machoke, Graveler and Kadabra to evolve.

Based on the Maker’s previous storage system, this device brings a Game Boy (including Pocket, Color and Advance) online via a Teensy shield. The gaming console is connected to a pair of Teensy boards (ATmega32U4) that link up to two computer networks, both running TCPoke software that allows for users to trade Pokemon over a WebRTC connection.

Ready to catch and trade ‘em all? You can find project details and necessary codes on the project’s Wiki here. Meanwhile, be sure to watch it in action below.

Using Arduino to catch Pokémon

Gotta catch ‘em all but have no one to play with? Luckily, there’s Arduino. 

If you’re looking to “catch ’em all,” you’re going to need to have two Game Boys, two copies of the same game and, of course, someone else to play along with. Those not lucky enough to score all three, Pepijn de Vos has devised a solution.

“Sadly, not a whole lot of people own a Game Boy, a Pokémon game, and a link cable. So I decided to get creative and trade Pokémon with my Arduino,” the Maker writes.

De Vos has created an Atmel based system that acts as a Game Boy, storing a single Pokémon in EEPROM. This enables a user to trade between first-generation games using only a single console.


How it works is pretty simple. Compatible with both Pokémon Red and Blue versions, users connect their Game Boy, Game Boy Color or Game Boy Advance to the Arduino via a Game Link Cable, inserting the cartridge to the desired game and complete the trade. Meanwhile, the data is saved in the Arduino’s EEPROM — made possible through the on-board Atmel MCU.

“The Game Boy communicates over what is essentially a 5v SPI bus that can act both as a master and a slave. At 8KHz it is slow enough to bit-bang, so it works on any 3 GPIO pins,” the Maker explains. “I salvaged a connector from a GBA wireless adapter, and hooked it up to three Arduino pins with 1KΩ series resistors to be sure. Because both ends can in theory drive the clock line, I don’t want to short them out.”

All in all, the project will enable multiple trades in one session, and allow you to cancel them as well. What’s more, you can easily swap Pokémon between the different versions of the game by initiating a trade, swapping out cartridges, and re-trading. However, de Vos does advise users to remember to reset the Arduino when resetting the Game Boy, or else “bad things will happen.”
Ready to attain all 151 Pokémon? You can find all the necessary code for the project here.