Skip to the content
PCBKitNew board
4 layers51.4 × 60.6 mmGb rp2040 cart, the printed circuit board in 3D

Gb rp2040 cart

deltabeard/DBGC57

A Game Boy cartridge using the Raspberry Pi RP2040 with RTC and MBC support.

Size
51.4 × 60.6 mm
Copper layers
4
Thickness
1 mm
Parts
67
Nets
95
Pads
358
Tracks, vias
813, 108
Pours
8
Routed
Yes
KiCad
KiCad 5 (file 20210824)
Created
22 Aug 2021
Updated
27 Dec 2021

Overview

Gb rp2040 cart is an open-source printed circuit board by deltabeard, from the deltabeard/DBGC repository on GitHub. It is a 4-layer board of 51.4 × 60.6 mm with 67 parts on 95 nets, routed with 813 tracks and 108 vias.

It is built around the RP2040, W25Q128JVSIQ and SN74LVC8T245PW, with the DS1302Z+, TXU0104PW and XC6206P332MR among its other parts. Its parts include 26 capacitors, 14 resistors, 9 ICs, 3 diodes and 3 transistors. It belongs with the retro computing and games boards and the RP2040 boards of this library.

Main components

8

README

README.md

DBGC: Deltabeard's Game Boy Cartridge

A reprogrammable Game Boy cartridge that utilises the Raspberry Pi RP2040.

Front preview of PCB Back preview of PCB

Supported Features

  • Support for No MBC, MBC1 and MBC3 games (but only in single-speed mode).
  • Real Time Clock (RTC) with battery backup.
  • FRAM 32KiB for save support.
  • NOR Flash 16MiB with support upto 8MiB ROM size.
  • Can only play the one game programmed in at compile time.
  • USB-C firmware upgrade support.

Proposed Features

  • Support multiple games on NOR Flash.
  • USB-C flash storage explorer to store and retrieve save files and ROMs.
  • USB-C networking support.

Flash Storage

The flash storage will be partitioned to allow the user to either support large ROM sizes or increased number of ROMs stored. By setting the maximum ROM size to a smaller value, there will be more space to store other ROMs on the Storage partition. An example partition scheme is shown below.

PartitionSizePurpose
Firmware256KiBStores firmware for the RP2040
StorageRemainderWear-levelling filesystem holding ROMs and save files

USB-C Networking

By utilising RP2040 and TinyUSB features, the USB-C port can act as a networking device, which when attached to a host, will allow the RP2040 to connect to the Internet. Future features will allow supported Game Boy games to make connections to the internet.

Notes

BOM is optimised for purchase from JLCPCB with SMT assembly. The cost of producing a single cart of this revision is approximately £15. This version of the PCB has major errors that can be seen in the errata.md document. Do not manufacture PCB version 0.3 or below; instead wait for the next version or the one on the master branch.

License

The majority of the software within this project are licensed under the terms of the ISC License. Please see the header of each source file for license terms. In brief, the copyright and permission notices must not be modified.

The PCB schematic and layout are licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. In brief, you may modify and share but only under the same license to allow others to continue modifying and sharing.

This project includes Libbet and the Magic Floor and 2048-gb, which are both licensed under the terms of the zlib license, and are included within this project in an unmodified binary form for testing purposes.

Showcase

  • Pokemon Polished Crystal. A major fan-made upgrade to Pokemon Crystal. Uses MBC3 with battery backed SRAM and Real Time Clock. The version tested had CGB double-speed disabled, which caused minor graphical glitches within the game. An effort is made to fix these graphical glitches at https://github.com/deltabeard/polishedcrystal. DBGC does not currently support double-speed, so using it to play Polished Crystal may not result in the intended experience.

Pokemon Polished Crystal

  • Mega Man 1. This commercial game uses MBC1 ROM banking.

megaman1

  • 2048-gb. Open source homebrew game. Uses no ROM banking.

2048

Parts

67
QtyValueFootprintReferences
19100nCapacitor_SMD:C_0402_1005MetricC1, C2, C3, C4, C5, C10, C13, C14, C16, C17, C18, C19, C20, C21, C26, C27 +3
51uCapacitor_SMD:C_0402_1005MetricC9, C15, C22, C23, C24
425kResistor_SMD:R_0402_1005MetricR1, R2, R3, R12
3330RResistor_SMD:R_0603_1608MetricR11, R13, R14
3SN74LVC8T245PWPackage_SO:TSSOP-24_4.4x7.8mm_P0.65mmU1, U2, U4
21kResistor_SMD:R_0603_1608MetricR6, R7
227.4RResistor_SMD:R_0603_1608MetricR8, R9
230pCapacitor_SMD:C_0402_1005MetricC11, C12
25k1Resistor_SMD:R_0402_1005MetricR4, R5
2N-ChannelPackage_TO_SOT_SMD:SOT-23Q2, Q3
2TestPointTestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mmTP3, TP5
2TestPointTestPoint:TestPoint_Pad_D1.0mmTP1, TP2
1100kResistor_SMD:R_0603_1608MetricR10
132.768kHzCrystal:Crystal_SMD_Abracon_ABS25-4Pin_8.0x3.8mmY2
1Battery_CellProject_Specific:MY-2032-11BT1
1Crystal_GND24Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1DS1302Z+Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU8
1D_Dual_CommonCathode_AAK_SplitPackage_TO_SOT_SMD:SOT-23D1
1DebugConnector_PinSocket_1.27mm:PinSocket_1x03_P1.27mm_VerticalJ3
1GameBoy_CartridgeGekkio_Connector_PCBEdge:GameBoy_Cartridge_1x32_P1.50mm_FullJ1
1LEDLED_SMD:LED_0603_1608MetricD2
1MB85RS256BPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU9
1Motor_DCConnector_PinHeader_1.27mm:PinHeader_1x02_P1.27mm_VerticalM1
1RP2040RP_RP2040:RP2040-QFN-56U6
1SI2301CDS-T1-GE3Package_TO_SOT_SMD:SOT-23Q1
1SM4007PLDiode_SMD:D_SOD-123FD3
1SW_SPSTButton_Switch_SMD:SW_SPST_TL3342SW1
1TXU0104Package_SO:TSSOP-14_4.4x5mm_P0.65mmU3
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_Palconn_UTC16-GJ2
1W25Q128JVSIQPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU5
1XC6206P332MRPackage_TO_SOT_SMD:SOT-23U7

Questions

How big is the Gb rp2040 cart PCB?

It measures 51.4 × 60.6 mm and has 4 copper layers, 1 mm thick.

What parts does the Gb rp2040 cart use?

67 parts, built around the RP2040, W25Q128JVSIQ, SN74LVC8T245PW and DS1302Z+. 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.

Where can I download the Gb rp2040 cart KiCad files?

From the deltabeard/DBGC repository on GitHub, at the commit this page was made from: the board is hw/gb_rp2040_cart.kicad_pcb and its schematic hw/RP2040.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Gb rp2040 cart design in my own project?

Its repository states no licence, so its author keeps all rights: ask deltabeard before reusing the design.

Similar boards

  • 4 layers49.5 × 48.3 mm9pin2supergun, the printed circuit board in 3D

    9pin2supergun

    turmoni/9pin2supergun

    Project to read a CD32, Mega Drive/Genesis, or generic 9-pin gamepad and output each control to a separate pin

    54 partsApache-2.0
  • 2 layers56 × 73 mmDecentCart2040, the printed circuit board in 3D

    DecentCart2040

    bleroy/3d-junkyard

    Random 3D models

    86 parts69
  • 2 layers120.5 × 46 mmKampela E1, the printed circuit board in 3D

    Kampela E1

    Alzymologist/Kampela

    Hardware signer and key storage for Substrate ecosystem

    192 parts21GPL-3.0
  • 4 layers101.6 × 101.6 mmSbc, the printed circuit board in 3D

    Sbc

    dpicken/atari-hw

    Hardware for Atari 8-bit projects

    118 parts6MIT
  • 2 layers78.5 × 46 mmKampela G5, the printed circuit board in 3D

    Kampela G5

    Kalapaja/kampela-hardware

    Hardware design schematics and supplementary files for Kampela hardware signer

    198 parts5GPL-3.0
  • 4 layers55 × 65 mmLogicAnalyzer, the printed circuit board in 3D

    LogicAnalyzer

    Synthron/LogicAnalyzer

    Customized Hardware from https://github.com/gusmanb/logicanalyzer

    33 parts2
  • 2 layers26.5 × 34.4 mmPicoLoaderNSB, the printed circuit board in 3D

    PicoLoaderNSB

    makeo/PicoLoader

    A cheap and easy to install modchip for the Nintendo GameCube!

    45 parts320GPL-2.0
  • 2 layers35.9 × 62.7 mmRp2040-memcard, the printed circuit board in 3D

    Rp2040-memcard

    sd2psx/pcb

    The PCB must be produced in 0.8mm thickness. Production files are provided under the "Releases" tab. These do not include the through-hole OLED module.

    60 parts241