Skip to content

Commit dfffce0

Browse files
committed
GBC posts
1 parent dfa3632 commit dfffce0

18 files changed

+106
-45
lines changed

_config.yml

+6-8
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,14 @@
1313
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
1414
# You can create any custom variable you would like, and they will be accessible
1515
# in the templates via {{ site.myvariable }}.
16-
title: Your awesome title
17-
16+
title: The Bates Report
17+
1818
description: >- # this means to ignore newlines until "baseurl:"
19-
Write an awesome description for your new site here. You can edit this
20-
line in _config.yml. It will appear in your document head meta (for
21-
Google search results) and in your feed.xml site description.
19+
I love software development, electronics, and explaining things, so this is my place to indulge in all of that.
2220
baseurl: "" # the subpath of your site, e.g. /blog
23-
url: "" # the base hostname & protocol for your site, e.g. http://example.com
24-
twitter_username: jekyllrb
25-
github_username: jekyll
21+
url: "https://bagofarms.github.io" # the base hostname & protocol for your site, e.g. http://example.com
22+
#twitter_username: jekyllrb
23+
github_username: bagofarms
2624

2725
# Build settings
2826
markdown: kramdown
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
layout: post
3+
title: "Water-damaged Game Boy Color: Initial Inspection"
4+
date: 2021-01-16 20:20:00 -0500
5+
categories: consoles gameboy repair
6+
---
7+
8+
I recently received this Game Boy Color from one of my wife's coworkers. She found it in a box of stuff from her childhood, and decided it would be fun to show to her daughter. Unfortunately, the Game Boy did not work properly with any of the games she tried. She knew that I am into classic game consoles and repairing electronics, so she gave it to me to see if I could fix it.
9+
10+
## Cleaning the Cartridge
11+
12+
Before I even tried flipping the power switch, I cleaned all of the cartridges she provided with the console. I got a cotton swab and some isopropyl alcohol. I dipped one end of the cotton swab in the alcohol and wiped across all of the contacts on the bottom of the cartridge.
13+
14+
![cart with swab](/assets/img/cleaning-gameboy-cartridge.jpg)
15+
16+
I saw some dirt on the swab, so I rotated it and wiped across the contacts again. Once I was satisfied that I had cleaned the contacts, I flipped the cotton swab to the dry end and wiped a few more times. Even the dry end picked up some of the dirt.
17+
18+
![cotton swab after cleaning](/assets/img/cleaning-gameboy-cartridge3.jpg)
19+
20+
## First Test
21+
22+
Then I popped the cartridge and two AA batteries into the Game Boy Color and flipped the switch. To my surprise, the game worked! I tried to press the start button to test out the game, only to realize that NONE of the buttons worked. Alright, it's simple enough to clean the button contacts, to I got out my triwing screwdriver and opened it up.
23+
24+
## The Horror
25+
26+
What I discovered was pretty bad. The button contacts, battery contacts, headphone port, and even a bunch of the vias in the board were covered with blue-green oxidation.
27+
28+
![button contacts damage](/assets/img/water-damaged-gbc-buttons-before.jpg)
29+
![battery and headphone port damage](/assets/img/water-damaged-gbc-headphone-battery-before.jpg)
30+
31+
I originally thought this damage was caused by a leaky battery, so I used a toothbrush to apply vinegar to all of the affected parts of the board. Unfortunately, there was no reaction. That told me that this is damage was probably caused by water. Admittedly, I don't have a lot of experience with water vs battery acid damage, so I could be wrong.
32+
33+
## Cleaning up the Oxidation
34+
35+
Regardless, I washed off the vinegar and proceeded to mechanically remove the oxidation. I used a cheap flat-head precision screwdriver to clean off as much as I could, then I used alcohol and another cotton swab to wipe away what was left over. You'll notice in the picture below that not all of the oxidation is gone. I spent a little more time on the buttons to get them all working, but some of this oxidation is going to be there forever, especially the stuff that's in the vias.
36+
37+
![buttons after cleanup](/assets/img/water-damaged-gbc-buttons-after.jpg)
38+
39+
I also cleaned the contacts on the silicone button pads, since they were also covered in oxidation. I put everything back together, turned it on, and the buttons worked! However, I noticed the sound didn't work. Ugh, well, I guess that fix will [have to wait for another day]({% post_url 2021-01-18-water-damaged-gbc-onboard-audio-fix %}).
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
layout: post
3+
title: "Water-damaged Game Boy Color: Fixing the Speaker Output"
4+
date: 2021-01-18 12:30:00 -0500
5+
categories: consoles gameboy repair
6+
---
7+
8+
In my [previous post]({% post_url 2021-01-15-water-damaged-gbc %}), I cleaned up the button contacts on a seemingly water-damaged Game Boy Color. Everything seemed to be working except for the fact that there was no audio from the built-in speaker. Well, today I figured that out.
9+
10+
## Does the audio work at all?
11+
12+
I have had other Game Boys where the onboard speaker does not output sound, but headphones work, so that's what I tried first. I plugged some speakers into the headphone port on the bottom of the GBC, and the sound worked! That was a huge relief. I knew that the headphone port has a switch inside it that is normally `on`. When headphones are plugged in, it changes the switch to the `off` position. So there was most likely something wrong with that switch.
13+
14+
## Cleaning the Switch
15+
16+
I wasn't sure where exactly the switch was located inside the headphone port, so I did some digging and found [this excellent post on Sam's Asylum](http://samzasylum.blogspot.com/2015/05/gameboy-color-speaker-repair.html) that showed exactly where to clean. Luckily, the designers of this headphone jack left a little window in the case to allow me to clean the switch without desoldering it from the board.
17+
18+
![corroded headphone port](/assets/img/water-damaged-gbc-headphone-battery-before.jpg)
19+
20+
I inserted a headphone cable to open the switch and make the contacts accessible. Using a set of precision tweezers, I gently scraped off the oxidation from both sides of the switch. When I was done, I used some canned air to blow out any oxidation dust and put the GBC back together enough to test it. Aaaaand the speaker still didn't output any sound.
21+
22+
## Ok, how does this circuit even work?
23+
24+
At this point, I knew I had to start poking around with my multimeter. I found this extremely detailed [schematic for the GBC](https://console5.com/techwiki/images/e/e6/Nintendo_GBC_Schematic.png) from Console5 and dove in.
25+
26+
![Game Boy Color Headphone Port Schematic](/assets/img/gbc-headphone-port-schematic-marked.jpg)
27+
28+
I've cropped the schematic to focus on the headphone jack, which is marked as `P5` on the right side of the image above. The red arrow points to pin 5, which is is the side of the switch that connects to pin 6 (`SW`) of the sound amplifier `AMP-MGB` (`U3`) on the left side of the image. Pin 4 of `P5` is connected to ground. When there are no headphones connected, the switch is closed, connecting pins 4 and 5 of `P5` together, which connects the `SW` pin of `U3` to ground.
29+
30+
You may have noticed that I'm ignoring `EM4` (part number [BLM11B102S](https://docs.rs-online.com/ae7f/0900766b80021680.pdf)), which is in-between pin 5 of `P5` and the `SW` pin of `U3`. This is just a ferrite bead, and is most likely there to filter out noise. It's good to have, but not absolutely necessary.
31+
32+
## Probing
33+
34+
I set my multimeter into continuity mode and found the `SW` test point on the Game Boy's PCB. I touched one probe of the multimeter to that, and the other probe to pin 5 of the headphone jack (the red arrow in the image below). Unfortunately, I did not get a tone, so there was a break somewhere in the trace (the yellow line in the image below).
35+
36+
![The GBC headphone jack and EM4](/assets/img/water-damaged-gbc-em4-marked.jpg)
37+
38+
Fortunately, I quickly found the break. I probed both sides of EM4, which showed continuity, so I tested both sides of the circuit from EM4. However, there wasn't continuity on either side! I wondered if the oxidation got under the pads on the PCB and lifted them up, so I scraped off some of the coating to reveal the traces on either side of EM4. I tested the continuity from one side to `SW`, and there was continuity. Likewise with the other side and pin 5 of the headphone jack. I knew my suspicions were correct.
39+
40+
## Fixing the Problem
41+
42+
I tried to reflow the solder of `EM4`, but the component was so light that it lifted off the board as soon as I touched it with the iron. I tried to bridge the trace and the pad with solder, but I wasn't able to do it. In the end, I decided to bypass `EM4` entirely with a piece of very thin (bodge) wire connected between the `SW` test point and pin 5 of the headphone jack. I was careful to route it around the button pads, cartridge connector, and screw holes.
43+
44+
![bodge wire between sw and pin 5 of headphone jack](/assets/img/water-damaged-gbc-speaker-fix.jpg)
45+
46+
And... it worked! The audio comes out of the onboard speaker with no issues, and switches off when headphones are plugged in. I normally don't like to bypass filters like that, but I'll address that if the audio quality is a problem in the future. In the meantime, my wife's coworker can show this off to her daughter!
47+
48+
<video controls>
49+
<source src="/assets/video/water-damaged-gbc-repaired.mp4">
50+
Your browser does not support the video tag.
51+
</video>

_posts/2021-01-18-welcome-to-jekyll.markdown

-25
This file was deleted.

about.md

+1-12
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,4 @@ title: About
44
permalink: /about/
55
---
66

7-
This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/)
8-
9-
You can find the source code for Minima at GitHub:
10-
[jekyll][jekyll-organization] /
11-
[minima](https://github.com/jekyll/minima)
12-
13-
You can find the source code for Jekyll at GitHub:
14-
[jekyll][jekyll-organization] /
15-
[jekyll](https://github.com/jekyll/jekyll)
16-
17-
18-
[jekyll-organization]: https://github.com/jekyll
7+
Hi! I'm Jacob Bates, a web developer with a degree in Computer Engineering who loves to mess around with electronics and old technology. This blog is just a place for me to write about the projects I'm working on in my spare time.

assets/css/style.css

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
---
3+
4+
@import "{{ site.theme }}";
5+
6+
video {
7+
width: 100%;
8+
height: auto;
9+
}
612 KB
Loading
541 KB
Loading
481 KB
Loading
Loading
78.3 KB
Loading
724 KB
Loading
Loading
1.71 MB
Loading

assets/img/water-damaged-gbc-em4.jpg

752 KB
Loading
Loading
1.03 MB
Loading
7.95 MB
Binary file not shown.

0 commit comments

Comments
 (0)