Overclock GBA

(Discussion of this topic can be found at the Ben Heck forums at http://forums.benheck.com/viewtopic.php?f=22&t=25718.)

Overclocking your Game Boy Advance

Need more Speed?

Have you ever been playing a game and wished that you could make everything run faster? For example, in RPGs you spend a lot of time leveling up. It would be real useful if you could speed up the game so that you can get more done in a shorter amount of time.

I have discovered a way to make this happen. I have “overclocked” my Game Boy Advance so that it can run at double the normal speed.

I am not familiar with how computers are overclocked, which I think has something to do with BIOS settings, but this is a totally hardware based project. You don't need to change any programming in the games. You just need to be able to solder small areas of the Game Boy's circuit board.

I don't remember exactly how I got the idea, but there was an old website that I found explaining how you can replace the Crystal Oscillator in an original Game Boy to change how fast it plays. I have spent a good amount of time researching this topic, and now that I have overclocked my own GBA, I decided that it would be a good idea to show other people how to do this. I don't know of a good place that explains in detail (in English) how to overclock a Game Boy, so I will now present a step by step guide in how to overclock a Game Boy.

A Quick Summary

As I've been writing this guide, explaining all the details, it has turned out to be pretty long. Before explaining in depth, here is a quick summary of how to overclock a Game Boy Advance.

  • Unscrew and remove the back cover of the GBA.
  • Unscrew and lift the circuit board to reveal the front circuit.
  • Solder an 8 Mhz crystal oscillator in parallel with the 4.194Mhz surface mount oscillator that is on the circuit board. Connect a switch between the connection of both oscillators so that you can disable the mod whenever you like.
  • Cut/drill a hole in the case and affix the switch into that space.
  • Put the GBA back together and enjoy!

The CPU & Crystal Oscillator

The reason that a Game Boy is able to play games is because it has a microprocessor; kind of like a PC. This processor is kind of like a brain that tells the rest of the Game Boy what to do. It reads the game data in from the cartridge and communicates with the other electronic components, allowing the game to be played. The processor (I'll call it a CPU for now) runs at a set speed that is controlled by an oscillator crystal.

The oscillator crystal has an internal structure that vibrates at a controlled frequency, allowing an electronic pulse to be created at that frequency. These pulses are sent to the CPU, telling it when to take its next step. Since every pulse is separated by the same amount of time, the CPU runs at a constant speed.

Changing the Speed

The Oscillator Crystal in all Game Boys, original up to Micro, has a frequency of 4.194 Mhz. This means that 4.194 million pulses are created every second. If an oscillator with a different frequency was connected to the GB circuit, it would run at a different speed. This can also be done with a Nintendo DS, but using greater valued crystals than the Game Boy.

Double Speed Game Boy

By connecting an oscillator with a frequency greater than 4.194Mhz, you can make the GB run at a greater speed. I didn't want to kill my GBA by speeding it up too fast, so I decided to use an 8Mhz crystal to allow me to run at double speed (Yes, I know 2 x 4.194 doesn't equal 8. Its close enough.) By connecting the contacts of the faster oscillator to the same points in the circuit where the original oscillator are connected, this will cause the Game Boy to run at the faster speed. I used a switch to connect the faster oscillator to the circuit, so I can disable it when I want to run a game at normal speeds.

Materials

    • Game Boy
    • soldering iron & solder
    • 3 thin wires - stranded wire will work best
    • 8 Mhz oscillator crystal - the aluminum can type that has two leads
    • a small 2 position switch
    • epoxy (optional)

*WARNING*

Do not modify your Game Boy unless you are willing to take the risk that you will break it. This will void your warrentee and I can not guarantee that these overclocking instructions will work as well for you as they did for me. I don't know how stable it will be in the long run. Mine runs fine now, but there are chances that overclocking may shorten the life of the Game Boy's components. Do not attempt this process unless you are confident in your abilities to take things apart and put them back together the same way. You need to be able to solder two small spots on the Game Boy's circuit board without touching any other spots, or applying too much heat.

Practice First

If you want to practice soldering beforehand, find a VCR, computer, or other device that someone threw out (that has a circuit board with surface mount components). Practice soldering wires to small surface mount components without causing them to be damaged. If you apply too much heat to the component, you can destroy it and cause it to come off the board.

*WARNING*

Before opening the Game Boy, find a clean, static free workplace that has good lighting. You don't want to loose any screws or destroy any static sensitive components.

Open the Game Boy Advance

The GBA is held together by a few “triwing” screws. These look like similar to a philips head screw, but with only 3 slots.

You can use a small precision flat head screwdriver to turn these screws (counter-clockwise). You just need to press firmly to keep the tip from slipping around in the head of the screw. You can also buy a triwing screwdriver online for a very low cost at DealExtreme.com.

Keep all the screws in a safe place. I used an Altoids mints can. There are 6 triwing screws on the back of the GBA, and there is one small black philips head screw in the battery compartment. Once the screws are out, the back cover should come off easily (remove the batteries and game cart first).

(Sorry about the tiny picture. Some of the photos I took were corrupted so I had to take a screen shot of the thumbnail icons.)

Carefully remove the back cover, watching how the shoulder buttons and side plastic pieces fit into place. You will now see the back of the circuit board. The Oscillator is on the other side.

Remove the shoulder buttons, side plastic pieces, and the plastic cover for the power switch. Place them safely with your screws.

Remove the three philips head screws that are holding down the board. One is on the left, above the speaker wires, and there are two on the right near the capacitors (silver cans). Carefully lift the board off of the front cover. It will be connected to the screen (in the front cover) by a flat, orange, conductor cable at the top. Just lift the bottom of the board so you can flip it over while keeping the front cover (with the screen) facing downwards. The buttons and screen are in the front cover, so you will want to keep them in place. Be careful that you do not remove this flat cable.

Locating the Oscillator

Turn the board around so that you can see the D-Pad and Start Select contacts on the left hand side. You will see two chips soldered to the board between the D-Pad and the CPU. The CPU is the largest chip in the center of the board. It has many pins on all four sides (and should have “CPU AGB” printed on it). Of the two smaller chips, one has 9 pins on each side, and the other has two soldered contacts on each side. The Oscillator is the taller one that has two contacts on each side. Mine has “KDS 0114 4.194” printed on it. You can see this on the top right edge of the following picture.

Choosing a New Oscillator

When you choose an oscillator to use for this project, you want to find one that looks like a metal oval with two wires sticking out the bottom. There are varieties that are shaped more like a rectangular box with four wires in the bottom, but they have some extra circuitry inside. We just want the crystal oscillator. If you are looking over old circuit boards, you may find a different kind that looks like a blue plastic coated oval around the size of a Tic-Tac, with two wires sticking out the bottom. These would probably work the same as the kind I used. You can see in the picture below that I just plugged the oscillator leads into a 3 position connector that already had wires attached.

Preparing the Oscillator and Switch

Now that you have your Game Boy open, you can attach the new oscillator. First you need to decide where you are going to fit the oscillator and switch. I have a semi transparent purplish case (“Glacier” I think), so I was able to see where there would be room for the oscillator and switch to fit between the back cover and the board once it was all put back together again.

I chose to place my switch behind the “L” button, in the back cover. The switch I used was small enough to fit between the cartridge slot and the column that holds a screw. I placed the oscillator in the space between the back cover and the board, just above the power switch.

Once you have decided where to place the switch and oscillator, cut 3 thin wires to the lengths needed for one to reach from the oscillator in the circuit board, to where the switch will be located, another from the switch to the new oscillator, and another to complete the connection from the new oscillator to the other contact in the original oscillator.

Solder one wire to the center contact of the switch (common to both positions).The end of this wire will connect to the GBA oscillator. Solder another wire to a side contact of the switch. Then solder the other end of that wire to one of the leads of the new oscillator. Solder the last wire to the other lead of the new oscillator. This will be connected to the other contact of the GBA oscillator. You can see this in the picture below.

When looking at the surface mount oscillator in the GBA, you can see that there are two contacts soldered into the board on each side. The top contacts on each side are connected together, and the bottom contacts on each side are also connected, so you only need to connect the switch/oscillator wires to contacts on one side. As can be seen in the picture below, there are four very small resistors close to the oscillator in the right side. I didn't want to chance messing them up, so I chose to solder the wires to the left side.

Soldering the Wires to the Oscillator

Now comes the part where you must be the most careful. You must solder the wires to the surface mount oscillator attached to the GBA circuit board. First make sure that the wire insulation is stripped away so that you have enough room to solder the wire to the spot where the oscillator is soldered to the board. If you look closely in the above picture, you can see that I soldered the wires sideways into the solder ball connecting to the oscillator. This makes a stronger connection than if you were to try soldering the tip of the wire to the solder pad.

Tin the wires, making sure that there is extra solder at the end. You must be very careful that you don't apply the soldering iron for too long a time. If you heat up the oscillator too much, it may loosen from the circuit board.

Lay the wire so that it rests on top of the soldered oscillator connection. Touch the iron to the tinned wire, and hold it in place just long enough for the solder around the wire and the solder already on the board to melt together. This is why you want to coat the wire in solder beforehand. There needs to be enough solder to make a solid connection between the solder pad, the oscillator, and the wire.

Remove the iron, making sure to hold the wire very still for a few seconds until the solder hardens. Repeat these steps to solder both wires in place. It will be best to lay them flat against the board in a what that will not get in the way when you put everything back together.

Wire Routing

As you can see in the picture above, I have run the wires downward, and around the inside of the corner of the circuit board. I have found that there is a small gap at that location where you can fit the wires between the battery compartment and the circuit board.

If you want to take extra precautions, you can apply epoxy around the wires to glue them to a bare area of the board. This will hold them in place more strongly while you put the Game Boy back together and put the switch in place.

Positioning the Switch

Now that the wires have been soldered to the oscillator, and routed around to the back side of the board, you can flip it back onto the front cover and screw it back in place. You may want to place the plastic power switch cover back in place first though, since it may be more difficult to do so once the board is screwed down.

Now drill or cut a hole the right size and shape for the switch to be accessible from outside of the cover. I used a Dremel tool to drill a hole, and then used a small file to shape the hole into a rectangular shape. Make sure that you give enough room for the switch to slide between both positions. If the switch is a little hard to fit in place, you can file away some extra plastic around it. You can see in the picture below, where I placed my switch. Once the switch is positioned in the hole, glue it in place so that it doesn't move when you turn it on and off. I used a hot glue gun, though other types of glue or epoxy will hold it stronger.

Now you can finish closing up the cover. Place the oscillator in a location where it won't be squeezed between the back cover and board components. If it keeps moving out of place, just use a little tape. I also wrapped it in electrical tape so that there will be no problems of it accidentally touching components in the circuit board and shorting them out.

THE END!

Congratulations! If everything went successfully, you should now have a specially modified Game Boy that can play games at twice the normal speed!

I would suggest that you only switch between speeds while the Game Boy is turned off. I tried it a few times while playing. Sometimes it changed speeds, and sometimes it didn't work. I'm not exactly sure why, but I would rather not chance crashing that game or messing something up that could erase my game.