

Gb board
(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
5RP2040
LQFN-56(7x7)12bit 133MHz 30 LQFN-56(7x7) Microcontrollers (MCU/MPU/SOC) ROHSRaspberry PiMicrocontrollers (MCU/MPU/SOC)W25Q16JVUXIQ
USON-8-EP(2x3)-40℃~+85℃ 100,000 cycles 10uA 133MHz 16Mbit 2.7V~3.6V 20 Years 3ms SPI USON-8-EP(2x3) NOR FLASH ROHSWinbond ElecNOR FLASHEMIF06-MSD04F3
WFBGA-16-40℃~+85℃ 40Ω 550MHz 7.5pF、9pF Yes WFBGA-16 EMI/RFI Filters (LC, RC Networks) ROHSSTMicroelectronicsEMI/RFI Filters (LC, RC Networks)ABM3-12.000MHZ-D2Y-T
SMD5032-2P-40℃~+85℃ 12MHz 18pF 60Ω Crystal Oscillator ±20ppm ±30ppm SMD5032-2P Crystals ROHSAbraconCrystalsBSS138PS
SOT-363(SC-88)1.5V 1.6Ω@10V 2 N-Channel 320mA 420mW 50pF 60V 800pC@4.5V SOT-363(SC-88) MOSFETs ROHSNexperiaMOSFETs
README
README.mdRP2040 → 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

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:
- ReimuNotMoe for their work on
TinyVGM. This framework for digesting
the
.vgmfiles is really helpful for me. - Aidan Lawrence for open-sourcing his YM2151 music player which got me started in the ATMEGA328P days.
Parts
37| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 100n | Capacitor_SMD:C_0402_1005Metric | C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C19 |
| 4 | 0.1uF | Capacitor_SMD:C_0402_1005Metric | C1, C2, C3, C4 |
| 4 | 10k | Resistor_SMD:R_0402_1005Metric | R1, R2, R3, R4 |
| 2 | 27.4 | Resistor_SMD:R_0402_1005Metric | R6, R7 |
| 2 | 27p | Capacitor_SMD:C_0402_1005Metric | C5, C6 |
| 1 | 10u | Capacitor_SMD:C_0603_1608Metric | C18 |
| 1 | 1k | Resistor_SMD:R_0402_1005Metric | R5 |
| 1 | ABM3-12.000MHZ-D2Y-T | vgmplayer:XTAL_ABM3_ABR | Y1 |
| 1 | BSS138PS | Package_TO_SOT_SMD:SOT-363_SC-70-6 | Q1 |
| 1 | DNF | Resistor_SMD:R_0402_1005Metric | R9 |
| 1 | EMIF06-MSD04F3 | vgmplayer:FLIPCHIP16_STM | U7 |
| 1 | LTC6903 | Package_DIP:DIP-8_W7.62mm_Socket | U3 |
| 1 | MCP23017_ML | Package_DFN_QFN:QFN-28-1EP_6x6mm_P0.65mm_EP4.25x4.25mm | U1 |
| 1 | Micro_SD_Card_Det1 | vgmplayer:503398-1892_MOL | J1 |
| 1 | RP2040 | vgmplayer:RP2040-QFN-56 | U5 |
| 1 | W25Q16JVUXIQ | vgmplayer:W25Q16JVUXIQ_WIN | U6 |
| 1 | YM2151 | Package_DIP:DIP-24_W15.24mm_Socket | U2 |
| 1 | YM3012 | Package_DIP:DIP-16_W7.62mm_Socket | U4 |
More from anthonydotmoe/vgmplayer
1- 2 layers111.8 × 88.9 mm

Similar boards
- 6 layers42.2 × 17.8 mm

- 4 layers184.3 × 131 mm

- 4 layers19.6 × 42.2 mm

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 mm

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 mm

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 mm

- 12 layers130 × 145 mm

Stream
myriadrf/STREAM
FPGA development platform for high-performance RF and digital design
1,240 parts31 - 4 layers47 × 21.6 mm

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.