Engineering of the Gameboy Extender

This is version two of the Gameboy Extender board. You can read about version one by selecting the topic in the navigator frame on the right.
Several things went wrong when trying to get me the GB extender board version one:

  1. Olimex could not make the board (missing data)
  2. Eurocircuits could not make the board (wrong data)
  3. Printservice Dordrecht could make it but at a price!
  4. Bellmann could easily make it, but 125 pieces was the minimun
  5. Melieste Printservice never replied
  6. The PCB was a little too narrow for perfect operation in a Gameboy Advance
  7. The Bufferboard (see navigator) was rather populated
  8. Small Quantity PCB makers are extremely expensive
All in all, I came to the conclusions:
  1. I will order a batch at www.bellmann.nl
  2. I will try to sell the surplus at Ebay
  3. The extender board can easily harbor the busbuffers
  4. A new design is required
So this topic is about the new design. "But", you might ask and wonder, "why not remove the old extender webpage and replace it with this one?".
The answer to this honest question is simple: I want to show what true 'engineering' is about: you learn by doing. After the initial 'Egg of Columbus' some new factors may emerge, forcing you to change just about every initial condition. So now I will be going for large scale manufacture of a better product.

The circuit

Gameboy bus buffer and extender On the left, you see the new circuit drawing for the Gameboy extender card II, codename GBexx. GBexx is easier to draw as a circuit because 'things happen' on it.
On the far left, is the 32 pin GB edge connector. It is named J1. On the far right is the 34 pin boxed header style connector (for ribbon cable) called J2. The lines betwen the connector pins are the connections. Easy.

The three integrated circuits are 74HC245 bus buffers. Again I chose for three identical IC's since these are easier to obtain and probably cheaper (than a set of 74HC541's) as well.
The address bus buffers are 'upside down' in the circuit. This was necessary to let have pins 1 (DIR) and 19 (/OE) the same logic level input (both ZERO).

The address bus buffers are easy to understand: just straight through. They are just dumb amplifiers.
The databus buffers require some intelligence: they may only work when we are in Userspace (lower 32 KB of memory, when A15 = 0) and they may only send data to the CPU when asked to do so. Therefore the /RD signal controls data direction.

We can pick the A15 signal directly from the buffered signal. The /RD signal will take some more cunning routing, but not too difficult.

At the top of the drawing are 6 inverters of type 74HC14. These six are placed two in series in order to keep the polarity of the original signal. I would have preferred to use a 74HC243 buffer here, but that was not available in SMD. So I had to find another way and this seems to be the best, for me.

If you click the picture a new window will open with a larger version.

Get one NOW!

The printed circuit board

I managed to route the printed circuit board. It fits on a plate, approximately 55 mm wide and 80 mm long. This is slightly longer than required but it will also ensure that there is some room to spare for the connections with the system board.

The board has a 32 pin edge connector on the far left and a 34 pin boxed header (it mates with a standard floppy disk cable) on the right. In between are the interconnects and the busbuffers.
Due to the limited headroom and width of the PCB, the busbuffers are SMD devices. To prevent going double sided, 6 wire bridges (the coloured lines) were necessary. But everything now fits neatly.

Below you see what it looks like. The drawing is not perfect, but you get the picture.
The checkered structures are copper planes connected to +5 Volts and Ground to minimize EMC radiation effects and to minimize losses in the power lines.



The board, a screenshot

On the left you see a real screenshot of what the board looks like. This is a picture taken with my digital camera from the CRT while it ran PADS for DOS. That's why the curves are in the picture.

In the picture you see the three IC's, the 6 wire bridges (vertical blue lines) and the copper area's (green). The pads and connectors are in purple.

If you click the picture, a full screen screenshot of the PADS environment is visible. Try and see if you like it. I still do, after a lot of years.


The board, after it came from Bellmann

Today, three weeks after I ordered my first lot at Bellmann PCB shop the boards arrived. A nice stack of well fabricated PCB's. On the left you see a picture of the board. I guess the photo flash ruined the picture again so I will see if I can fix it in the daylight, tomorrow.

On the left is the GBC connector. On the right is the 34 pin boxed header, we all know of 3.5" floppy disk drives. In between are the busbuffers.
The board is made according to the new ROHS standard enforced by the EC. There is no lead (Pb) in the board anymore. So the tin is extra shiny. The GBC connector looks like it is gold plated, but it isn't. The flash ruined this as well.


Fitting the board inside a GBC

When designing the board, there were trade-offs, as usual. I chose to use the maximum width for the PCB. This would assure the best possible fit. For the GBC this worked out. For the GBA the boards are a fraction too wide. But with a piece of sandpaper this isn't much of a problem.


Another engineering challenge was the thickness of the board. Normal PCB's are 1.6 mm thick. The GBC carts are 2.2 mm thick. So I need to increase the thickness of the PCB in order to let the contacts mate with the etched connector on the PCB. I did this by attaching a piece of 0.5 mm aluminium to the bottom of the board by means of a piece of doublse sided adhesive tape. The kind used for glueing rugs to the floor. That settled things. The contacts now have a really positive grip with the edge connector.

But the aligning slot of the GBC connector will not fit a PCB that is thicker than 1.7 mm. You can see what I mean in the picture above left. Above right shows how the side of the connector looks like. This narrow slot is something like 1.7 mm wide.

In the above left picture you see a small ridge on the far right side of the GB connector. Normal carts 'embrace' that ridge with cutouts in their cart-case. So I had two options:

  1. Cut away part of the PCB, thereby ruining tracks
  2. Cut away part of the GB connector
I chose for the latter. In the pictures below, you can see what it looks like now. If you look closely, you see that I cut away the ridge at the far ends of the GB connector. Now I can insert the 2.2 mm thick board easily.
Cutting was easy. With a sharp hobbyknife the thermoharder is quite easy to cut. Remove thin layers, not thicker than 0.1 mm.


A quick test

After I adapted the board thickness and the GB connector, I just needed urgently to see how it worked. So I inserted two batteries in my prepared GBC and inserted the GBexx card. After switching on, there ought to be +5 Volts on the edge connector. So I pulled out the (t)rusty old Fluke 8020A and probed around on the board.

At first, I couldn't find the 5 Volts (although it is at pins 1 and 2) but at the second attempt, I measured 5 Volts! That means:

  1. The connector mates with the board!
  2. The contact pressure is high enough!
  3. The PC board is thick enouugh!
  4. The contact fingers are aligned with the edge connector islands!
  5. There are no shorts!
Not bad, for a first attempt. Tomorrow will bring new challenges, I guess but now it's nighty time.

Page created January 2006,