Skip to the content
2 layers39.7 × 50 mmSd wav pcm5100, the printed circuit board in 3D

Generate Openscad boxes from KiCad PCB files.

Size
39.7 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
329
Nets
50
Pads
487
Tracks, vias
460, 24
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
25 Dec 2025
Updated
28 Jan 2026

Overview

Sd wav pcm5100 is an open-source printed circuit board by gnilsson2, from the gnilsson2/YAPP_Box_KiCad_Generator repository on GitHub, published under the MIT licence. It is a 2-layer board of 39.7 × 50 mm with 329 parts on 50 nets, routed with 460 tracks and 24 vias.

It is built around the STM32F410RBT6, PAM8403 and PCM5100PW. Its parts include 21 capacitors, 7 connectors, 6 resistors and 4 ICs. It belongs with the STM32 boards of this library.

Main components

3

README

README.md

generateBox

Generate YAPP_Box OpenSCAD enclosures directly from KiCad PCB files

generateBox is a command-line utility that parses KiCad .kicad_pcb files and automatically generates OpenSCAD enclosure code.
It removes the manual work of measuring connectors, switches, and LEDs by extracting metadata directly from your PCB design.

The result is a printable project box that accurately fits your board and its components.


🚀 Features

  • Automatic Cutouts
    Generates enclosure openings for connectors and cables based on footprint properties.

  • Lid Mounting Support
    Adds mounting holes in the lid for designated components.

  • Interactive Components
    Built-in support for pushbuttons and LEDs.

  • LED Light Guides
    Automatically generates light tubes for LEDs, or simple holes if preferred.

  • 3D Model Integration
    Optionally imports your PCB’s exported 3D model for accurate fit verification in OpenSCAD.


🛠 Prerequisites

The following versions were used during development. Later versions may also work.


📋 KiCad Footprint Preparation

To allow the generator to identify components correctly, specific custom properties must be added to the relevant footprints in the KiCad PCB Editor.

Required Footprint Properties

Component TypeProperty NameDescription
ConnectorsHeightTotal height of the connector for enclosure cutouts
Connectors (Optional)ConnectorOverride to force detection (Height is still needed)
Lid ComponentsMountDiameterDiameter of the mounting hole in the lid
SwitchesHeight or MountDiameterHeight over PCB for PushButton, or diameter of lid hole
LEDsHeightHeight used to generate the light guide
LEDs (Optional)MountDiameterOverride for default LED diameter detection
Cables-(Detected by reference prefix X only)

Component roles are identified using a combination of footprint reference prefixes (e.g. J, D, SW, X) and the presence of these properties.


Example: USB Micro-B Connector

Show example

USB Micro-B connector properties


Example: LED

Show example

LED properties


📸 Optional: Export the PCB 3D Model

For best results, export your PCB as an STL file so it can be displayed inside the generated enclosure in OpenSCAD.

Steps

  1. In KiCad, go to
    File → Export → STEP / GLB / BREP / XAO / PLY / STL...
  2. Select STL as the format
  3. Set Coordinate Origin to Board center origin
  4. Rename the file extension to .pcb.stl
    (This prevents OpenSCAD’s STL export from overwriting the PCB model.)

Example

PCB 3D model inside enclosure


💻 Usage

After adding the required footprint properties and optionally exporting the PCB 3D model, open a terminal in the directory containing your .kicad_pcb file and run:

cmd
path_to_generateBox inputfile.kicad_pcb [outputfile.scad] [--lightholes]

Example

cmd
generateBox my_project.kicad_pcb my_project_box.scad

⚙ Command-Line Options

OptionDescription
--lightholesGenerate simple LED holes instead of light tubes
--noopenDisable auto open OpenSCAD program
--helpDisplay usage information
--versionDisplay version information

🔄 Typical Workflow

  1. Add the required custom properties to your KiCad footprints.

  2. (Optional) Export the PCB as an STL file.

  3. Run the generator on your .kicad_pcb file.

  4. The tool generates:

    • An OpenSCAD enclosure file (.scad)
    • A filtered PCB STL (if a .pcb.stl was found)
  5. If OpenSCAD is installed in the default location, it will be launched automatically:
    C:\Program Files\OpenSCAD\openscad.exe

  6. Render and export the enclosure in OpenSCAD.

🛠 Some maybe counter intuitive facts

  • Back wall is at x = 0, Front at positive x (inherited from YAPP_BOX).
  • KiCad y cordinate points down

🌟 Credits

This project builds upon the work of the following open-source tools and libraries:

📄 License

This project is licensed under the MIT License.

Parts

329
QtyValueFootprintReferences
281AUTO_VIAVIA_MATRIXV10_10, V10_49, V11_6, V11_10, V11_11, V11_12, V11_13, V11_14, V11_15, V11_16, V11_48, V11_49, V12_12, V12_13, V12_14, V12_15 +265
10100nCapacitors_SMD:C_0603_HandSolderingC2, C3, C4, C5, C6, C13, C16, C17, C19, C20
310KResistors_SMD:R_0603_HandSolderingR2, R5, R6
32u2Capacitors_SMD:C_0603_HandSolderingC1, C11, C14
2220nCapacitors_SMD:C_0603_HandSolderingC9, C18
22n2Capacitors_SMD:C_0603_HandSolderingC7, C8
2470Resistors_SMD:R_0603_HandSolderingR3, R4
247Kmyfootprints:TC-33X-2RV1, RV2
110uCapacitors_SMD:C_0603_HandSolderingC12
11uCapacitors_SMD:C_0603_HandSolderingC15
133KResistors_SMD:R_0603_HandSolderingR1
1470uCapacitors_Tantalum_SMD:Tantalum_Case-D_EIA-7343-31_HandC21
147uCapacitors_SMD:C_0805_HandSolderingC10
1BTN_1-4Terminal_Blocks:TerminalBlock_Pheonix_MPT-2.54mm_4polJ1
1BTN_5-7Terminal_Blocks:TerminalBlock_Pheonix_MPT-2.54mm_3polJ2
1BTN_8-11Terminal_Blocks:TerminalBlock_Pheonix_MPT-2.54mm_4polJ3
1HIGHResistors_SMD:R_0603_HandSolderingJP1
1LOWResistors_SMD:R_0603_HandSolderingJP2
1MX-503398-1892myfootprints:MX-503398-1892U4
1PAM8403myfootprints:SOP16LU3
1PCM5100Housings_SSOP:TSSOP-20_4.4x6.5mm_Pitch0.65mmU2
1SPK_OUTLPin_Headers:Pin_Header_Straight_1x02P2
1SPK_OUTRPin_Headers:Pin_Header_Straight_1x02P3
1ST-LINKPin_Headers:Pin_Header_Straight_1x06_Pitch2.54mmP1
1STM32F410RBT6Housings_QFP:LQFP-64_10x10mm_Pitch0.5mmU1
1SupplyPin_Headers:Pin_Header_Straight_1x02_Pitch2.54mmP4

The 323 most common of 329 parts.

More from gnilsson2/YAPP_Box_KiCad_Generator

5
  • 2 layers69.1 × 65.5 mmHeater actuator node, the printed circuit board in 3D

    Heater actuator node

    gnilsson2/YAPP_Box_KiCad_Generator

    Generate Openscad boxes from KiCad PCB files.

    263 partsMIT
  • 2 layers70.1 × 30 mmUsb shield, the printed circuit board in 3D

    Usb shield

    gnilsson2/YAPP_Box_KiCad_Generator

    Generate Openscad boxes from KiCad PCB files.

    201 partsMIT
  • 2 layers85 × 35 mmSuper reg-5v, the printed circuit board in 3D

    Super reg-5v

    gnilsson2/YAPP_Box_KiCad_Generator

    Generate Openscad boxes from KiCad PCB files.

    49 partsMIT
  • 2 layers35.6 × 18.8 mmSamd51 micropython 9, the printed circuit board in 3D

    Samd51 micropython 9

    gnilsson2/YAPP_Box_KiCad_Generator

    Generate Openscad boxes from KiCad PCB files.

    22 partsMIT
  • 2 layers70 × 30 mmUsb on off, the printed circuit board in 3D

    Usb on off

    gnilsson2/YAPP_Box_KiCad_Generator

    Generate Openscad boxes from KiCad PCB files.

    8 partsMIT

Similar boards

  • 2 layers39.7 × 50 mmSd wav pcm5100, the printed circuit board in 3D

    Sd wav pcm5100

    zk1132/kicad-1

    Hardware projects using KiCad

    108 parts
  • 4 layers80 × 100 mmDroneProject, the printed circuit board in 3D

    DroneProject

    TanvKT/DroneProjectHardware

    PCB schematic and design for Drone Project

    130 partsMIT
  • 2 layers406 × 90 mmTecladoMidi, the printed circuit board in 3D

    TecladoMidi

    ImMagni/Synthetizer

    Synthesizer made of pcm5000 lm4810 pam8403

    113 partsMIT
  • 4 layers102.9 × 96.7 mmPicoGUS chipdown, the printed circuit board in 3D

    PicoGUS chipdown

    polpo/picogus

    Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support

    99 parts805
  • 4 layers56 × 87.8 mmPicogus104, the printed circuit board in 3D

    Picogus104

    UzixLS/picogus104

    PicoGUS sound card for PC/104 interface

    114 parts23
  • 4 layers47.1 × 33.5 mmGamePad I2S audio, the printed circuit board in 3D

    GamePad I2S audio

    intergalaktik/Extension_Boards_for_Olimex_GateMate

    Simple extension boards for Olimex GateMate FPGA Board

    85 parts20
  • 2 layers71.8 × 26 mmDac attack, the printed circuit board in 3D

    Dac attack

    saybur/dac-attack

    S/PDIF to line-level audio board for use with retro computer device emulators, such as ZuluSCSI and friends.

    69 parts5CERN-OHL-S-2.0
  • 4 layers49.8 × 106.5 mmWaves, the printed circuit board in 3D

    Waves

    marangisto/Waves

    Cordic Accelerated Voltage Controlled Oscillator

    154 parts4MIT

Questions

How big is the Sd wav pcm5100 PCB?

It measures 39.7 × 50 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Sd wav pcm5100 use?

329 parts, built around the STM32F410RBT6, PAM8403 and PCM5100PW. 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 Sd wav pcm5100 KiCad files?

From the gnilsson2/YAPP_Box_KiCad_Generator repository on GitHub, at the commit this page was made from: the board is TestProject/TestPcbs/sd_wav_pcm5100/sd_wav_pcm5100.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Sd wav pcm5100 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).