Posted on

GPIO Button Guide for Game Boy Controller v2.0 / v1.1

Wiring the Game Boy Controller v2.0 to the Pi Zero or Pi 3’s GPIO pins is the simplest way to configure controller inputs for the Game Boy Zero/3 without any additional component. You can use the following diagram to solder the button inputs to the Pi and download a copy of RetroPie with the GPIO program already pre-installed.

Posted on

Game Boy Controller V2.0 Audio Wiring Guide

Stereo Audio with Single Speaker Setup

This setup uses both left and audio channel.

  1. Solder a wire from the PWM0-R pad to the Pi Zero’s GPIO18 pin or the Pi 3’s right audio from the headphone jack.
  2. Solder a wire from the PWM1-L pad to the Pi Zero’s GPIO13 pin or the Pi 3’s left audio from the headphone jack.
  3. Solder the volume pot to the board with their respective pins. You can use a 5-pin or a 3-pin volume wheel.
  4. Solder a wire from the S_R+ pad to the speaker’s positive(+) pin.
  5. Solder a wire from the S_R- pad to the speaker’s negative(-) pin.
  6. Last step is to combine both left and audio for the speaker by soldering a jumper wire from S_R+ pad to S_L+ pad.
  7. For Pi Zero build, edit the /boot/config.txt and add the following line:
    dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4

You can also use 2 speakers for left and audio output if that’s what you want.

There are different ways to setup the audio on a Game Boy Zero/3 but this is the most common and easiest way to do so good luck and happy building!

Posted on

Testing out my DPI Adapter for Raspberry Pi Zero and 3

I just got my DPI Adapter a few days ago and have been testing it earlier. I made this one to make it easier to use a DPI screen for Game Boy Zero and Game Boy 3 projects. It works on both the Pi Zero and Pi 3. There’s a builtin backlight driver but im still waiting for parts to finish it

This one is designed specifically for a commonly used 3.5″ lcd for GBZ/3.

Posted on

RetroPie SDCard Image with Built-in GPIO Controller Support

Below is a modified copy of RetroPie 4.3 image for the Raspberry Pi Zero with built-in support for setting up GPIO buttons using Adafruit’s Retrogame utility program. I have tested it and have been using it for my Game Boy Zero builds.

Raspberry Pi Zero – RetroPie_4.3_GPIO_PiZero.img.7z(578Mb)

Just edit the file /boot/retrogame.cfg to match your GPIO configuration.

Or use the following GPIO soldering setup:

 UP  –  GPIO04
 DOWN  –  GPIO17
 LEFT  –  GPIO27
 RIGHT  –  GPIO22
 A  –  GPIO05
 B  –  GPIO06
 X  –  GPIO19
 Y  –  GPIO26
 SELECT  –  GPIO20
 START  –  GPIO16
 L1  –  GPIO12
 R1  –  GPIO23

PWM audio is configured on GPIO18 but you can edit the following lines in the /boot/config.txt to either enable 1 or 2 audio channel.

# 2 channel audio
dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4

# 1 channel audio
dtoverlay=pwm,pin=18,func=2

Update: Image file updated to 7z format to shrink the size. Most zip programs can extract it just fine. Otherwise just download 7z.

Posted on

RetroPie/Raspberry Pi: How to Use a USB Sound Device

Step 1

Plug in your usb sound adapter/device into the Raspberry Pi’s usb port and let’s make sure it’s detected. Enter the following command.

pi@retropie:~ $ lsusb

You should get something like

Bus 001 Device 005: ID 0079:0011 DragonRise Inc. Gamepad
Bus 001 Device 004: ID 7392:7711 Edimax Technology Co., Ltd EW-7711UTn nLite Wireless Adapter [Ralink RT2870]
Bus 001 Device 003: ID 08bb:2704 Texas Instruments Audio Codec
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@retropie:~ $

Mine is detected as “Bus 001 Device 003: ID 08bb:2704 Texas Instruments Audio Codec“.

Step 2

Type and enter the following command to check the list of sound device being used by the system and take note of the order number.

pi@retropie:~ $ cat /proc/asound/modules

You should get something like

1 snd_bcm2835
2 snd_usb_audio
pi@retropie:~ $

My usb sound adapter is on order number 2.

Step 3

Let’s change the default sound to “2 snd_usb_audio” by editing

pi@retropie:~ $ sudo nano /etc/asound.conf

Paste the following

pcm.!default {
type hw card 2
}
ctl.!default {
type hw card 2
}

Reboot and it should use the usb sound as the default.