Skip to the content
2 layers55 × 100 mmESP32AY revD2, the printed circuit board in 3D

ZxPod - ESP32 based AY multiformat player

Size
55 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
138
Nets
163
Pads
576
Tracks, vias
1,930, 226
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
26 Jun 2024
Updated
2 Nov 2026

Overview

ESP32AY revD2 is an open-source printed circuit board by djspawnbrest, from the djspawnbrest/ESP32AY repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 55 × 100 mm with 138 parts on 163 nets, routed with 1,930 tracks and 226 vias.

It is built around the ESP32-S3-WROOM-1-N8, SDB628 and 74HC595, with the AMS1117-3.3, DS3231MZ/V+ and PCM5102APW among its other parts. Its parts include 52 resistors, 44 capacitors, 12 ICs, 5 diodes and 5 switches. It belongs with the ESP32 boards of this library.

Main components

12

README

README.md

ZxPod - multiformat Turbo Sound player

ESP32 based AY Turbo Sound multiformat player

Fast flash firmware avaliable on Alex Spawn OTA web page

Starting with firmware version 3.41 - added support for external DAC's - read External DAC

IMPORTANT:

Firmwares from version 3.4 supports only PCB revision C! But you can soldering upgrade revision A and B to C:

Cut JP1 jumper on revisions A and B first!

From rev.A to B and C:

You need to cut the input track on the resistor R33(see Pic.2) and solder the wire from the ESP32 (see Pic.1) to the cut contact of the resistor. See the images below. Fig. 1 Fig. 2 Fig. 3 Fig. 4

From rev. A and B to C:

You need to cut the tracks as shown in Figure 5 (red cut lines), then carefully strip the tracks from the solder mask and solder the wires (green lines) to the ESP32. Fig. 5

Features

Supported formats:

  • .ayl - Ay_Emul by Sergey Bulba own playlist format
  • .pt1 - Pro Tracker v1 file format
  • .pt2 - Pro Tracker v2 file format
  • .pt3 - Pro Tracker v3 (include Turbo Sound on two AY chips) file format
  • .stc - Sound Tracker file format
  • .stp - Sound Tracker Pro file format
  • .asc - Sound Master file format
  • .psc - Pro Sound Creator file format
  • .sqt - SQ Tracker file format
  • .ay - AY file format
  • .psg - Programmable Sound Generator file format
  • .rsf - Registers Stream Flow file format
  • .yrg - Custom AVR-AY format
  • .mod - Amiga MOD tracker format designed for creating, storing and playing music on an Amiga PC
  • .s3m - (Scream Tracker 3 Module) is a module file format, based on the original MOD format used on the Amiga computer.
  • .xm - The XM file format, also known as Extended Module, is a digital audio file type for music created in the FastTracker 2 software (rev.D and above only).
  • .tap - A file format for emulating ZX Spectrum magnetic tape images, which stores data from standard Sinclair BASIC procedures for working with a cassette.
  • .tzx - A file format used to store programs and games for the ZX Spectrum computer as audio data from magnetic tape.
  • .mp3 - MP3 (MPEG-1 Audio Layer 3) is a widely used digital audio format that uses a lossy compression method to significantly reduce file size while maintaining near-CD quality audio.
  • .wav - is an audio file format for storing uncompressed audio data, developed by Microsoft and IBM. It is known for high-quality audio that retains all original data, but results in large file sizes, making it popular for professional audio recording and editing. The format stores audio data in chunks and commonly uses linear pulse-code modulation (LPCM) for encoding.
  • UART mode (available in player settings menu as Player source)
  • SD forwarding via USB as Mass Storage device (rev.D and above only) (press left button("-") and turn ON player)

Controls

  • Before player turning on - hold left button and turn on player to enter root config (needed for change encoder type). Encoder types:
    1. STEP 4L - active low (pull-up to VCC). Full cycle (4 phases) per click.
    2. STEP 4H - active high (pull-up to GND). Full cycle (4 phases) per click
    3. STEP 2 - half cycle (2 phases) per click (Set by default)
    4. STEP 1 - quarter cycle (1 phase) per click, and non-latching encoders
  • Before player turning on - hold right button and turn on player to reset config to default.
  • Before player turning on - hold encoder button and turn on player to reset last playing track (if player freezes or reboot on this file).
  • Encoder Hold - change mode player/file browser
  • Encoder Click - in player mode - play/pause; in file browser mode select track/playlist/directory; select - in config mode
  • Encoder Double click - in player mode - open settings
  • Encoder Push and turn right - fast forward (for ay format change next subsong, for tape formats - change next block)
  • Encoder Push and turn left - slow down (for ay format change previous subsong, for tape formats - change previous block)
  • Left button click/hold - volume - (in player mode); cancel - in config mode
  • Right button click/hold - volume + (in player mode)
  • Left button double click - change AY clock (in player mode) for PSG formats or change stereo panning for formats over DAC (mod,s3m etc.)
  • Right button double click - change play mode: all/shuffle/once (in player mode)
  • Right button hold and encoder click - remove file (only files, only in file browser).
  • Right button click - change file sorting in file browser. (only in file browser).

Playing modes:

  • Playing all tracks (in folder/playlist)
  • Playing random track (in folder/playlist)
  • Playing once track (loop)

Supports fully realtime file browser

Supports realtime AY layers change:

  • ABC
  • ACB
  • BAC
  • BCA
  • CAB
  • CBA

Supports realtime AY clock change:

  • ZX SPECTRUM - 1773400 Hz
  • PENTAGON - 1750000 Hz
  • MSX - 1789772 Hz
  • CPC - 1000000 Hz
  • ATARI ST - 2000000 Hz

Built-in battery

Built-in charger and indication on LED and TFT

Built-in headphones stereo amplifier controlled by I2C bus

Demo video with digital sound record:

Watch the video

UPD 22.10.2024

  • Add new feature: "UART mode" with AVR-AY player through UART.

UPD 04.03.2025

  • Add new formats: .mod and .s3m tracker module formats
  • Change PCB to revision C

UPD 18.06.2025

  • Change PCB to revision D (ESP32 chip change to ESP32-S3 (N16R8) chip)

UPD 16.07.2025

  • SD forwarding via USB as Mass Storage device (rev.D and above only)

UPD 12.09.2025

  • Add .xm file format (rev.D and above only). Change Firmware version to 3.5

UPD 15.10.2025

  • Add .tap, .tzx formats to play and loads programms on ZX-Spectrum.

UPD 08.10.2025

  • Add .mp3, .wav formats.

UPD 10.10.2025

  • Add file sorting in file broser on right button click!

Parts

138
QtyValueFootprintReferences
20100nCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C3, C12, C13, C15, C16, C18, C19, C20, C21, C22, C25, C29, C34, C35, C36 +4
1510KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R6, R7, R8, R9, R11, R13, R25, R26, R32, R39, R40, R41, R42
91KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR23, R24, R29, R45, R46, R47, R48, R49, R50
610uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC37, C38, C39, C40, C41, C42
64.7KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR33, R34, R35, R36, R37, R38
4, , ,
410ufCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC9, C10, C24, C27
4470Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR27, R28, R30, R31
4470nCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC30, C31, C32, C33
322ufCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC11, C14, C17
21.5KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR43, R44
215KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR51, R52
21kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR10, R22
22.2nfCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC26, C28
22.2uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC43, C44
2220Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR17, R19
25K1Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R4
274HC595Package_SO:SO-16_3.9x9.9mm_P1.27mmU2, U3
2AY-3-8910Package_DIP:DIP-40_W15.24mm_SocketU5, U7
1+TestPoint:TestPoint_Pad_D3.0mmBAT+1
1-TestPoint:TestPoint_Pad_D3.0mmBAT-1
1100KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR15
1100uffootprints:CP_EIA-7343-31_Kemet-D-uniC1
110kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR18
11MResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR14
12.2ufCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC23
122uHInductor_SMD:L_Bourns_SRN8040TAL1
124С32Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU9
12RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5
12k*Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR16
147kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR20
147uffootprints:CP_EIA-7343-31_Kemet-D-uniC8
16.2kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR21
18,2К*Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR12
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U1
1BC807Package_TO_SOT_SMD:SOT-23Q2
1BOOTTestPoint:TestPoint_Pad_D1.0mmBOOT1
1BOOTfootprints:SW_SPST_PTS810_handsolderingSW1
1BatteryConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ2
1CHRGLED_SMD:LED_0805_2012MetricD2
1DOWNButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmS1
1DS3231MZPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU6
1EG1213mod:SW_EG1213S3
1ENfootprints:SW_SPST_PTS810_handsolderingSW2
1ESP32-S3-WROOM-1RF_Module:ESP32-S3-WROOM-1U11
1IRLML6402Package_TO_SOT_SMD:SOT-23Q1
1LOGOmod:spawnllogoG***
1MiniJackfootprints:AUDIO_JACK_3.5MM_SMD_TRRS_rounded_mixedJ4
1OKLED_SMD:LED_0805_2012MetricD1
1PCM5102APackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU10
1PMEG4010CEJDiode_SMD:D_SOD-323FD3
1PWRLED_SMD:LED_0805_2012MetricD5
1RSTTestPoint:TestPoint_Pad_D1.0mmRST1
1RXTestPoint:TestPoint_Pad_D1.0mmRX1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmEncoder1
1SD Cardmod:TFP09212BJ3
1SDB628Package_TO_SOT_SMD:SOT-23-6_HandsolderingU8
1SS14Diode_SMD:D_SMAD4
1ST7789mod:ST7789TFT1
1TP4056Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.3mm_ThermalViasU4
1TPA6130A2RTJTG4mod:QFN50P400X400X80-21NU12
1TXTestPoint:TestPoint_Pad_D1.0mmTX1
1UPButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmS2
1USB_C_Receptacle_USB2.0_14PConnector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASVJ1

More from djspawnbrest/ESP32AY

3
  • 2 layers55 × 100 mmESP32AY, the printed circuit board in 3D

    ESP32AY

    djspawnbrest/ESP32AY

    ZxPod - ESP32 based AY multiformat player

    113 parts59GPL-3.0
  • 2 layers55 × 100 mmESP32AY, the printed circuit board in 3D

    ESP32AY

    djspawnbrest/ESP32AY

    ZxPod - ESP32 based AY multiformat player

    112 parts59GPL-3.0
  • 2 layers55 × 100 mmESP32AY, the printed circuit board in 3D

    ESP32AY

    djspawnbrest/ESP32AY

    ZxPod - ESP32 based AY multiformat player

    109 parts59GPL-3.0

Similar boards

  • 2 layers100 × 68 mmSI4684 SMD, the printed circuit board in 3D

    SI4684 SMD

    PE5PVB/SI4684-DAB-Receiver

    SI4684 ESP32 DAB Receiver

    91 parts135GPL-3.0
  • 2 layers17.4 × 12.6 mmTC4056-Bypass, the printed circuit board in 3D

    TC4056-Bypass

    DoImant/TP4056-Power-Path-PCB

    TP4056 Power Sharing PCB. Charge battery despite connected load.

    8 parts52CC-BY-SA-4.0
  • 2 layers60 × 110.8 mmKitchen timer hardware, the printed circuit board in 3D

    Kitchen timer hardware

    emanuelen5/kitchen-timer

    A digital kitchen timer made from scratch

    83 parts
  • 4 layers43.1 × 37.7 mmMachine Controller, the printed circuit board in 3D

    Machine Controller

    FinnKrass/MX-Break-In-Machine

    64 Slot Break In Machine for MX Style Switches

    84 parts15CERN-OHL-S-2.0
  • 2 layers72 × 121 mmTeebeutel, the printed circuit board in 3D

    Teebeutel

    entropia/Teebeutel-Hardware

    Teebeutel (eng. Teabag) is an electronic, Entropia themed con-badge for the GPN20, featuring an ESP32 microprocessor running micropython.

    201 parts1
  • 4 layers70 × 69.8 mmKarabas mini, the printed circuit board in 3D

    Karabas mini

    andykarpov/karabas-mini-pcb

    Karabas Go Mini PCB

    222 parts2

Questions

How big is the ESP32AY revD2 PCB?

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

What parts does the ESP32AY revD2 use?

138 parts, built around the ESP32-S3-WROOM-1-N8, SDB628, 74HC595 and AMS1117-3.3. 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 ESP32AY revD2 KiCad files?

From the djspawnbrest/ESP32AY repository on GitHub, at the commit this page was made from: the board is PCB/revD2/KiCad/ESP32AY-revD2.kicad_pcb and its schematic PCB/revA/KiCad/ESP32AY.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ESP32AY revD2 design in my own project?

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