Skip to the content
2 layers100 × 69.9 mmXT Sound PI2040Zero, the printed circuit board in 3D

XT Sound PI2040Zero

xrip/retro-sound10

Transform your RP2040 into a COM port passthrough for classic FM sound chips: SAA1099, YM2413, SN76489, YM3812, and YMF262. Enjoy authentic retro audio from vintage computers and consoles using real sound chips using modern hardware.

Size
100 × 69.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
87
Nets
76
Pads
397
Tracks, vias
799, 48
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
10 Jun 2024
Updated
17 Apr 2025

Overview

XT Sound PI2040Zero is an open-source printed circuit board by xrip, from the xrip/retro-sound repository on GitHub. It is a 2-layer board of 100 × 69.9 mm with 87 parts on 76 nets, routed with 799 tracks and 48 vias.

It is built around the TL074CN and RP2040-ZERO. Its parts include 32 capacitors, 27 resistors, 5 diodes, 3 ICs and 3 inductors. It belongs with the audio and music and retro computing and games boards and the RP2040 boards of this library.

Main components

2

README

README.md

RP2040 Retro Sound

What is?

RP2040 Retro Sound is a project that enables the Raspberry Pi Pico (RP2040) to serve as a COM port passthrough for various FM retro sound chips like the SAA1099, SN76489, YM3812, and YMF262.

Interactive BOM (bill of materials)

Assembled PCB:

Gerbers available via releases, or you can use whole KiCad project from hardware folder

With this setup, you can bring the authentic sound of classic gaming and computing systems to life using original sound chips. Enjoy the nostalgia of retro audio in a modern, convenient package!

Purpose

The goal of this project is to allow enthusiasts to listen to retro sound with real sound chips without needing any other retro hardware.

How to use

To use this project, you will need a modified version of DosBox-X or a Sega Master System/Sega Genesis emulator that can passthrough sound data directly to the chips via a COM port. COM7 hardcoded right now.

The operation protocol is straightforward and consists of two-byte transfers. The first byte is the command byte:

text
/*
 * 76543210 - command byte
 * ||||||||
 * |||||||+-- chip 0 / chip 1
 * ||||||+--- address or data
 * ||||++---- reserved
 * ++++------ 0x0...0xE chip id:
 *
 *            0x0 - SN76489 (Tandy 3 voice)
 *            0x1 - YM2413 (OPLL)
 *            0x2 - YM3812 (OPL2)
 *            0x3 - SAA1099 (Creative Music System / GameBlaster)
 *            0x4 - YMF262 (OPL3)
 *            0x5 - YM2612, YM2203, YM2608, YM2610, YMF288 (OPN2 and OPN-compatible series)
 *            ...
 *            0xf - all chips reset/initialization
 */

The second byte is the data byte, which is routed directly to the chip.

Requirements

  1. PCB (gerbers available via releases, or you can use whole KiCad project from hardware dir)
  2. RP2040 mini: The microcontroller that powers the project.
  3. Retro Sound Chips: Choose from SN76489, SAA1099, YM2413, YM3812, YMF262, or any OPN2 compatible chip. The YMF262 is recommended for its versatility.
  4. Capacitors and Resistors: A few passive components for stable operation.
  5. Basic Soldering Skills: Minimal soldering is required to assemble the hardware.

Credits

PCB designs and all hardware stuff are by Sa Gin

Parts

87
QtyValueFootprintReferences
90.1Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C3, C4, C11, C13, C19, C20, C22, C30
61kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR16, R17, R25, R26, R29, R30
62,2uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC5, C6, C7, C8, C9, C10
510.0Capacitor_SMD:CP_Elec_4x5.4C2, C12, C16, C18, C28
510kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR19, R20, R22, R23, R24
5300Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3, R4, R5
410nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC23, C24, C25, C27
422kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR7, R8, R12, R13
451kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR10, R11, R14, R15
310uHInductor_SMD:L_0805_2012Metric_Pad1.15x1.40mm_HandSolderL1, L2, L3
2100.0Capacitor_SMD:CP_Elec_5x5.4C29, C31
2100kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6, R9
2100pCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC14, C15
22.7nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC17, C21
2SA1099Package_DIP:DIP-18_W7.62mmDA9, DA10
2TL074CNPackage_DIP:DIP-14_W7.62mm_SocketU1, U2
133Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR18
147.0Capacitor_SMD:CP_Elec_5x5.4C32
168pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC26
1Audio OUTConnector_Audio:Jack_3.5mm_CUI_SJ1-3525N_HorizontalJ1
1OPL2LED_THT:LED_Rectangular_W5.0mm_H2.0mmD6
1OPL3LED_THT:LED_Rectangular_W5.0mm_H2.0mmD1
1RP2040-ZeroLIBS:RP2040-ZeroU11
1SAA1LED_THT:LED_Rectangular_W5.0mm_H2.0mmD3
1SAA2LED_THT:LED_Rectangular_W5.0mm_H2.0mmD5
1SN1LED_THT:LED_Rectangular_W5.0mm_H2.0mmD2
1SN76489Package_DIP:DIP-16_W7.62mmDA1
1Y3014BPackage_DIP:DIP-8_W7.62mm_LongPadsDA2
1YAC512-MPackage_SO:SOIC-16_4.55x10.3mm_P1.27mmDA8
1YM3812Package_DIP:DIP-24_W15.24mmDA7
1YMF262Package_SO:SOP-24_7.5x15.4mm_P1.27mmDA4

The 78 most common of 87 parts.

Similar boards

  • 6 layers304.8 × 243.8 mmHydra-16, the printed circuit board in 3D

    Hydra-16

    danstruthers/hydra-16

    6502-based multi-tasking hardware and software project

    210 parts1
  • 4 layers60.5 × 112.5 mmFrontBoard, the printed circuit board in 3D

    FrontBoard

    richardjmarini/MatrixMixer

    Matrix Mixer

    54 parts1GPL-3.0
  • 2 layers126.4 × 41.3 mmNoname, the printed circuit board in 3D

    Noname

    pedrodsk/pcb_cad

    Pcb projects

    66 parts
  • 2 layers132.3 × 94.9 mmCheapino, the printed circuit board in 3D

    Cheapino

    tompi/cheapino

    An affordable split 36 keys keyboard

    59 parts1.2kCC-BY-4.0
  • 2 layers321 × 92.3 mmMx40, the printed circuit board in 3D

    Mx40

    zzeneg/stront

    Split keyboards with 38 or 40 keys, LCD display and Cirque trackpad

    181 parts353MIT
  • 2 layers255.9 × 99.3 mmZerosprey42, the printed circuit board in 3D

    Zerosprey42

    beekeeb/zerosprey42

    Zerosprey42 Keyboard is a wired, beginner friendly, choc hotswap, MonoBlockSplit (Unibody), column-staggered, DIY mechanical keyboard.

    96 parts140
  • 2 layers146.3 × 69.5 mmStress, the printed circuit board in 3D

    Stress

    GroooveBob/Stress

    Pocket Arcade Fight Pad

    22 parts102MIT
  • 2 layers54 × 64 mmDonConIOmini, the printed circuit board in 3D

    DonConIOmini

    ravinrabbid/DonCon2040

    RP2040 based firmware and hardware for DIY Taiko no Tatsujin Drum Controllers

    96 parts66MIT

Questions

How big is the XT Sound PI2040Zero PCB?

It measures 100 × 69.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the XT Sound PI2040Zero use?

87 parts, built around the TL074CN and RP2040-ZERO. 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 XT Sound PI2040Zero KiCad files?

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

Can I use the XT Sound PI2040Zero design in my own project?

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