Overclocking can be useful?! Let's try with my GameBoy & Arduino

I recently decided to try out some experiments with my Arduino and a GameBoy. First, I removed the crystal from the board and soldered a wire to the middle and top connection point and hooked them up to GND and the output of my waveform generator. As you can see by creating a similar 16MHz sine wave, the Arduino still works the same way as it did before.

But by for example decreasing the frequency to half of that, the PWM frequency also gets halved which proves that my waveform generator clock signal actually works. And fun fact the current draw dropped from 20mA at 16MHz to 16mA at 8MHz and the lowest clock frequency I was able to use in a somewhat stable manner was around 1kHz at a current draw of 12mA.

But enough with playing around because it was time to crank up the frequency and as you can see at around 25.6MHz the system still worked perfectly fine while delivering a 100kHz PWM signal. So I tried even higher frequencies and the limit I reached was at around 40MHz at which point the Arduino did not run stable anymore and glitched around.

In conclusion a 100kHz PWM Signal with 8bit resolution is easily achievable with an Arduino and we should look out for glitches in the next GameBoy test which signalize that we are reaching the overclocking limit. So time to unpack my tri wing screwdriver and start removing every screw I found in the enclosure of my GameBoy.

And after a couple of minutes I was in and next had a closer look at all the ICs and components. Now in my opinion this component might create our clock signal because the printed on label of 8.388 can very easily stand for the MHz value. So I powered the GameBoy with my lab bench power supply and probed all the pins of the component.

It seems like we are truly working with an 8.4MHz clock signal and by further finding out that there are only 2 slightly different signals distributed across all pins, it seems like we are looking at a crystal oscillator. But to apply my own altered signal I obviously had to somehow remove it which was possible with a bit of hot air and patience and as you can see we truly only got two pins to which I soldered extensions wires next to do the upcoming testing more easily.

Now of course at this point we could get ourselves such a crystal oscillator kit with a variety of frequencies that we could simply swap between for the limit testing. But I liked the fine adjustment of my waveform generator which is why I hooked it up to GND of the GameBoy and this time the lower pin and as you can see it works just fine.

Once again it was quite funny to decrease the clock frequency in order to find out how the game looks and sounds in slow motion mode. But as before going up was my goal and I am happy to report that twice the frequency of 16MHz was not a problem for the GameBoy which is actually a great speed to get through the game quickly.

Best of all there are 16MHz crystals everywhere so a simple mod like this with a switch and two crystals as modes is certainly possible. But anyway I wanted to see the limit and that seems to be just above 20MHz at which point the music glitched and the display turned off which basically concludes my experiments. So I restored the functionality of my GameBoy because it is a bit precious to me and I hope you maybe learned something through this video while hopefully being entertained.

If so consider supporting me through Patreon so that I can keep producing videos. As always don't forget to like, share, subscribe and hit the notification bell. Stay creative and I will see you next time.