Skip to the content
2 layers53.5 × 26 mmGbtty rp2354a, the printed circuit board in 3D

Gbtty rp2354a

maxfierke/gbtty2

gbtty: what if your game boy was also a VT100-compatible 20x18 ANSI terminal?

Size
53.5 × 26 mm
Copper layers
2
Thickness
1.6 mm
Parts
37
Nets
66
Pads
188
Tracks, vias
329, 48
Pours
3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
3 Jan 2026
Updated
20 Jun 2026

Overview

Gbtty rp2354a is an open-source printed circuit board by maxfierke, from the maxfierke/gbtty repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 53.5 × 26 mm with 37 parts on 66 nets, routed with 329 tracks and 48 vias.

It is built around the RP2354A, ABM8-272-T3 and SM03B-SRSS-TB. Its parts include 18 capacitors, 9 resistors, 3 ICs, 3 connectors and 1 switch. It belongs with the retro computing and games boards and the RP2350 boards of this library.

Main components

3

README

README.md

gbtty

gbtty (pronounced: gib-bit-EE / "gibbity") is a Game Boy (Color) hardware and software project to turn the Game Boy into an ANSI-compatible terminal.

Goals

The primary goal of this project is funsies. I wanted to work on a side project where I could use Rust, play around with an RP2040, and do something related to my current hyperfixation: the Game Boy.

Secondary goals include providing a useful-enough implementation of an ANSI terminal, at least to be VT100-compatible to the extent that matters for modern purposes.

Some stretch goals include supporting a broad set of ANSI escape codes, such as text/background color on the Game Boy Color, some support for scrollback, and perhaps even some support for some TUI elements depending on how wild I decide to get with this.

Anti-goals

I am not planning on turning this into an interactive terminal accepting input to be passed back to the host. The only possible way to make this work would be using some sort of on-screen keyboard control, and I am simply not masochistic enough to use that.

Current status

The software side of things is mostly working for basic printing and support for cursor movement, cursor reporting, and a few other CSI sequences. It's currently setup to compile and run on the Waveshare RP2040-Zero and configured to run on this pico-gb-printer board as I happened to have a couple of these, but should be configurable to run on other similar boards by remapping the GPIOs & swapping the BSP crate.

The hardware is still a work in-progress. The pcb/ has a few different v1.0 designs that still need to be tested. The design is more-or-less the same as other USB-to-link-cable boards out there, but I'm eventually trying to get it as close as I can to the footprint of a USB-to-UART adapter.

License

The firmware of the link adapter (contents of the root & src/ directory) is licensed under either the Apache License Version 2.0 or The MIT License

The PCB (contents of pcb/) is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International. Commercial uses are strictly prohibited.

The terminal emulator ROM itself (contents of the gb/ directory) is derived from orangeglo's Better Button Test, which is licensed under the GNU General Public License Version 3, so the same license applies.

Disclaimer

Game Boy™ is a trademark of Nintendo of America Inc.

Useful resources

Parts

37
QtyValueFootprintReferences
10100nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC2, C3, C4, C5, C6, C7, C9, C11, C15, C17
44.7uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C8, C10, C14
2100Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR8, R9
210uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC12, C13
215pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC16, C18
21kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6, R7
227Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR4, R5
25.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2
13.3uFRP2350_60QFN_minimal:L_pol_2016L1
133Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3
13V3TestPoint:TestPoint_Pad_D1.0mmTP1
1ABM8-272-T3ABM8-272-T3:XTAL_ABM8-272-T3Y1
1ADG3304ADG3304BRUZ_REEL7:RU_14_ADIU2
1GameBoy_LinkPortGekkio_Connector:GameBoy_LinkPort_MGB_HorizontalJ2
1NCP1117-3.3_SOT223Package_TO_SOT_SMD:SOT-223-3_TabPin2U1
1RP2354APackage_DFN_QFN:QFN-60-1EP_7x7mm_P0.4mm_EP3.4x3.4mmU3
1SM03B-SRSS-TBConnector_JST:JST_SH_BM03B-SRSS-TB_1x03-1MP_P1.00mm_VerticalJ3
1SW_PushButton_Switch_SMD:SW_SPST_TL3305ASW1
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1

More from maxfierke/gbtty

1
  • 2 layers63.5 × 26 mmGbtty, the printed circuit board in 3D

    Gbtty

    maxfierke/gbtty

    gbtty: what if your game boy was also a VT100-compatible 20x18 ANSI terminal?

    36 parts2Apache-2.0

Similar boards

  • 4 layers76 × 54 mmPixelblaze battery backpack, the printed circuit board in 3D

    Pixelblaze battery backpack

    SK-Electronics-Consulting/electronics-widgets

    Small, Custom Tools for Electronics

    112 parts1
  • 6 layers76 × 46.4 mmRp2350 driver, the printed circuit board in 3D

    Rp2350 driver

    sequoia-hope/rp2350-motor-controller

    An RP2350 based brushless motor controller

    291 parts39
  • 4 layers62.8 × 61.7 mmCf mp3-player, the printed circuit board in 3D

    Cf mp3-player

    will127534/cf-mp3-player

    A simple MP3/WAV/FLAC player using CF card

    119 parts16MIT
  • 4 layers40 × 40 mmEnc encoder, the printed circuit board in 3D

    Enc encoder

    ROAR-QUTRC/perseus-v3

    The code base for the QUT Robotics Club ROAR teams rover Perseus starting 2026

    87 parts10
  • 4 layers84 × 40 mmRV4028, the printed circuit board in 3D

    RV4028

    MichaelBell/RV4028

    RV4028 - A hackable Risc-V computer

    48 parts9BSD-3-Clause
  • 2 layers93.6 × 102.8 mmMote hardware, the printed circuit board in 3D

    Mote hardware

    empriselab/mote

    A low cost, high confidence mobile robot optimized for education.

    75 parts5MIT
  • 4 layers83.8 × 35.6 mmInconsole, the printed circuit board in 3D

    Inconsole

    RetroTournaments/nesceptor

    Hardware mod for 1985 NES

    55 parts5GPL-3.0
  • 2 layersOpensync, the printed circuit board in 3D

    Opensync

    ErichZimmer/OpenSync

    An open source synchronizer for velocimetry of fluids.

    230 parts4CERN-OHL-S-2.0

Questions

How big is the Gbtty rp2354a PCB?

It measures 53.5 × 26 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Gbtty rp2354a use?

37 parts, built around the RP2354A, ABM8-272-T3 and SM03B-SRSS-TB. 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 Gbtty rp2354a KiCad files?

From the maxfierke/gbtty repository on GitHub, at the commit this page was made from: the board is pcb/gbtty_rp2354a.kicad_pcb and its schematic pcb/gbtty.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Gbtty rp2354a design in my own project?

Its repository publishes it under the Apache-2.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).