

XT Sound PI2040Zero
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
2TL074CN
PDIP-14-15V~15V -40℃~+85℃ 1.4mA 100dB 13V/us 18nV/√Hz@1kHz 18uV/℃ 3MHz 3mV 5pA 65pA Four channels Short-Circuit Protection、Built-in compensation、Latch-up suppression PDIP-14 FET Input Amplifiers ROHSTexas InstrumentsFET Input AmplifiersRP2040-ZERO
-- Development Boards & Kits ROHSWaveshareDevelopment Boards & Kits
README
README.mdRP2040 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:
/*
* 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
- PCB (gerbers available via releases, or you can use whole KiCad project from
hardwaredir) - RP2040 mini: The microcontroller that powers the project.
- Retro Sound Chips: Choose from SN76489, SAA1099, YM2413, YM3812, YMF262, or any OPN2 compatible chip. The YMF262 is recommended for its versatility.
- Capacitors and Resistors: A few passive components for stable operation.
- Basic Soldering Skills: Minimal soldering is required to assemble the hardware.
Credits
PCB designs and all hardware stuff are by Sa Gin
Parts
87| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 0.1 | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C3, C4, C11, C13, C19, C20, C22, C30 |
| 6 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R16, R17, R25, R26, R29, R30 |
| 6 | 2,2uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C5, C6, C7, C8, C9, C10 |
| 5 | 10.0 | Capacitor_SMD:CP_Elec_4x5.4 | C2, C12, C16, C18, C28 |
| 5 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R19, R20, R22, R23, R24 |
| 5 | 300 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2, R3, R4, R5 |
| 4 | 10nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C23, C24, C25, C27 |
| 4 | 22k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R7, R8, R12, R13 |
| 4 | 51k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R10, R11, R14, R15 |
| 3 | 10uH | Inductor_SMD:L_0805_2012Metric_Pad1.15x1.40mm_HandSolder | L1, L2, L3 |
| 2 | 100.0 | Capacitor_SMD:CP_Elec_5x5.4 | C29, C31 |
| 2 | 100k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R6, R9 |
| 2 | 100p | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C14, C15 |
| 2 | 2.7nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C17, C21 |
| 2 | SA1099 | Package_DIP:DIP-18_W7.62mm | DA9, DA10 |
| 2 | TL074CN | Package_DIP:DIP-14_W7.62mm_Socket | U1, U2 |
| 1 | 33 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R18 |
| 1 | 47.0 | Capacitor_SMD:CP_Elec_5x5.4 | C32 |
| 1 | 68pF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C26 |
| 1 | Audio OUT | Connector_Audio:Jack_3.5mm_CUI_SJ1-3525N_Horizontal | J1 |
| 1 | OPL2 | LED_THT:LED_Rectangular_W5.0mm_H2.0mm | D6 |
| 1 | OPL3 | LED_THT:LED_Rectangular_W5.0mm_H2.0mm | D1 |
| 1 | RP2040-Zero | LIBS:RP2040-Zero | U11 |
| 1 | SAA1 | LED_THT:LED_Rectangular_W5.0mm_H2.0mm | D3 |
| 1 | SAA2 | LED_THT:LED_Rectangular_W5.0mm_H2.0mm | D5 |
| 1 | SN1 | LED_THT:LED_Rectangular_W5.0mm_H2.0mm | D2 |
| 1 | SN76489 | Package_DIP:DIP-16_W7.62mm | DA1 |
| 1 | Y3014B | Package_DIP:DIP-8_W7.62mm_LongPads | DA2 |
| 1 | YAC512-M | Package_SO:SOIC-16_4.55x10.3mm_P1.27mm | DA8 |
| 1 | YM3812 | Package_DIP:DIP-24_W15.24mm | DA7 |
| 1 | YMF262 | Package_SO:SOP-24_7.5x15.4mm_P1.27mm | DA4 |
The 78 most common of 87 parts.
Similar boards
- 6 layers304.8 × 243.8 mm

- 4 layers60.5 × 112.5 mm

- 2 layers126.4 × 41.3 mm

- 2 layers132.3 × 94.9 mm

- 2 layers321 × 92.3 mm

- 2 layers255.9 × 99.3 mm

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 mm

- 2 layers54 × 64 mm

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.