Bill’s Arduino

Pokemon is a great game by itself, but when you realize that not all of the ‘mon are available in one game, trading is required for completion, and some pokemon aren’t available without either hacking or going to a Toys ‘R Us in 1997, you start to see how insidious this game can be. Figuring he could finally complete the game with an Arduino, [Pepijn] decided to build a pokemon storage system.

This build was inspired by an earlier post that also spoofed trades. Instead of building this project around a high-power micro, [Pepijn] decided to use an Arduino. The protocol Game Boys use to communicate with each other is extremely well documented, although that’s only half the battle. Each game using the link cable used specialized data structures for transfer, and after grepping through a disassembled Pokemon ROM,  [Pepijn] figured out how everything worked.

The completed hardware keeps one Pokemon in the EEPROM of an Arduino. It’s not very fast if you want to catch all 151 Pokemon in the Gen 1 games, but any way you look at it, you’re going to be catching a lot of Magikarp anyway.

Hackaday Links Column Banner

Hackaday Links: January 25, 2015

Misumi is doing something pretty interesting with their huge catalog of aluminum extrusions, rods, bolts, and nuts. They’re putting up BOMs for 3D printers. If you’ve ever built a printer with instructions you’ve somehow found on the RepRap wiki, you know how much of a pain it is to go through McMaster or Misumi to find the right parts. Right now they have three builds, one with linear guides, one with a linear shaft, and one with V-wheels.

So you’re finally looking at those fancy SLA or powder printers. If you’re printing an objet d’arte like the Stanford bunny or the Utah teapot and don’t want to waste material, you’re obviously going to print a thin shell of material. That thin shell isn’t very strong, so how do you infill it? Spheres, of course. By importing an object into Meshmixer, you can build a 3D honeycomb inside a printed object. Just be sure to put a hole in the bottom to let the extra resin or powder out.

Remember that episode of The Simpsons where Homer invented an automatic hammer? It’s been reinvented using a custom aluminum linkage, a freaking huge battery, and a solenoid. Next up is the makeup shotgun, and a reclining toilet.

[Jan] built a digitally controlled analog synth. We’ve seen a few of his FM synths VA synths built from an LPC-810 ARM chip before, but this is the first one that could reasonably be called an analog synth. He’s using a digital filter based on the Cypress PSoC-4.

The hip thing to do with 3D printers is low-poly Pokemon. I don’t know how it started, it’s just what the kids are doing these days. Those of us who were around for Gen 1 the first time it was released should notice a huge oversight by the entire 3D printing and Pokemon communities when it comes to low-poly Pokemon. I have corrected this oversight. I’ll work on a pure OpenSCAD model (thus ‘made completely out of programming code’) when I’m sufficiently bored.

*cough**bullshit* A camera that can see through walls *cough**bullshit* Seriously, what do you make of this?

Pokáde: Twitch Plays Pokemon, Reborn On Vintage Hardware

poke Early this year, Twitch Plays Pokemon, a webstream of tens of thousands of people playing the same game of Pokemon via web chat. It was certainly an interesting sociological phenomenon, but as in any system where thousands of people try to do a single thing, progress was exceedingly slow at points. This was compounded by the fact the Twitch stream delayed the chat by about 30 seconds.

At the time, there was some talk about setting up an alternative to the emulator-based Twitch stream. Ideas were floated, but until now, no one has yet come up with a workable solution. Now we have Pokáde: real Pokemon games (Red and Blue) running on real hardware (two Super Game Boys, two super Nintendos, and two Game Genies), streamed live to the Internet with an IRC-like chat function.

Simply for the ease of capturing the video of the stream, [Johannes], the guy behind all of this, is using a pair of Super Nintendos and Super Game Boys connected to USB video capture dongles. The Super Game Boys are modded to enable trading between the Red and Blue versions of the game, and controls are handled with a USB connection to the PC running the server.

Anyone can play the game, simply by going to the Pokáde Chat, entering the chat, and clicking on random buttons on the brick Game Boy GUI. The game ROMs have been slightly modified to disable the option of starting a new game, but this is still the classic Twitch Plays Pokemon experience: people all around the globe mashing buttons and creating a religion around a fossil pokemon.

Hackaday Links: April 13, 2014

hackaday-links-chain

Check out this Pokemon Yellow cartridge for Super Nintendo. Wait, what? That is a Game Boy game! Well there is a Super Gameboy cartridge that lets you play them on SNES. This mashes the guts of the two into a custom-decorated SNES cart. Now if you’re more interested in the guts of that Super Game Boy cartridge you’ll want to check out this classic hack which dumped the ROM from it. [Thanks Nick]

Here are a couple of interesting things from our friends over at Adafruit. First off, they have a high-res gallery of the Raspberry Pi compute module and carrier boards which we heard about earlier in the week. Also, the latest Collin’s Lab has a great video on soldering. We especially appreciated the discussion of soldering iron tips and their effect on heat transfer.

[Marius] got tired of the static shock from the office coat rack. You know, like the scene straight out of Office Space? But he didn’t disassemble the infrastructure to solve the issue. Instead he connected it directly to ground. Just make sure you stick the wire in the correct hole!

It’s as if Hackaday is on a quest for the most perfect DIY cyclonic separator. Here’s the latest offering which you can cut out from sheet stock by hand. It’s the alternative for those of us without access to a 3D printer.

If you think it’s too difficult to build what we refer to as a Daft Punk table you need to check out what [Dan] pulled off. He proves that your LED matrix coffee table project doesn’t have to take up a ton of time or cost an exorbitant amount of cash.

We should have mentioned this to you before the weekend so you’d have something to watch: you can now download BBS: The Documentary from the Internet Archive. We’ve watched the entire thing and it’s fantastic. If you know what a dial-up modem handshake sounds like, you’re going to be awash in nostalgia. If you don’t know the delight of those sounds you need to watch this and see how things used to be back in the day when connecting your computer to a network definitely wasn’t what the cool kids were doing. [Thanks Larry]

Twitch Plays Pokémon: Better Than Prime Time TV

What do you get when you put together a classic Game Boy game, some glue code, a streaming video website and 1 internet? Twitch Plays Pokémon (TPP), a social experiment where thousands of people “cooperatively” play a game of Pokémon Red/Blue. TPP was created by an anonymous Australian programmer who enjoyed the SaltyBet interactive channel on twitch.tv. Rather than use SaltyBet’s method of having users interact via an external website, [TPP’s creator] decided to use twitch’s own IRC based chat servers. Starting with VisualBoyAdvance, a popular C/C++ based Game Boy emulator, [TPP’s creator] began building the system. [TPP’s creator] went with python to create the web-to-emulator interface. A JavaScript app displays the live moves on the right side of the screen.

Gameplay is simple – users type their command (Up, Down, A, B) into their IRC or web client. In the original configuration, commands were processed in the order they arrived at the game. The system worked until the whole thing went viral. With thousands of people entering commands at any given time, poor “RED” would often be found spinning in place, or doing other odd things. The effect is so compelling that even [Randal Munroe] has written an XKCD entry about it. To help the players get through some of the tricky parts of the game, [TPP’s creator] added a game mode selection. Users can play in “Democracy” where the system takes votes for several seconds, then issues the highest voted command. The original anything goes game mode was renamed “Anarchy”. Switching from one mode to the other is determined by the users themselves in real-time.

[Devon], one of our readers, has been busy as well. He’s written up a tutorial on turning a Raspberry Pi into a dedicated TPP viewer. We’d love to see a TPP battlestation – a Game Boy modified to display TPP, as well as send commands to the IRC servers when buttons are pressed. Who will be the first reader to knock that hack out?

Spoofing Pokemon Trades

[Adan] had an old Game Boy sitting around, and without anything better to do decided to investigate the link cable protocol with a microcontroller. He had a Stellaris Launchpad for the task, but initially had no project in mind. What he came up for this adventure in serial protocols is a first gen Pokemon trade spoofer that allows him to obtain pokemon without having two Game Boys, or for the weird ones out there, “friends.”

The Game Boy link protocol is extremely well documented (dead link, try Internet Archive), so getting data from the Game Boy to the Launchpad was as simple as a soldering up an old link cable connector to a piece of perf board. After figuring out the electronics, [Adan] looked at what happened when two Pokemon games tried to trade pokemon. When two Game Boys are linked, there are two in-game options: trade or battle. Looking at the data coming after the ‘trade’ option, [Adan] found something that could possibly be the data structure of the Pokemon being sent. He reverse-engineered this all by himself before discovering this is also  well documented.

Bringing everything together, [Adan] figured out how to trade non-existent Pokemon with a small dev board. Right now he’s only transmitting Pokemon that are hard-coded on the Launchpad, but it’s very possible to transmit the Pokemon values in real-time over USB.

Thanks [Dan] for sending this in, and no, we don’t know what’s up with the influx of Pokemon posts over the last week. Video of the spoof below.

Continue reading “Spoofing Pokemon Trades”

Gotta Catch ‘Em All, With An Arduino

PKMN

For every pokemon you encounter on your adventure to become the world’s greatest trainer, you have about a 1 in 8000 chance of that pokemon being ‘shiny’, or a different color than normal. Put an uncommon event in any video game, and of course a few people will take that feature to the limits of practicality: [dekuNukem] created the Poke-O-Matic, a microcontroller-powered device that breeds and captures shiny pokemon.

We’ve seen [dekuNukem]’s setup for automatically catching shiny pokemon before, but the previous version was extremely limited. It only worked with a fishing rod, so unless you want a ton of shiny Magikarp the earlier setup wasn’t extremely useful.

This version uses two microcontrollers – an Arduino Micro and a Teensy 3.0 – to greatly expand upon the previous build. Now, instead of just fishing, [dekuNukem]’s project can automatically hatch eggs, search patches of grass for shiny pokemon, and also automatically naming these new shiny pokemon and depositing them in the in-game pokemon storage system.

The new and improved version works a lot like the older fishing-only automated pokemon finder; a few wires soldered on to the button contacts control the game. The Teensy 3.0 handles the data logging of all the captured pokemon with an SD card and RTC.

What did [dekuNukem] end up with for all his effort? A lot of shiny pokemon. More than enough to build a great team made entirely out of shinies.

Video below, with all the code available through a link in the description.

Continue reading “Gotta Catch ‘Em All, With An Arduino”