I designed the tinkerBOY Controller V3.0 from scratch so you can easily build your own Raspberry Pi-based Game Boy Zero which is compatible with Pi 4, Pi 2, and Pi 3. It’s a big upgrade from my other controller boards like the v2.0 and v2.2. and all the components I used are USB based in order to minimize wire connections.
The board is already pre-programmed as a USB gamepad and supports two analog joysticks that can be easily enabled via command line on the Raspberry Pi or on Windows PC or Mac.
Building your own Game Boy Zero for the first time is a bit confusing sometimes, especially for beginners without any prior knowledge of electronics. So I’m hoping this page will help you get started with your new tinkerBOY Controller v3.0.
- Wiring Diagram for tinkerBOY Controller V3.0.
- How to Wire the L and R Buttons.
- Analog Volume Wheel Wiring Diagram.
- How to Wire the Analog Joysticks.
Software Configuration Guides:
- Setting Up USB Audio As The Default Sound Output.
- How to Enable or Disable Analog Joysticks.
- How to Disable Digital Volume if you want to use the usual analog volume wheel.
- Battery Monitoring for tinkerBOY Controller v3.
Recommended DMG Case Mod:
- Game Boy DMG back Case Mod for the tinkerBOY Speaker 4O2W.
- Game Boy DMG Back Case Mod for tinkerBOY Controllers.
You can download the 6-Button Template and print it in its actual size. If you’re printing it from Chrome uncheck the “Fit to page” from the “Scale” option.
34 thoughts on “Getting Started Guide for tinkerBOY Controller V3.0”
Where can I find 3D printed parts to hold the screen and close the GameBoy Zero shut.
This is the one i used for most of my previous Game Boy Zero builds https://www.thingiverse.com/thing:2311662.
Hi, how do I wire normal up down left right buttons?
What do you mean? The v3 is usb based so controller inputs are taken cared via usb.
can you wire a 5 pin volume wheel to this board?
Hi, what are the data pin numbers for the raspberry pi 3 a+? Many thanks.
I’m getting no gamepad detected can you tell me how to wire this board to the 3b+
I cannot get my joystick to be recognized all the connections are fine and I enabled the joystick in minicom any advice? Ps sorry for all the questions and thanks again
Have recently ordered v3, and am super excited, thank you! I’m going to be *attempting* to add this board to a pi 4 soon, is there any way you can provide the software for the board as an installer? Or something or the sort? I see you have the pre-built images.
Yes im currently working on a script so you can set it up without using my pre-made images.
You rock! Thank you!
Did you ever publish a setup script for controller version 3? Does it work on Pi4B+?
Yes it works on Pi4B+.
Will this control board work with the Raspberry Pi 4? Are the instructions for connecting this pcb board different from connecting it to the Raspberry Pi 3 models? Will you update the tutorials for connecting this board to a Raspberry Pi 4?
Will this pcb work with the Raspberry Pi 4? Is the procedure for connecting this board different from connecting it to a Raspberry Pi 3? Will the tutorials for connecting the tinker boy control board v.3 be updated to account for connecting it to the Pi 4? Any feedback would be appreciated.
Yes it should work with the Pi4. Actually i have tested it to work just fine with a PI 4.
For the software related, will there be an updated tutorial for installing the necessary software for this controller on the Raspberry Pi 4?
Yes when the official RetroPie for Pi 4 is released.
is this compatible with any odroid board, specifically the ux4?
It should be compatible since it’s the same Linux OS that the Raspberry Pi use.
A couple questions I either missed an answer for or couldn’t find. I know this one’s silly but what gauge wire should I be using? Also with the controller v 3.0 do I need to modify the back of the case like the guide for the v2.1 and 2.2 controllers?
You donot need to modify the back case for the v3. I usually use 28awg for power and 30awg for data.
I install everything as you indicate with its pre-built image for rearfoot and I get a message connect game pad, press the buttons and do nothing.
If the controller is not detected then check your data pin connections to the Pi.
I am using a Pi3 A+ and your pre build image, and I want to use the 2nd usb port, to put à keyboard or a usb key,
but it is not recognized?
do I have to enable the 2nd usb ?
Without seeing photos how you wired it it’s hard to tell. I’m assuming the controller v3 is recognized?
Any update on instructions for the Pi 4?
Hello, I connected the wires as instructed.
The RetroPie shows “NO GAMEPADS DETECTED”.
I checked D+ and D- wires but there is no problem.
What can I do ?
I use raspberryPi zero, tinkerboy version3.0.1 and pre-built-in image v4.4
Login to your Raspberry Pi via SSH and let me know the results of this command: lsusb
I have solved.
Firstly. I used raspberry pi zero without wifi and bluetooth.
Finally, when I changed raspberry pi zero w, it recognized Arduino Leonardo.
Thank you for your cooperation !
pi@retropie:~ $ lsusb
Bus 001 Device 004: ID 0d8c:0103 C-Media Electronics, Inc. CM102-A+/102S+ Audio Controller
Bus 001 Device 003: ID 2341:8036 Arduino SA Leonardo (CDC ACM, HID)
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The PI Zero 2 only has one USB Port usable for data.
By default this USB Port supports USB OTG which allows the PI to act as a master (e.g. to read from an USB drive), but it is also able to act as a slave (e.g. to act as an USB drive itself when connected to another computer).
This allows me to use a single external USB port for charging (power pins to charging controller) and connecting to a computer or also an USB drive (data pins to PI Zero 2).
When using your controller v3.0 board, this USB OTG Port is blocked. On the other hand the board is providing two additional USB ports. Since the USB OTG port of the PI is blocked, is it possible to have this OTG feature with one of the two ports of the controller v3.0 board?
This would be AWSOME. If yes, I would definetly try it and provide a tutorial on that :-).
Let me make it a bit easier and more clear:
PI Zero (2) connected to Controller v3.0 board via the USB (OTG) port.
Controller Port 1:
– connected to an external USB-A port, which is used to connect USB drives only
– PI can read the USB drive
Controller Port 2:
– connected to an external Micro-USB port, which is used to connect to a computer
– shares this Micro-USB port with the charging / power controller
– Computer can read & write to the PI which acts as an USB drive
Would this be possible?