
Gb cart sst39sf010
ifilot/gameboy-cartridge-reader
Gameboy Cartridge Reader based on the Atmega 32u4

Gameboy Cartridge Reader based on the Atmega 32u4
Dmg gbc cartridge reader is an open-source printed circuit board by ifilot, from the ifilot/gameboy-cartridge-reader repository on GitHub. It is a 4-layer board of 68.2 × 51.9 mm with 42 parts on 67 nets, routed with 805 tracks and 98 vias.
It is built around the ATMEGA32U4-AU, 74HC273D and 74HC04D. Its parts include 13 capacitors, 10 resistors, 5 ICs, 5 diodes and 2 connectors. It belongs with the retro computing and games boards and the AVR (ATmega, ATtiny) boards of this library.
This project is a Gameboy cartridge reader designed around the Atmel ATmega32u4 microcontroller. It provides an easy way to interface with Gameboy cartridges, enabling data reading, writing, and backup. The design includes a custom PCB, firmware for the 32u4, and a simple GUI for user interaction.
[!NOTE] Download a Windows 64-bit installer for the GUI via this link
[!IMPORTANT] Please be aware of copyright laws regarding Gameboy and Gameboy Color games. Making copies of game data is strictly prohibited in many countries unless you own the original cartridge and are creating a backup for personal use where such actions are legally permitted. It is your responsibility to ensure compliance with local laws. This project is intended solely for educational purposes and lawful personal use.
The GUI allows users to interact with their Gameboy cartridges through a straightforward interface. Users can read ROM data from cartridges, create backups of save files, and write new save files to supported cartridges. Additionally, the GUI provides options for verifying data integrity, viewing cartridge metadata (such as title and game ID), and managing writable cartridges for flashing custom or homebrew games. Designed for simplicity, the GUI ensures that all operations are intuitive and accessible, even for beginners.

The following games are bundled with the GUI and can be readily flashed by the user to a writeable cartridge.
The PCB primarily utilizes SMD components, with the exception of the 16MHz crystal and the push button, which are through-hole components. To simplify the soldering process, it is recommended that users order a solder paste stencil and use a hot plate to solder the SMD components efficiently and accurately.
The writable cartridge for the Game Boy, based on the SST39SF010 flash memory chip, offers versatile support for both TTSOP32 and PLCC32 package variants. This flexibility allows developers and enthusiasts to choose their preferred chip packaging without requiring additional hardware modifications. The cartridge is designed to leverage the high-speed erase and write capabilities of the SST39SF010, making it ideal for prototyping or homebrew games.
The firmware for the ATmega32u4 must be compiled using Atmel Studio to ensure compatibility and proper optimization. Once compiled, the firmware can be flashed to the microcontroller using an ISP programmer, such as AVRDUDE, for seamless and reliable programming.
See the firmware/<DEVICE>/scripts folder for reading and writing the fuses.
The proper fuse settings for lfuse, hfuse and efuse should
be 0xFF, 0xD8 and 0xCB, respectively.
A 3D-printable case for the Gameboy cartridge reader is available in the cases folder, providing a protective and aesthetically pleasing enclosure for the assembled PCB.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 0.1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C2, C5, C6, C7, C8, C10, C11, C13 |
| 5 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R6, R7, R8, R9, R10 |
| 4 | MountingHole | MountingHole:MountingHole_2.2mm_M2 | H1, H2, H3, H4 |
| 2 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R3 |
| 2 | 22 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4, R5 |
| 2 | 22pF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C3, C4 |
| 2 | 74HC273 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U5, U6 |
| 1 | 100uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C12 |
| 1 | 16MHz | Crystal:Crystal_HC49-U_Vertical | Y1 |
| 1 | 1M | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C9 |
| 1 | 74HC04 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U4 |
| 1 | ATmega32U4-A | Package_QFP:TQFP-44_10x10mm_P0.8mm | U2 |
| 1 | AVR-ISP-6 | Connector_IDC:IDC-Header_2x03_P2.54mm_Vertical | J2 |
| 1 | Fuse | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | F1 |
| 1 | GameboyCartridgeHolder | gameboy_cartridge_holders:GBA | U1 |
| 1 | LED_ON | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D5 |
| 1 | LED_RD | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D1 |
| 1 | LED_RST | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D3 |
| 1 | LED_SRAM | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D4 |
| 1 | LED_WR | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D2 |
| 1 | RESET | Button_Switch_THT:SW_PUSH_6mm | SW1 |
| 1 | USB_B_Mini | components:65100516121 | J1 |

ifilot/gameboy-cartridge-reader
Gameboy Cartridge Reader based on the Atmega 32u4





arhefner/1802-Mini-SPI-DMA
SPI Expansion Board for the 1802/Mini Computer


ifilot/p2000t-ram-expansion-board
RAM expansion board for the P2000T

It measures 68.2 × 51.9 mm and has 4 copper layers, 1.6 mm thick.
42 parts, built around the ATMEGA32U4-AU, 74HC273D and 74HC04D. 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 ifilot/gameboy-cartridge-reader repository on GitHub, at the commit this page was made from: the board is pcb/32u4/dmg-gbc-cartridge-reader.kicad_pcb and its schematic pcb/32u4/dmg-gbc-cartridge-reader.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask ifilot before reusing the design.