
Game boy pico link board
agtbaskara/game-boy-pico-link-board
An Open-Source USB to Gameboy Link Cable Adapter for Raspberry Pi Pico

Firmware and PCB for GB to 3DS communication
VC Adapter is an open-source printed circuit board by Gr3nSkyDragon, from the Gr3nSkyDragon/VC-Adapter repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 39.5 × 30.5 mm with 10 parts on 22 nets, routed with 52 tracks and 0 vias.
It is built around the BOB-12009. Its parts include 2 ICs, 1 diode and 1 connector. It belongs with the interfaces and adapters boards and the ESP32 boards of this library.
Proof of concept. The PCB is unfinished and has not been fabricated or tested. The circuit itself has been proven on a breadboard (see below); the board layout is a work in progress.
A KiCad 10 project for the VC-Adapter: a Seeed XIAO ESP32-S3 plugged straight into a GBA, GBC or Game Boy's link port, with no
GB-Link (Pico) and no PC. It runs firmware 1.9 (beta), the VC-Adapter board build of ../firmware/esp32-uds-bridge, which
clocks the cartridge itself and trades with a 3DS's Virtual Console Pokemon games over the 3DS's local wireless. The Game Boy
side only for now: Gen 3 (GBA) games need the board's own GBA side, which is still to come.
| Part | What |
|---|---|
| U1 | Seeed XIAO ESP32-S3 (DIP) |
| U2 | SparkFun BOB-12009 bidirectional level shifter (BSS138; clones work) |
| J1 | GBA link port plug (gba_linkport/gba_linkport.pretty/GBALinkPort_Male), going straight into the console |
| R1, R2 | 10 kOhm each: the console sense divider on pin 1 |
| R3, R4, R5, D1 | The chip enable from pin 1: R4 and R5 in series, R3 (1 kOhm) to GND, D1 clamping to 3V3 |
The link port's signals are 5 V when a GBA runs a Game Boy cartridge (3.3 V for a GBA game) and the ESP32's pins take 3.3 V, so
the shifter's high side runs from the port's own VCC (pin 1) and follows the console; its low side runs from the XIAO's 3V3. No
resistors are needed for the link signals. The pinout is the one the firmware expects (sdkconfig.vcadapter, the shared VC-Adapter / GB-Link
pinout); SI and SO are the adapter's, as in the GB-Link's notation:
| Plug pin (console's signal) | Shifter | XIAO ESP32-S3 |
|---|---|---|
| 1 (VCC) | HV | - |
| 2 (SO, the console's output) | HV1 / LV1 | D1 = GPIO2, the adapter's SI |
| 3 (SI, the console's input) | HV2 / LV2 | D2 = GPIO3, the adapter's SO |
| 4 (SD) | HV4 / LV4 | D3 = GPIO4 (unused by a Game Boy) |
| 5 (SC, the clock) | HV3 / LV3 | D0 = GPIO1 |
| 6 (GND), plug shield | GND (both sides) | GND |
| - | LV | 3V3 |
A plug that goes into the console has pins 2 and 3 this way round; a socket with a link cable to the console would have them the other way (the cable crosses SO and SI).
Both take the console's pin 1, which is 5 V with a Game Boy game, 3.3 V with a GBA game and 0 V with the console off:
The XIAO's EN and MTCK are pads on its underside, not on its pin headers, so the board brings these two signals out and they are wired to the pads by hand.
uds-gblink-relay --port).CONFIG_UDS_LINK_PORT_SENSE_GPIO, off by default) needs an
ADC pin (GPIO1 to GPIO10 on the ESP32-S3); MTCK is GPIO39, which can be read only as high or low.MIT (LICENSE). gba_linkport is MIT from GB-Link-USB-DIY (its own LICENSE).
| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 10K | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | 10K, 10K |
| 1 | 100 | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | 100 |
| 1 | 1k | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | 1K |
| 1 | 50? | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | 50? |
| 1 | BOB-12009 | BOB-12009:CONV_BOB-12009 | U2 |
| 1 | D | Diode_THT:D_A-405_P7.62mm_Horizontal | D1 |
| 1 | XIAO_ESP32_S3 | More Xiao Files:XIAO-ESP32-S3-DIP | U1 |
| 1 | gba_linkport | GBA connector:GBALinkPort_Male | J1 |
The 9 most common of 10 parts.

agtbaskara/game-boy-pico-link-board
An Open-Source USB to Gameboy Link Cable Adapter for Raspberry Pi Pico


VincentKobz/diy-weather-station
The goal is to build from scratch a small intelligent weather station that can be connected to IOT networks.


hselomein/Car-LED-Controller
This is a private repo for my car led project

JhouLab/Pi5WebcamRecorder
Records MV4 AVI video files from up to 4 simultaneous USB webcams on Raspberry Pi 5

michelkeijzers/fraxis
This project's personal goal is to learn more about ESP32 with ESP-IDF programming.

It measures 39.5 × 30.5 mm and has 2 copper layers, 1.6 mm thick.
10 parts, built around the BOB-12009. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the Gr3nSkyDragon/VC-Adapter repository on GitHub, at the commit this page was made from: the board is VC-Adapter-DIY/VC-Adapter.kicad_pcb and its schematic VC-Adapter-DIY/VC-Adapter.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).