Skip to the content
2 layersGb board, the printed circuit board in 3D

(Unfinished) Hardware YM2151 VGM Player using RP2040

Copper layers
2
Thickness
1.6 mm
Parts
37
Nets
118
Pads
257
Tracks, vias
111, 0
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
25 Sep 2022
Updated
15 May 2026

Overview

Gb board is an open-source printed circuit board by anthonydotmoe, from the anthonydotmoe/vgmplayer repository on GitHub. It is a 2-layer board with 37 parts on 118 nets, routed with 111 tracks and 0 vias.

It is built around the RP2040, W25Q16JVUXIQ and EMIF06-MSD04F3, with the ABM3-12.000MHZ-D2Y-T and BSS138PS among its other parts. Its parts include 19 capacitors, 8 resistors, 7 ICs, 1 transistor and 1 connector. It belongs with the RP2040 boards of this library.

Main components

5

README

README.md

RP2040 → YM2151 VGM Player

"It's a work in progress"

Backstory

2018 This project started out using an ATMEGA328P and Arduino, but I found that it was hard to write fast enough code to play songs at full speed. I then found the STM32 series of microcontrollers; It was promising, but I really didn't like the SDK or the HAL that was provided for these parts. After a few years, the Raspberry Pi Foundation released the Raspberry Pi Pico. I bought the board during its pre-order stage simply because it's a $5 microcontroller. This new board, with their own RP2040 chip, has one key feature that I didn't know at the time will make this project viable for me. The Programmable I/O (PIO).

2022 I finally got to looking at the datasheet for this board during DEFCON 2022, where they used the RP2040 for their interactive badge. The PIO section caught my eye, but I didn't look into it until a month later.

When I read the examples they had for driving WS2812 LED strips, I realized what I could do with this extra power. I could easily get data to the chip on time, every time; and have plenty of time for drawing a UI to a screen, fetching data from an SD card over SPI, and in the future, emulating other sound chips for game systems with AD/PCM and other chips.

Hardware

YM2151 Pico Dev Board

I made this development board for the project.

GPIO 0-7 are connected to D0-D7 on the YM2151. GPIO 8-10 are connected to the A0, WR, and CS pins. I'm using SPI to connect to the SD card, and an LTC6903 programmable clock generator making the main clock for the YM2151.

The supporting circuitry for the YM2151 was ripped from the same place I got the chip from, a Yamaha CX5 Music Computer.

Software

To be documented... and written

Thank You

Special thanks to:

Parts

37
QtyValueFootprintReferences
12100nCapacitor_SMD:C_0402_1005MetricC7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C19
40.1uFCapacitor_SMD:C_0402_1005MetricC1, C2, C3, C4
410kResistor_SMD:R_0402_1005MetricR1, R2, R3, R4
227.4Resistor_SMD:R_0402_1005MetricR6, R7
227pCapacitor_SMD:C_0402_1005MetricC5, C6
110uCapacitor_SMD:C_0603_1608MetricC18
11kResistor_SMD:R_0402_1005MetricR5
1ABM3-12.000MHZ-D2Y-Tvgmplayer:XTAL_ABM3_ABRY1
1BSS138PSPackage_TO_SOT_SMD:SOT-363_SC-70-6Q1
1DNFResistor_SMD:R_0402_1005MetricR9
1EMIF06-MSD04F3vgmplayer:FLIPCHIP16_STMU7
1LTC6903Package_DIP:DIP-8_W7.62mm_SocketU3
1MCP23017_MLPackage_DFN_QFN:QFN-28-1EP_6x6mm_P0.65mm_EP4.25x4.25mmU1
1Micro_SD_Card_Det1vgmplayer:503398-1892_MOLJ1
1RP2040vgmplayer:RP2040-QFN-56U5
1W25Q16JVUXIQvgmplayer:W25Q16JVUXIQ_WINU6
1YM2151Package_DIP:DIP-24_W15.24mm_SocketU2
1YM3012Package_DIP:DIP-16_W7.62mm_SocketU4

More from anthonydotmoe/vgmplayer

1
  • 2 layers111.8 × 88.9 mmModule board, the printed circuit board in 3D

    Module board

    anthonydotmoe/vgmplayer

    (Unfinished) Hardware YM2151 VGM Player using RP2040

    28 parts4

Similar boards

  • 6 layers42.2 × 17.8 mmPicoROM, the printed circuit board in 3D

    PicoROM

    wickerwaka/PicoROM

    An RP2040-based ROM emulator

    56 parts336MIT
  • 4 layers184.3 × 131 mmPortaPi R1, the printed circuit board in 3D

    PortaPi R1

    JakeBoothy/PortaPi

    A portable Raspberry Pi Zero W2

    199 parts
  • 4 layers19.6 × 42.2 mmPicoROM, the printed circuit board in 3D

    PicoROM

    schenkmi/electronic-retro-computing-projects

    In revision 2, the PCB size has been reduced by more than 50% and TAPuino support has been ditched. It now features a Micro SD slot and a few other improvements.

    49 parts
  • 2 layers60 × 120 mmESP8266Tetris, the printed circuit board in 3D

    ESP8266Tetris

    arraym/ESP8266Tetris

    Tetris game with ESP8266 (ESP-12F) and WS2812B (128 RGB LEDs) - KiCAD schematic and PCB

    235 parts2
  • 4 layers72.7 × 88.7 mmOptimus Hub, the printed circuit board in 3D

    Optimus Hub

    devisunofficial/Optimus-Hub

    Optimus hub is a USB 2.0 hub which has USB Type-C upstream port and 6 downstream USB Type-A port and one TF-Card reader

    76 parts
  • 4 layers55.2 × 6.6 mmMolisense, the printed circuit board in 3D

    Molisense

    Phantom3030/Electiva

    88 parts
  • 12 layers130 × 145 mmStream, the printed circuit board in 3D

    Stream

    myriadrf/STREAM

    FPGA development platform for high-performance RF and digital design

    1,240 parts31
  • 4 layers47 × 21.6 mmRotini Hardware, the printed circuit board in 3D

    Rotini Hardware

    AlfredoSystems/Rotini-Hardware

    📖 Documentation: https://www.alfredosys.com/Rotini-Hardware/ (pinout, power limits, flashing ExpressLRS, first Arduino upload)

    116 parts3MIT

Questions

What parts does the Gb board use?

37 parts, built around the RP2040, W25Q16JVUXIQ, EMIF06-MSD04F3 and ABM3-12.000MHZ-D2Y-T. 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 board KiCad files?

From the anthonydotmoe/vgmplayer repository on GitHub, at the commit this page was made from: the board is hardware/gb_board/gb_board.kicad_pcb and its schematic hardware/gb_board/gb_board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Gb board design in my own project?

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