summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules6
-rw-r--r--Makefile10
-rw-r--r--README.md15
-rw-r--r--mech/assembly.scad18
-rw-r--r--mech/mech.mk17
-rw-r--r--mech/panel_front.scad70
-rw-r--r--mech/parameters.scad21
-rw-r--r--mech/pcb_case/bolt.scad13
-rw-r--r--mech/pcb_case/conversion.scad8
-rw-r--r--mech/pcb_case/nut.scad7
-rw-r--r--mech/pcb_case/panel.scad28
-rw-r--r--mech/pcb_case/pcb.scad14
-rw-r--r--mech/pcb_case/rounded_cube.scad12
-rw-r--r--mech/pcb_case/shell.scad116
-rw-r--r--mech/pcb_case/spacer.scad10
-rw-r--r--mech/pcb_case/tolerance_tests.scad86
-rw-r--r--mech/production.scad38
-rw-r--r--mech/prusa-slicer/anycubic_i3_mega_s.ini331
-rw-r--r--pcb/.gitignore2
m---------pcb/libraries/kicad-symbols0
m---------pcb/parts-kicad0
-rw-r--r--pcb/pcb.mk23
-rwxr-xr-xpcb/print-bom.sh21
-rw-r--r--pcb/soundbox.kicad_pcb3760
-rw-r--r--pcb/soundbox.kicad_prl83
-rw-r--r--pcb/soundbox.kicad_pro224
-rw-r--r--pcb/soundbox.kicad_sch370
27 files changed, 4355 insertions, 948 deletions
diff --git a/.gitmodules b/.gitmodules
index cba18ca..e3ae6e6 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "pcb/libraries/kicad-symbols"]
- path = pcb/libraries/kicad-symbols
- url = https://gitlab.com/kicad/libraries/kicad-symbols.git
+[submodule "pcb/parts-kicad"]
+ path = pcb/parts-kicad
+ url = https://cgit.xengineering.eu/parts-kicad
diff --git a/Makefile b/Makefile
index 7633882..c2599ad 100644
--- a/Makefile
+++ b/Makefile
@@ -32,18 +32,12 @@ $(TARGET_DIR): debug
rm -rf $@
mkdir -p $@
install -Dm 644 $(BUILD_DIR)/doc/documentation.pdf $@
- install -Dm 644 $(BUILD_DIR)/mech/assembly.gcode $@
- install -Dm 644 $(BUILD_DIR)/mech/assembly.stl $@
- install -Dm 644 $(BUILD_DIR)/mech/production.gcode $@
- install -Dm 644 $(BUILD_DIR)/mech/production.stl $@
- install -Dm 644 $(BUILD_DIR)/mech/pcb_case/tolerance_tests.gcode $@
- install -Dm 644 $(BUILD_DIR)/mech/pcb_case/tolerance_tests.stl $@
-debug: doc mech
+debug: doc pcb
.PHONY: clean
clean:
rm -rf $(BUILD_DIR)
include doc/doc.mk
-include mech/mech.mk
+include pcb/pcb.mk
diff --git a/README.md b/README.md
index 8b83ec3..b6ea4c4 100644
--- a/README.md
+++ b/README.md
@@ -13,15 +13,6 @@ The following listing provides an overview of the repository structure:
│ ├── LICENSE.txt
│ └── documentation.tex
├── Makefile
-├── mech
-│ ├── assembly.scad
-│ ├── LICENSE.txt
-│ ├── parameters.scad
-│ ├── pcb_case
-│ │ └── tolerance_tests.scad
-│ ├── production.scad
-│ └── prusa-slicer
-│ └── anycubic_i3_mega_s.ini
└── README.md
```
@@ -33,10 +24,6 @@ The `doc` folder contains everything to build the PDF documentation which is
generated during a full build. It contains all documentation aspects except the
content covered in the given `README`.
-Mechanical design is handled inside the `mech` directory. It consists of source
-files for OpenSCAD aswell as configuration file(s) for the Prusa Slicer
-software.
-
## Build instructions
To build the contents of this repository the following software tools are
@@ -47,8 +34,6 @@ required:
- GNU make
- pdflatex
- Inkscape
-- OpenSCAD
-- Prusa Slicer
A full build can be started with `make`. The results can be removed with `make
clean`.
diff --git a/mech/assembly.scad b/mech/assembly.scad
deleted file mode 100644
index 756e539..0000000
--- a/mech/assembly.scad
+++ /dev/null
@@ -1,18 +0,0 @@
-include <parameters.scad>
-
-use <panel_front.scad>
-
-use <pcb_case/pcb.scad>
-use <pcb_case/shell.scad>
-use <pcb_case/panel.scad>
-
-module assembly() {
- pcb(pcb_dim, drillings, margins, t);
-
- pcb_case_shell_bottom(pcb_dim, drillings, margins, t);
- pcb_case_shell_top(pcb_dim, margins, t);
- pcb_case_panel_back(pcb_dim, margins, t);
- panel_front(pcb_dim, margins, t);
-}
-
-assembly();
diff --git a/mech/mech.mk b/mech/mech.mk
deleted file mode 100644
index ca39a7c..0000000
--- a/mech/mech.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-PRINTER := anycubic_i3_mega_s
-PRINTER_CONFIG := $(PRINTER:%=mech/prusa-slicer/%.ini)
-MECH_BUILD_DIR := $(BUILD_DIR)/mech
-PARTS := assembly production pcb_case/tolerance_tests
-STL := $(PARTS:%=$(MECH_BUILD_DIR)/%.stl)
-GCODE := $(PARTS:%=$(MECH_BUILD_DIR)/%.gcode)
-
-.PHONY: mech
-mech: $(GCODE) $(STL)
-
-$(BUILD_DIR)/%.gcode: $(BUILD_DIR)/%.stl
- mkdir -p $(dir $@)
- prusa-slicer --load $(PRINTER_CONFIG) --output $@ --export-gcode $<
-
-$(BUILD_DIR)/%.stl: %.scad
- mkdir -p $(dir $@)
- openscad --hardwarnings --export-format binstl -o $@ $<
diff --git a/mech/panel_front.scad b/mech/panel_front.scad
deleted file mode 100644
index da06927..0000000
--- a/mech/panel_front.scad
+++ /dev/null
@@ -1,70 +0,0 @@
-use <pcb_case/conversion.scad>
-use <pcb_case/panel.scad>
-
-tol = 2;
-
-module panel_front(pcb_dim, margins, t) {
- dim = dim_pcb_to_case(pcb_dim, margins, t);
- x_off = dim[0]-2*t;
-
- difference() {
- pcb_case_panel_front(pcb_dim, margins, t);
- mini_hdmi_hole(pcb_dim, margins, t);
- for(v=[
- [usb_max_y-usb_max_delta_y-tol/2, 0.75*t],
- [usb_max_y-usb_delta_y-tol/2, t]
- ]) {
- translate([0, v[0], 0]) {
- micro_usb_hole(pcb_dim, margins, t, v[1]);
- }
- }
- for(y = [cinch_min_y+0.5*cinch_d, cinch_min_y+1.5*cinch_d+cinch_delta_y]) {
- translate([0, y, 0]) {
- cinch_hole(pcb_dim, margins, t);
- }
- }
- }
-}
-
-hdmi_delta_y = 11.8;
-hdmi_delta_z = 3.9;
-hdmi_max_y = 31.7;
-hdmi_max_z = 13.7;
-module mini_hdmi_hole(pcb_dim, margins, t) {
- case_dim = dim_pcb_to_case(pcb_dim, margins, t);
- translate([
- case_dim[0]-2*t,
- hdmi_max_y-hdmi_delta_y-tol/2,
- hdmi_max_z-hdmi_delta_z-tol/2]) {
- cube([t, hdmi_delta_y+tol, hdmi_delta_z+tol]);
- }
-}
-
-usb_delta_y = 8;
-usb_max_delta_y = 20.6;
-usb_delta_z = 3;
-usb_max_y = 71.55;
-usb_max_z = 12.7;
-module micro_usb_hole(pcb_dim, margins, t, dx) {
- echo(dx);
- case_dim = dim_pcb_to_case(pcb_dim, margins, t);
- translate([
- case_dim[0]-2*t,
- 0,
- usb_max_z-usb_delta_z-tol/2]) {
- cube([dx, usb_delta_y+tol, usb_delta_z+tol]);
- }
-}
-
-cinch_d = 8.3;
-cinch_min_y = 45;
-cinch_delta_y = 8.2;
-cinch_max_z = 34.25;
-module cinch_hole(pcb_dim, margins, t) {
- case_dim = dim_pcb_to_case(pcb_dim, margins, t);
- translate([case_dim[0]-2*t, 0, cinch_max_z-cinch_d/2]) {
- rotate([0, 90, 0]) {
- cylinder(d=cinch_d+tol, h=t, $fn=30);
- }
- }
-}
diff --git a/mech/parameters.scad b/mech/parameters.scad
deleted file mode 100644
index 9fda8b4..0000000
--- a/mech/parameters.scad
+++ /dev/null
@@ -1,21 +0,0 @@
-include <pcb_case/bolt.scad>
-
-t = 1.65;
-
-pcb_dim = [30, 65, 1.4];
-
-margins = [
- [1, 0.3],
- [3.6, 1.7],
- [bolt_l-t-pcb_dim[2], 27]
-];
-
-base_drilling = [3.5, 3.5];
-dx = [23, 0];
-dy = [0, 58];
-drillings = [
- base_drilling,
- base_drilling + dx,
- base_drilling + dy,
- base_drilling + dx + dy
-];
diff --git a/mech/pcb_case/bolt.scad b/mech/pcb_case/bolt.scad
deleted file mode 100644
index 4c26c30..0000000
--- a/mech/pcb_case/bolt.scad
+++ /dev/null
@@ -1,13 +0,0 @@
-// bolt based on ISO 4762 (https://www.fasteners.eu/us/standards/ISO/4762)
-bolt_k = 3;
-bolt_l = 10;
-bolt_dk = 5.5;
-bolt_ds = 3;
-bolt_ds_tol = 0.45;
-
-module bolt() {
- union() {
- cylinder(d=bolt_ds, h=bolt_l, $fn=30);
- translate([0, 0, -bolt_ds]) cylinder(d=bolt_dk, h=bolt_ds, $fn=30);
- }
-}
diff --git a/mech/pcb_case/conversion.scad b/mech/pcb_case/conversion.scad
deleted file mode 100644
index 69c3c3b..0000000
--- a/mech/pcb_case/conversion.scad
+++ /dev/null
@@ -1,8 +0,0 @@
-include <bolt.scad>
-include <nut.scad>
-
-function dim_pcb_to_case(pcb_dim, margins, t) = [
- pcb_dim[0]+margins[0][0]+margins[0][1]+4*t,
- pcb_dim[1]+margins[1][0]+margins[1][1]+2*t+2*(bolt_l-t),
- pcb_dim[2]+margins[2][0]+margins[2][1]+4*t
-];
diff --git a/mech/pcb_case/nut.scad b/mech/pcb_case/nut.scad
deleted file mode 100644
index 0768b6a..0000000
--- a/mech/pcb_case/nut.scad
+++ /dev/null
@@ -1,7 +0,0 @@
-nut_h = 3;
-nut_d = 4.15;
-nut_d_tol = 0.2;
-
-module nut() {
- cylinder(d=nut_d,h=nut_h);
-}
diff --git a/mech/pcb_case/panel.scad b/mech/pcb_case/panel.scad
deleted file mode 100644
index eef0b28..0000000
--- a/mech/pcb_case/panel.scad
+++ /dev/null
@@ -1,28 +0,0 @@
-include <nut.scad>
-
-use <conversion.scad>
-use <rounded_cube.scad>
-
-panel_dim_0_tol = 0.3;
-panel_dim_1_2_tol = 0.45;
-
-module pcb_case_panel(pcb_dim, margins, t) {
- dim = dim_pcb_to_case(pcb_dim, margins, t);
-
- rounded_cube(
- dim=[t, dim[1]-2*t, dim[2]-2*t],
- radius=t
- );
-}
-
-module pcb_case_panel_back(pcb_dim, margins, t) {
- translate([t, t, t])
- pcb_case_panel(pcb_dim, margins, t);
-}
-
-module pcb_case_panel_front(pcb_dim, margins, t) {
- dim = dim_pcb_to_case(pcb_dim, margins, t);
-
- translate([dim[0]-2*t, t, t])
- pcb_case_panel(pcb_dim, margins, t);
-}
diff --git a/mech/pcb_case/pcb.scad b/mech/pcb_case/pcb.scad
deleted file mode 100644
index 7b24131..0000000
--- a/mech/pcb_case/pcb.scad
+++ /dev/null
@@ -1,14 +0,0 @@
-include <bolt.scad>
-include <nut.scad>
-
-module pcb(dim, drillings, margins, t) {
- translate([2*t+margins[0][0], bolt_l+margins[1][0], t+margins[2][0]]) {
- difference() {
- cube([dim[0], dim[1], dim[2]]);
- for (drilling = drillings) {
- translate([drilling[0], drilling[1], 0])
- cylinder(d=3, h=dim[2], $fn=30);
- }
- }
- }
-}
diff --git a/mech/pcb_case/rounded_cube.scad b/mech/pcb_case/rounded_cube.scad
deleted file mode 100644
index acd50e7..0000000
--- a/mech/pcb_case/rounded_cube.scad
+++ /dev/null
@@ -1,12 +0,0 @@
-module rounded_cube(dim, radius) {
- range_y = [radius, dim[1]-radius];
- range_z = [radius, dim[2]-radius];
- height = dim[0];
-
- hull() {
- for (y=range_y, z=range_z) {
- translate([0,y,z]) rotate([0,90,0])
- cylinder(r=radius, h=height, $fn=30);
- }
- }
-}
diff --git a/mech/pcb_case/shell.scad b/mech/pcb_case/shell.scad
deleted file mode 100644
index 18139f6..0000000
--- a/mech/pcb_case/shell.scad
+++ /dev/null
@@ -1,116 +0,0 @@
-include <bolt.scad>
-include <nut.scad>
-include <panel.scad>
-
-use <conversion.scad>
-use <rounded_cube.scad>
-
-module shell_base(pcb_dim, margins, t) {
- dim = dim_pcb_to_case(pcb_dim, margins, t);
-
- difference() {
- // full body
- rounded_cube(dim=dim, radius=t);
-
- // cut away upper half
- translate([0,0,dim[2]/2])
- cube([dim[0], dim[1], dim[2]/2]);
-
- // main PCB space
- translate([3*t, t, t])
- rounded_cube([dim[0]-6*t, dim[1]-2*t, dim[2]-2*t], t);
-
- // remove front and back
- translate([0, 2*t, 2*t])
- rounded_cube([dim[0], dim[1]-4*t, dim[2]-4*t], t);
-
- // panel holder
- for (x_off = [t-panel_dim_0_tol/2, dim[0]-2*t-panel_dim_0_tol/2]) {
- translate([x_off, t-panel_dim_0_tol/2, t-panel_dim_0_tol/2]) {
- rounded_cube(
- [
- t+panel_dim_0_tol,
- dim[1]-2*t+panel_dim_1_2_tol,
- dim[2]-2*t+panel_dim_1_2_tol
- ],
- t
- );
- }
- }
-
- // bolt drillings
- for (x = [dim[0]/4, dim[0]-dim[0]/4]) {
- translate([x,0,dim[2]/2-1.5*bolt_ds])
- rotate([-90,0,0])
- cylinder(d=bolt_ds+bolt_ds_tol, h=1.1*t, $fn=30);
- }
- }
-}
-
-module shell_connector(pcb_dim, margins, t) {
- dim = dim_pcb_to_case(pcb_dim, margins, t);
-
- size_x = dim[0]-6*t;
- size_y = bolt_l-t;
- size_z = dim[2]/2+3*bolt_ds;
-
- difference () {
- // base body
- translate([3*t,dim[1]-t-size_y,0])
- cube([size_x,size_y,size_z]);
-
- // bolt holes
- for (x = [dim[0]/4, dim[0]-dim[0]/4]) {
- translate([x,dim[1]-t,dim[2]/2+1.5*bolt_ds])
- rotate([90,0,0])
- cylinder(d=bolt_ds+bolt_ds_tol, h=size_y, $fn=30);
- }
-
- // nut holes
- for (x = [dim[0]/4, dim[0]-dim[0]/4]) {
- translate([x, dim[1]-t-size_y, dim[2]/2+1.5*bolt_ds])
- rotate([-90,0,0])
- cylinder(d=nut_d+nut_d_tol, h=nut_h, $fn=30);
- }
- }
-
- echo(min_shell_bolt_length=t+size_y);
-}
-
-module pcb_case_shell(pcb_dim, drillings, margins, t) {
- difference () {
- union() {
- shell_base(pcb_dim, margins, t);
- shell_connector(pcb_dim, margins, t);
- for (drilling = drillings) {
- translate([
- 2*t+margins[0][0]+drilling[0],
- bolt_l+margins[1][0]+drilling[1],
- 0
- ]) cylinder(d=nut_d+2, h=t+margins[2][0], $fn=30);
- }
- }
- for (drilling = drillings) {
- translate([
- 2*t+margins[0][0]+drilling[0],
- bolt_l+margins[1][0]+drilling[1],
- 0
- ]) {
- cylinder(d=bolt_ds+bolt_ds_tol, h=t+margins[2][0], $fn=30);
- cylinder(d=nut_d+nut_d_tol, h=nut_h, $fn=30);
- }
- }
- }
-}
-
-module pcb_case_shell_bottom(pcb_dim, drillings, margins, t) {
- pcb_case_shell(pcb_dim, drillings, margins, t);
-}
-
-module pcb_case_shell_top(pcb_dim, margins, t) {
- dim = dim_pcb_to_case(pcb_dim, margins, t);
-
- translate([0, dim[1], dim[2]])
- rotate([180,0,0])
- pcb_case_shell(pcb_dim, [], margins, t);
-}
diff --git a/mech/pcb_case/spacer.scad b/mech/pcb_case/spacer.scad
deleted file mode 100644
index e7eba3a..0000000
--- a/mech/pcb_case/spacer.scad
+++ /dev/null
@@ -1,10 +0,0 @@
-include <bolt.scad>
-
-spacer_h = 11;
-
-module spacer() {
- difference() {
- cylinder(d=bolt_dk, h=spacer_h, $fn=30);
- cylinder(d=bolt_ds+bolt_ds_tol, h=spacer_h, $fn=30);
- }
-}
diff --git a/mech/pcb_case/tolerance_tests.scad b/mech/pcb_case/tolerance_tests.scad
deleted file mode 100644
index 94911cd..0000000
--- a/mech/pcb_case/tolerance_tests.scad
+++ /dev/null
@@ -1,86 +0,0 @@
-include <bolt.scad>
-include <nut.scad>
-include <panel.scad>
-
-use <rounded_cube.scad>
-
-t = 2;
-step_width = 0.15;
-
-module bolt_drilling() {
- steps = 2;
-
- for(i = [-steps : steps]) {
- tol = bolt_ds_tol + i * step_width;
- echo(bolt_ds_tol=tol);
- translate([i*5*bolt_ds,0,0])
- difference() {
- cube([5*bolt_ds, 5*bolt_ds, t]);
- translate([2.5*bolt_ds,2.5*bolt_ds,0]) {
- cylinder(d=bolt_ds+tol,h=t,$fn=50);
- }
- }
- }
-}
-
-module nut_drilling() {
- steps = 2;
-
- for(i = [-steps : steps]) {
- tol = nut_d_tol + i * step_width;
- echo(nut_d_tol=tol);
- translate([i*5*nut_d,0,0])
- difference() {
- cube([5*nut_d, 5*nut_d, 2*nut_h]);
- translate([2.5*nut_d,2.5*nut_d,0]) {
- union() {
- cylinder(d=bolt_ds+bolt_ds_tol,h=2*nut_h,$fn=50);
- translate([0,0,nut_h])
- cylinder(d=tol+nut_d,h=nut_h,$fn=50);
- }
- }
- }
- }
-}
-
-module panel_thickness() {
- steps = 2;
-
- height = 2*t;
-
- for(i = [-steps : steps]) {
- tol = panel_dim_0_tol + i * step_width;
- echo(panel_dim_0_tol=tol);
- translate([i*5*t,0,0])
- difference() {
- cube([5*t, 5*t, height]);
- translate([2*t, 0, t]) {
- cube([t+tol, 5*t, t]);
- }
- }
- }
-}
-
-module panel_width_height() {
- steps = 2;
-
- height = 3*t;
-
- for(i = [-steps : steps]) {
- tol = panel_dim_1_2_tol + i * step_width;
- echo(panel_dim_1_2_tol=tol);
- translate([i*3*t,0,0])
- difference() {
- cube([3*t, 8*t, height]);
- translate([t, t-tol/2, t]) {
- rounded_cube([t+panel_dim_0_tol, 6*t+tol, 6*t+tol], t);
- }
- }
- }
-}
-
-bolt_drilling();
-translate([0, 20, 0]) nut_drilling();
-translate([0, 70, 0]) panel_thickness();
-translate([0, 50, 0]) panel_width_height();
-translate([0, 85, 0]) rotate([0, -90, 0]) rounded_cube([t, 6*t, 6*t], t);
diff --git a/mech/production.scad b/mech/production.scad
deleted file mode 100644
index 5d04fbd..0000000
--- a/mech/production.scad
+++ /dev/null
@@ -1,38 +0,0 @@
-include <parameters.scad>
-
-use <panel_front.scad>
-
-use <pcb_case/conversion.scad>
-use <pcb_case/shell.scad>
-use <pcb_case/panel.scad>
-use <pcb_case/spacer.scad>
-
-module production() {
- dim = dim_pcb_to_case(pcb_dim, margins, t);
- spacing = 5;
-
- pcb_case_shell_bottom(pcb_dim, drillings, margins, t);
-
- translate([-spacing, 0, 0])
- rotate([0, 180, 0])
- translate([0, 0, -dim[2]])
- pcb_case_shell_top(pcb_dim, margins, t);
-
- translate([-spacing, dim[1]+spacing, 0])
- rotate([0, -90, 0])
- translate([-t, -t, -t])
- pcb_case_panel_back(pcb_dim, margins, t);
-
- translate([0, dim[1]+spacing, t])
- rotate([0, 90, 0])
- translate([2*t-dim[0], -t, -t])
- panel_front(pcb_dim, margins, t);
-
- for(i = [0:3]) {
- translate([dim[0]+bolt_dk/2+spacing, bolt_dk/2+i*(bolt_dk+spacing), 0]) {
- spacer();
- }
- }
-}
-
-production();
diff --git a/mech/prusa-slicer/anycubic_i3_mega_s.ini b/mech/prusa-slicer/anycubic_i3_mega_s.ini
deleted file mode 100644
index 10abab4..0000000
--- a/mech/prusa-slicer/anycubic_i3_mega_s.ini
+++ /dev/null
@@ -1,331 +0,0 @@
-# generated by PrusaSlicer 2.7.1 on 2023-12-23 at 18:21:27 UTC
-arc_fitting = disabled
-autoemit_temperature_commands = 1
-avoid_crossing_curled_overhangs = 0
-avoid_crossing_perimeters = 0
-avoid_crossing_perimeters_max_detour = 0
-bed_custom_model =
-bed_custom_texture =
-bed_shape = 0x0,210x0,210x210,0x210
-bed_temperature = 60
-before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]
-between_objects_gcode =
-binary_gcode = 0
-bottom_fill_pattern = monotonic
-bottom_solid_layers = 5
-bottom_solid_min_thickness = 0.5
-bridge_acceleration = 1000
-bridge_angle = 0
-bridge_fan_speed = 100
-bridge_flow_ratio = 1
-bridge_speed = 25
-brim_separation = 0
-brim_type = outer_only
-brim_width = 0
-color_change_gcode = M600
-colorprint_heights =
-compatible_printers_condition_cummulative = "printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_I3_MEGA.*/ and nozzle_diameter[0]==0.4";"printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_I3_MEGA.*/"
-complete_objects = 0
-cooling = 1
-cooling_tube_length = 5
-cooling_tube_retraction = 91.5
-default_acceleration = 1000
-default_filament_profile = "Generic PLA @MEGA"
-default_print_profile = 0.15mm QUALITY @MEGA
-deretract_speed = 50
-disable_fan_first_layers = 1
-dont_support_bridges = 1
-draft_shield = disabled
-duplicate_distance = 6
-elefant_foot_compensation = 0
-enable_dynamic_fan_speeds = 0
-enable_dynamic_overhang_speeds = 0
-end_filament_gcode = "; Filament-specific end gcode"
-end_gcode = G1 E-1.0 F2100 ; retract\nG92 E0.0\nG1{if max_layer_z < max_print_height} Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} E-34.0 F720 ; move print head up & retract filament\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y105 F3000 ; park print head\nM84 ; disable motors
-external_perimeter_acceleration = 0
-external_perimeter_extrusion_width = 0.45
-external_perimeter_speed = 40
-external_perimeters_first = 0
-extra_loading_move = -2
-extra_perimeters = 1
-extra_perimeters_on_overhangs = 0
-extruder_clearance_height = 35
-extruder_clearance_radius = 60
-extruder_colour = #808080
-extruder_offset = 0x0
-extrusion_axis = E
-extrusion_multiplier = 1
-extrusion_width = 0.45
-fan_always_on = 1
-fan_below_layer_time = 100
-filament_colour = #FF3232
-filament_cooling_final_speed = 3.4
-filament_cooling_initial_speed = 2.2
-filament_cooling_moves = 4
-filament_cost = 25.4
-filament_density = 1.24
-filament_deretract_speed = nil
-filament_diameter = 1.75
-filament_load_time = 0
-filament_loading_speed = 28
-filament_loading_speed_start = 3
-filament_max_volumetric_speed = 10
-filament_minimal_purge_on_wipe_tower = 15
-filament_multitool_ramming = 0
-filament_multitool_ramming_flow = 10
-filament_multitool_ramming_volume = 10
-filament_notes = ""
-filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
-filament_retract_before_travel = nil
-filament_retract_before_wipe = nil
-filament_retract_layer_change = nil
-filament_retract_length = nil
-filament_retract_length_toolchange = nil
-filament_retract_lift = nil
-filament_retract_lift_above = nil
-filament_retract_lift_below = nil
-filament_retract_restart_extra = nil
-filament_retract_restart_extra_toolchange = nil
-filament_retract_speed = nil
-filament_settings_id = "Generic PLA @MEGA"
-filament_soluble = 0
-filament_spool_weight = 0
-filament_toolchange_delay = 0
-filament_travel_lift_before_obstacle = nil
-filament_travel_max_lift = nil
-filament_travel_ramping_lift = nil
-filament_travel_slope = nil
-filament_type = PLA
-filament_unload_time = 0
-filament_unloading_speed = 90
-filament_unloading_speed_start = 100
-filament_vendor = Generic
-filament_wipe = nil
-fill_angle = 45
-fill_density = 15%
-fill_pattern = gyroid
-first_layer_acceleration = 800
-first_layer_acceleration_over_raft = 0
-first_layer_bed_temperature = 65
-first_layer_extrusion_width = 0.42
-first_layer_height = 0.2
-first_layer_speed = 20
-first_layer_speed_over_raft = 30
-first_layer_temperature = 215
-full_fan_speed_layer = 0
-fuzzy_skin = none
-fuzzy_skin_point_dist = 0.8
-fuzzy_skin_thickness = 0.3
-gap_fill_enabled = 1
-gap_fill_speed = 40
-gcode_comments = 0
-gcode_flavor = marlin
-gcode_label_objects = octoprint
-gcode_resolution = 0.0125
-gcode_substitutions =
-high_current_on_filament_swap = 0
-host_type = prusalink
-idle_temperature = nil
-infill_acceleration = 1000
-infill_anchor = 2.5
-infill_anchor_max = 12
-infill_every_layers = 1
-infill_extruder = 1
-infill_extrusion_width = 0.45
-infill_first = 0
-infill_overlap = 25%
-infill_speed = 60
-interface_shells = 0
-ironing = 0
-ironing_flowrate = 15%
-ironing_spacing = 0.1
-ironing_speed = 15
-ironing_type = top
-layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]
-layer_height = 0.15
-machine_limits_usage = time_estimate_only
-machine_max_acceleration_e = 10000
-machine_max_acceleration_extruding = 1250
-machine_max_acceleration_retracting = 1250
-machine_max_acceleration_travel = 1500,1250
-machine_max_acceleration_x = 3000
-machine_max_acceleration_y = 2000
-machine_max_acceleration_z = 60
-machine_max_feedrate_e = 30
-machine_max_feedrate_x = 500
-machine_max_feedrate_y = 500
-machine_max_feedrate_z = 8
-machine_max_jerk_e = 5
-machine_max_jerk_x = 10
-machine_max_jerk_y = 10
-machine_max_jerk_z = 0.4
-machine_min_extruding_rate = 0,0
-machine_min_travel_rate = 0,0
-max_fan_speed = 100
-max_layer_height = 0.36
-max_print_height = 205
-max_print_speed = 100
-max_volumetric_extrusion_rate_slope_negative = 0
-max_volumetric_extrusion_rate_slope_positive = 0
-max_volumetric_speed = 0
-min_bead_width = 85%
-min_fan_speed = 100
-min_feature_size = 25%
-min_layer_height = 0.07
-min_print_speed = 15
-min_skirt_length = 4
-mmu_segmented_region_interlocking_depth = 0
-mmu_segmented_region_max_width = 0
-notes =
-nozzle_diameter = 0.4
-only_retract_when_crossing_perimeters = 0
-ooze_prevention = 0
-output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode
-overhang_fan_speed_0 = 0
-overhang_fan_speed_1 = 0
-overhang_fan_speed_2 = 0
-overhang_fan_speed_3 = 0
-overhang_speed_0 = 15
-overhang_speed_1 = 15
-overhang_speed_2 = 20
-overhang_speed_3 = 25
-overhangs = 1
-parking_pos_retraction = 92
-pause_print_gcode = M601
-perimeter_acceleration = 800
-perimeter_extruder = 1
-perimeter_extrusion_width = 0.45
-perimeter_generator = arachne
-perimeter_speed = 50
-perimeters = 2
-physical_printer_settings_id =
-post_process =
-print_host =
-print_settings_id = 0.15mm QUALITY @MEGA
-printer_model = I3MEGAS
-printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_ANYCUBIC\nPRINTER_MODEL_I3_MEGA_S\nPRINTER_HAS_BOWDEN
-printer_settings_id = Anycubic i3 Mega S
-printer_technology = FFF
-printer_variant = 0.4
-printer_vendor =
-printhost_apikey =
-printhost_cafile =
-raft_contact_distance = 0.1
-raft_expansion = 1.5
-raft_first_layer_density = 90%
-raft_first_layer_expansion = 3
-raft_layers = 0
-remaining_times = 1
-resolution = 0
-retract_before_travel = 1.5
-retract_before_wipe = 60%
-retract_layer_change = 1
-retract_length = 6
-retract_length_toolchange = 10
-retract_lift = 0.075
-retract_lift_above = 0
-retract_lift_below = 204
-retract_restart_extra = 0
-retract_restart_extra_toolchange = 0
-retract_speed = 40
-seam_position = nearest
-silent_mode = 0
-single_extruder_multi_material = 0
-single_extruder_multi_material_priming = 1
-skirt_distance = 2
-skirt_height = 3
-skirts = 1
-slice_closing_radius = 0.049
-slicing_mode = regular
-slowdown_below_layer_time = 20
-small_perimeter_speed = 25
-solid_infill_acceleration = 0
-solid_infill_below_area = 0
-solid_infill_every_layers = 0
-solid_infill_extruder = 1
-solid_infill_extrusion_width = 0.45
-solid_infill_speed = 50
-spiral_vase = 0
-staggered_inner_seams = 0
-standby_temperature_delta = -5
-start_filament_gcode = "; Filament gcode\n"
-start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM204 S[machine_max_acceleration_extruding] T[machine_max_acceleration_retracting]\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 ; home all\nG1 Y1.0 Z0.3 F1000 ; move print head up\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG92 E0.0\n; initial load\nG1 X205.0 E19 F1000\nG1 Y1.6\nG1 X5.0 E19 F1000\nG92 E0.0\n; intro line\nG1 Y2.0 Z0.2 F1000\nG1 X65.0 E9.0 F1000\nG1 X105.0 E12.5 F1000\nG92 E0.0
-support_material = 0
-support_material_angle = 0
-support_material_auto = 1
-support_material_bottom_contact_distance = 0
-support_material_bottom_interface_layers = -1
-support_material_buildplate_only = 0
-support_material_closing_radius = 2
-support_material_contact_distance = 0.1
-support_material_enforce_layers = 0
-support_material_extruder = 1
-support_material_extrusion_width = 0.35
-support_material_interface_contact_loops = 0
-support_material_interface_extruder = 1
-support_material_interface_layers = 2
-support_material_interface_pattern = rectilinear
-support_material_interface_spacing = 0.2
-support_material_interface_speed = 80%
-support_material_pattern = rectilinear
-support_material_spacing = 2
-support_material_speed = 50
-support_material_style = grid
-support_material_synchronize_layers = 0
-support_material_threshold = 50
-support_material_with_sheath = 1
-support_material_xy_spacing = 60%
-support_tree_angle = 40
-support_tree_angle_slow = 25
-support_tree_branch_diameter = 2
-support_tree_branch_diameter_angle = 5
-support_tree_branch_diameter_double_wall = 3
-support_tree_branch_distance = 1
-support_tree_tip_diameter = 0.8
-support_tree_top_rate = 15%
-temperature = 210
-template_custom_gcode =
-thick_bridges = 1
-thin_walls = 0
-thumbnails = 16x16,220x124
-thumbnails_format = PNG
-toolchange_gcode =
-top_fill_pattern = monotonic
-top_infill_extrusion_width = 0.4
-top_solid_infill_acceleration = 0
-top_solid_infill_speed = 40
-top_solid_layers = 7
-top_solid_min_thickness = 0.7
-travel_acceleration = 0
-travel_lift_before_obstacle = 0
-travel_max_lift = 0
-travel_ramping_lift = 0
-travel_slope = 0
-travel_speed = 180
-travel_speed_z = 0
-use_firmware_retraction = 0
-use_relative_e_distances = 1
-use_volumetric_e = 0
-variable_layer_height = 1
-wall_distribution_count = 1
-wall_transition_angle = 10
-wall_transition_filter_deviation = 25%
-wall_transition_length = 100%
-wipe = 1
-wipe_into_infill = 0
-wipe_into_objects = 0
-wipe_tower = 0
-wipe_tower_bridging = 10
-wipe_tower_brim_width = 2
-wipe_tower_cone_angle = 0
-wipe_tower_extra_spacing = 100%
-wipe_tower_extruder = 0
-wipe_tower_no_sparse_layers = 0
-wipe_tower_rotation_angle = 0
-wipe_tower_width = 60
-wipe_tower_x = 180
-wipe_tower_y = 140
-wiping_volumes_extruders = 70,70
-wiping_volumes_matrix = 0
-xy_size_compensation = 0
-z_offset = 0
diff --git a/pcb/.gitignore b/pcb/.gitignore
index 27075ef..9e43467 100644
--- a/pcb/.gitignore
+++ b/pcb/.gitignore
@@ -1 +1,3 @@
fp-info-cache
+soundbox.kicad_prl
+*.lck
diff --git a/pcb/libraries/kicad-symbols b/pcb/libraries/kicad-symbols
deleted file mode 160000
-Subproject 5ed82b523519e3469fbb94bf932db5974c89e3d
diff --git a/pcb/parts-kicad b/pcb/parts-kicad
new file mode 160000
+Subproject 534cd4f40f58a0743ac2ee05004bf6a611b846e
diff --git a/pcb/pcb.mk b/pcb/pcb.mk
new file mode 100644
index 0000000..8f6a3c3
--- /dev/null
+++ b/pcb/pcb.mk
@@ -0,0 +1,23 @@
+SOUNDBOX_KICAD_SCH := pcb/soundbox.kicad_sch
+PCB_BUILD_DIR := $(BUILD_DIR)/pcb
+BOM := $(PCB_BUILD_DIR)/bom.csv
+SCHEMATIC_PDF := $(PCB_BUILD_DIR)/schematic.pdf
+ERC_REPORT := $(PCB_BUILD_DIR)/erc.rpt
+
+.PHONY: pcb
+pcb: $(BOM) $(SCHEMATIC_PDF)
+
+$(BOM): $(SOUNDBOX_KICAD_SCH)
+ mkdir -p $(dir $@)
+ kicad-cli sch export bom \
+ --output $@ \
+ --fields 'Reference,Description,Value,Manufacturer,MPN,Datasheet' \
+ $<
+
+$(SCHEMATIC_PDF): $(SOUNDBOX_KICAD_SCH)
+ mkdir -p $(dir $@)
+ kicad-cli sch export pdf --output $@ $<
+
+$(ERC_REPORT): $(SOUNDBOX_KICAD_SCH)
+ mkdir -p $(dir $@)
+ kicad-cli sch erc --exit-code-violations --output $@ $<
diff --git a/pcb/print-bom.sh b/pcb/print-bom.sh
deleted file mode 100755
index 9bd8007..0000000
--- a/pcb/print-bom.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-
-set -euf
-
-
-SCRIPT_PATH="$0"
-PCB_PATH="$(dirname "${SCRIPT_PATH}")"
-INPUT_PATH="${PCB_PATH}/soundbox.kicad_sch"
-OUTPUT_PATH="$(mktemp -t --suffix '.csv' kicad-bom-XXXX)"
-
-FIELDS='Reference,Description,Value'
-
-
-kicad-cli sch export bom \
- -o "$OUTPUT_PATH" \
- --fields "$FIELDS" \
- "$INPUT_PATH"
-
-cat "$OUTPUT_PATH"
-rm "$OUTPUT_PATH"
diff --git a/pcb/soundbox.kicad_pcb b/pcb/soundbox.kicad_pcb
index ef218ba..bdbfac4 100644
--- a/pcb/soundbox.kicad_pcb
+++ b/pcb/soundbox.kicad_pcb
@@ -1,2 +1,3758 @@
-(kicad_pcb (version 20240108) (generator "pcbnew") (generator_version "8.0")
-) \ No newline at end of file
+(kicad_pcb
+ (version 20240108)
+ (generator "pcbnew")
+ (generator_version "8.0")
+ (general
+ (thickness 1.6)
+ (legacy_teardrops no)
+ )
+ (paper "A4")
+ (title_block
+ (title "soundbox")
+ )
+ (layers
+ (0 "F.Cu" signal)
+ (31 "B.Cu" signal)
+ (32 "B.Adhes" user "B.Adhesive")
+ (33 "F.Adhes" user "F.Adhesive")
+ (34 "B.Paste" user)
+ (35 "F.Paste" user)
+ (36 "B.SilkS" user "B.Silkscreen")
+ (37 "F.SilkS" user "F.Silkscreen")
+ (38 "B.Mask" user)
+ (39 "F.Mask" user)
+ (40 "Dwgs.User" user "User.Drawings")
+ (41 "Cmts.User" user "User.Comments")
+ (42 "Eco1.User" user "User.Eco1")
+ (43 "Eco2.User" user "User.Eco2")
+ (44 "Edge.Cuts" user)
+ (45 "Margin" user)
+ (46 "B.CrtYd" user "B.Courtyard")
+ (47 "F.CrtYd" user "F.Courtyard")
+ (48 "B.Fab" user)
+ (49 "F.Fab" user)
+ (50 "User.1" user)
+ (51 "User.2" user)
+ (52 "User.3" user)
+ (53 "User.4" user)
+ (54 "User.5" user)
+ (55 "User.6" user)
+ (56 "User.7" user)
+ (57 "User.8" user)
+ (58 "User.9" user)
+ )
+ (setup
+ (stackup
+ (layer "F.SilkS"
+ (type "Top Silk Screen")
+ )
+ (layer "F.Paste"
+ (type "Top Solder Paste")
+ )
+ (layer "F.Mask"
+ (type "Top Solder Mask")
+ (thickness 0.01)
+ )
+ (layer "F.Cu"
+ (type "copper")
+ (thickness 0.035)
+ )
+ (layer "dielectric 1"
+ (type "core")
+ (thickness 1.51)
+ (material "FR4")
+ (epsilon_r 4.5)
+ (loss_tangent 0.02)
+ )
+ (layer "B.Cu"
+ (type "copper")
+ (thickness 0.035)
+ )
+ (layer "B.Mask"
+ (type "Bottom Solder Mask")
+ (thickness 0.01)
+ )
+ (layer "B.Paste"
+ (type "Bottom Solder Paste")
+ )
+ (layer "B.SilkS"
+ (type "Bottom Silk Screen")
+ )
+ (copper_finish "None")
+ (dielectric_constraints no)
+ )
+ (pad_to_mask_clearance 0)
+ (allow_soldermask_bridges_in_footprints no)
+ (pcbplotparams
+ (layerselection 0x00010fc_ffffffff)
+ (plot_on_all_layers_selection 0x0000000_00000000)
+ (disableapertmacros no)
+ (usegerberextensions no)
+ (usegerberattributes yes)
+ (usegerberadvancedattributes yes)
+ (creategerberjobfile yes)
+ (dashed_line_dash_ratio 12.000000)
+ (dashed_line_gap_ratio 3.000000)
+ (svgprecision 4)
+ (plotframeref no)
+ (viasonmask no)
+ (mode 1)
+ (useauxorigin no)
+ (hpglpennumber 1)
+ (hpglpenspeed 20)
+ (hpglpendiameter 15.000000)
+ (pdf_front_fp_property_popups yes)
+ (pdf_back_fp_property_popups yes)
+ (dxfpolygonmode yes)
+ (dxfimperialunits yes)
+ (dxfusepcbnewfont yes)
+ (psnegative no)
+ (psa4output no)
+ (plotreference yes)
+ (plotvalue yes)
+ (plotfptext yes)
+ (plotinvisibletext no)
+ (sketchpadsonfab no)
+ (subtractmaskfromsilk no)
+ (outputformat 1)
+ (mirror no)
+ (drillshape 1)
+ (scaleselection 1)
+ (outputdirectory "")
+ )
+ )
+ (net 0 "")
+ (net 1 "unconnected-(SW1-Pad2)")
+ (net 2 "unconnected-(SW1-Pad1)")
+ (net 3 "unconnected-(SW2-Pad2)")
+ (net 4 "unconnected-(SW2-Pad1)")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (net 6 "unconnected-(U1-IO18-Pad22)")
+ (net 7 "unconnected-(U1-IO46-Pad44)")
+ (net 8 "unconnected-(U1-IO26-Pad26)")
+ (net 9 "unconnected-(U1-3V3-Pad3)")
+ (net 10 "unconnected-(U1-IO19-Pad23)")
+ (net 11 "unconnected-(U1-IO21-Pad25)")
+ (net 12 "unconnected-(U1-IO12-Pad16)")
+ (net 13 "unconnected-(U1-IO37-Pad33)")
+ (net 14 "unconnected-(U1-IO0-Pad4)")
+ (net 15 "unconnected-(U1-IO9-Pad13)")
+ (net 16 "unconnected-(U1-IO3-Pad7)")
+ (net 17 "unconnected-(U1-TXD0-Pad39)")
+ (net 18 "unconnected-(U1-IO1-Pad5)")
+ (net 19 "unconnected-(U1-IO11-Pad15)")
+ (net 20 "unconnected-(U1-IO41-Pad37)")
+ (net 21 "unconnected-(U1-IO17-Pad21)")
+ (net 22 "unconnected-(U1-IO47-Pad27)")
+ (net 23 "unconnected-(U1-IO20-Pad24)")
+ (net 24 "unconnected-(U1-IO10-Pad14)")
+ (net 25 "unconnected-(U1-IO34-Pad29)")
+ (net 26 "unconnected-(U1-IO38-Pad34)")
+ (net 27 "unconnected-(U1-IO39-Pad35)")
+ (net 28 "unconnected-(U1-IO36-Pad32)")
+ (net 29 "unconnected-(U1-IO8-Pad12)")
+ (net 30 "unconnected-(U1-IO16-Pad20)")
+ (net 31 "unconnected-(U1-IO2-Pad6)")
+ (net 32 "unconnected-(U1-RXD0-Pad40)")
+ (net 33 "unconnected-(U1-IO14-Pad18)")
+ (net 34 "unconnected-(U1-IO35-Pad31)")
+ (net 35 "unconnected-(U1-IO5-Pad9)")
+ (net 36 "unconnected-(U1-IO48-Pad30)")
+ (net 37 "unconnected-(U1-IO40-Pad36)")
+ (net 38 "unconnected-(U1-EN-Pad45)")
+ (net 39 "unconnected-(U1-IO6-Pad10)")
+ (net 40 "unconnected-(U1-IO7-Pad11)")
+ (net 41 "unconnected-(U1-IO15-Pad19)")
+ (net 42 "unconnected-(U1-IO45-Pad41)")
+ (net 43 "unconnected-(U1-IO42-Pad38)")
+ (net 44 "unconnected-(U1-IO4-Pad8)")
+ (net 45 "unconnected-(U1-IO13-Pad17)")
+ (net 46 "unconnected-(U1-IO33-Pad28)")
+ (net 47 "unconnected-(U2-AVDD-Pad19)")
+ (net 48 "Net-(U2-PVDD-Pad21)")
+ (net 49 "unconnected-(U2-~{PDN}-Pad17)")
+ (net 50 "unconnected-(U2-AGND-Pad20)")
+ (net 51 "unconnected-(U2-VR_DIG-Pad7)")
+ (net 52 "Net-(U2-PGND-Pad25)")
+ (net 53 "unconnected-(U2-LRCLK-Pad12)")
+ (net 54 "unconnected-(U2-SCL-Pad16)")
+ (net 55 "unconnected-(U2-GVDD-Pad18)")
+ (net 56 "unconnected-(U2-OUT_A+-Pad2)")
+ (net 57 "unconnected-(U2-GPIO0-Pad9)")
+ (net 58 "unconnected-(U2-SDA-Pad15)")
+ (net 59 "unconnected-(U2-ADR-Pad8)")
+ (net 60 "unconnected-(U2-EP-Pad33)")
+ (net 61 "unconnected-(U2-BST_A--Pad29)")
+ (net 62 "unconnected-(U2-OUT_B--Pad27)")
+ (net 63 "unconnected-(U2-GPIO1-Pad10)")
+ (net 64 "unconnected-(U2-BST_B--Pad28)")
+ (net 65 "unconnected-(U2-GPIO2-Pad11)")
+ (net 66 "unconnected-(U2-BST_A+-Pad1)")
+ (net 67 "unconnected-(U2-OUT_A--Pad30)")
+ (net 68 "unconnected-(U2-DGND-Pad5)")
+ (net 69 "unconnected-(U2-SDIN-Pad14)")
+ (net 70 "unconnected-(U2-SCLK-Pad13)")
+ (net 71 "unconnected-(U2-BST_B+-Pad24)")
+ (net 72 "unconnected-(U2-OUT_B+-Pad23)")
+ (net 73 "unconnected-(U2-DVDD-Pad6)")
+ (net 74 "unconnected-(U3-IO2-Pad3)")
+ (net 75 "unconnected-(U3-GND-Pad4)")
+ (net 76 "unconnected-(U3-DI(IO0)-Pad5)")
+ (net 77 "unconnected-(U3-~{CS}-Pad1)")
+ (net 78 "unconnected-(U3-IO3-Pad7)")
+ (net 79 "unconnected-(U3-DO(IO1)-Pad2)")
+ (net 80 "unconnected-(U3-VCC-Pad8)")
+ (net 81 "unconnected-(U3-CLK-Pad6)")
+ (net 82 "unconnected-(U4-~{HOLD}-Pad7)")
+ (net 83 "unconnected-(U4-~{WP}-Pad3)")
+ (net 84 "unconnected-(U4-SI-Pad5)")
+ (net 85 "unconnected-(U4-SO-Pad2)")
+ (net 86 "unconnected-(U4-V_{SS}-Pad4)")
+ (net 87 "unconnected-(U4-~{CS}-Pad1)")
+ (net 88 "unconnected-(U4-SCK-Pad6)")
+ (net 89 "unconnected-(U4-V_{CC}-Pad8)")
+ (footprint "Button_Switch_SMD:SW_SPST_TL3305A"
+ (layer "F.Cu")
+ (uuid "35090aa8-13f1-4026-98aa-0e60a7d4f149")
+ (at 126 114)
+ (descr "https://www.e-switch.com/system/asset/product_line/data_sheet/213/TL3305.pdf")
+ (tags "TL3305 Series Tact Switch")
+ (property "Reference" "SW2"
+ (at 0 -3.2 0)
+ (layer "F.SilkS")
+ (uuid "994697ec-9690-497e-9e1b-bc9cb9d58d93")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Value" "SW_Push"
+ (at 0 3.2 0)
+ (layer "F.Fab")
+ (uuid "57497b50-532e-494a-a32e-3ae803832715")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Footprint" "Button_Switch_SMD:SW_SPST_TL3305A"
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "a7f135ac-111d-45ca-9e64-1834d40e1db2")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Datasheet" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "d6ac0e2d-7c15-422f-821d-a7347b7d8a50")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Description" "Reset"
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "608f7730-705b-4f7d-babf-7076f99f13b4")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "887c968f-7f1e-4b64-a7fe-0dc269a9db4b")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Manufacturer" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "4004c9d1-7f97-4400-b2d1-b68d1c45a9b5")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (path "/2df93158-1d66-4506-a3fe-9fa3d5d1421d")
+ (sheetname "Root")
+ (sheetfile "soundbox.kicad_sch")
+ (attr smd)
+ (fp_line
+ (start -2.37 -2.37)
+ (end -2.37 -1.97)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "7b5cacba-a2c3-4d1f-bcd7-947bf7b433e4")
+ )
+ (fp_line
+ (start -2.37 -2.37)
+ (end 2.37 -2.37)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "990a119b-fa83-4475-8785-cd32e3062da3")
+ )
+ (fp_line
+ (start -2.37 1.03)
+ (end -2.37 -1.03)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "f63d2423-23c4-4e9a-938e-a6cc012b96d9")
+ )
+ (fp_line
+ (start -2.37 2.37)
+ (end -2.37 1.97)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "e38f4fb9-7f91-4190-a2bb-ec39681dca37")
+ )
+ (fp_line
+ (start -2.37 2.37)
+ (end 2.37 2.37)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "3bbfa761-9287-44d0-8e0c-ce398c81ea86")
+ )
+ (fp_line
+ (start 2.37 -2.37)
+ (end 2.37 -1.97)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "bf8fb5a1-d825-450b-8986-22a4b8cd02ad")
+ )
+ (fp_line
+ (start 2.37 1.03)
+ (end 2.37 -1.03)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "6fe4a50c-2161-4e7b-a7ab-d97fc1d22278")
+ )
+ (fp_line
+ (start 2.37 2.37)
+ (end 2.37 1.97)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "ffb75f67-dca3-4ba0-95d5-f6b7525d78d9")
+ )
+ (fp_line
+ (start -4.65 -2.5)
+ (end 4.65 -2.5)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "0ab98442-a51e-4df9-a570-528e56c926ac")
+ )
+ (fp_line
+ (start -4.65 2.5)
+ (end -4.65 -2.5)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "004823a1-a554-4d2c-b401-50b3d6cc9b2e")
+ )
+ (fp_line
+ (start 4.65 -2.5)
+ (end 4.65 2.5)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "e2f7aed6-11c5-48b0-b162-448b44b72feb")
+ )
+ (fp_line
+ (start 4.65 2.5)
+ (end -4.65 2.5)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "eda17516-400c-4cbf-bc9f-12f8dc774f54")
+ )
+ (fp_line
+ (start -3.75 -1.85)
+ (end -3.75 -1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "ede291ac-36b1-44fe-9fed-164faa7ade20")
+ )
+ (fp_line
+ (start -3.75 -1.15)
+ (end -2.25 -1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "595ef861-6657-46a4-8567-27ab19791d6b")
+ )
+ (fp_line
+ (start -3.75 1.15)
+ (end -3.75 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "501f26f9-280c-471a-8565-d4d700d96802")
+ )
+ (fp_line
+ (start -3.75 1.85)
+ (end -2.25 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "e2ed32fe-2ac8-49fd-9b03-5d889265fcfd")
+ )
+ (fp_line
+ (start -3 -1.85)
+ (end -3 -1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "718ec0d1-9067-4e84-b458-ae25600394a8")
+ )
+ (fp_line
+ (start -3 1.15)
+ (end -3 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "4f6fd397-8fb8-4859-b011-724635da0860")
+ )
+ (fp_line
+ (start -2.25 -2.25)
+ (end 2.25 -2.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "06523b28-835b-4f92-b9ce-3509848bc87b")
+ )
+ (fp_line
+ (start -2.25 -1.85)
+ (end -3.75 -1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "2c1c9119-f7c4-45dd-8b61-4f302c4a59ec")
+ )
+ (fp_line
+ (start -2.25 1.15)
+ (end -3.75 1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "c6221027-f271-4020-99d1-c73fff095352")
+ )
+ (fp_line
+ (start -2.25 2.25)
+ (end -2.25 -2.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "bd16293d-7f5d-4b43-a199-eba24c241b97")
+ )
+ (fp_line
+ (start 2.25 -2.25)
+ (end 2.25 2.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "68f76b69-f057-467c-802f-2d2b86a7dbbd")
+ )
+ (fp_line
+ (start 2.25 -1.15)
+ (end 3.75 -1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "be324602-7b76-4349-ad01-9198b225182e")
+ )
+ (fp_line
+ (start 2.25 1.15)
+ (end 3.75 1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "c0c57203-7436-40ee-bd4a-6dc111286fb4")
+ )
+ (fp_line
+ (start 2.25 2.25)
+ (end -2.25 2.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "549c3370-2d66-41e7-9d37-adbd3f2150fa")
+ )
+ (fp_line
+ (start 3 -1.85)
+ (end 3 -1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "f29903ec-7e93-4421-bc8f-eab4c4232088")
+ )
+ (fp_line
+ (start 3 1.15)
+ (end 3 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "c2eae91b-73d6-45b6-a677-e926682fd5a3")
+ )
+ (fp_line
+ (start 3.75 -1.85)
+ (end 2.25 -1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "1d8adc30-ad95-4e11-b282-1c2bfe588cb3")
+ )
+ (fp_line
+ (start 3.75 -1.15)
+ (end 3.75 -1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "1633c427-9a98-4cdd-a181-787f8660a71e")
+ )
+ (fp_line
+ (start 3.75 1.15)
+ (end 3.75 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "e3c6c1a0-83a0-4096-b04d-d4887cd44819")
+ )
+ (fp_line
+ (start 3.75 1.85)
+ (end 2.25 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "e7c745ea-d18c-4f2f-a7c7-929b4d48e0f3")
+ )
+ (fp_circle
+ (center 0 0)
+ (end 1.25 0)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (fill none)
+ (layer "F.Fab")
+ (uuid "2608f9b7-1faf-40ec-abd6-a285095cd155")
+ )
+ (fp_text user "${REFERENCE}"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (uuid "1a175688-d69b-4c47-807d-f67ded854670")
+ (effects
+ (font
+ (size 0.5 0.5)
+ (thickness 0.075)
+ )
+ )
+ )
+ (pad "1" smd rect
+ (at -3.6 -1.5)
+ (size 1.6 1.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 4 "unconnected-(SW2-Pad1)")
+ (pinfunction "1")
+ (pintype "passive")
+ (uuid "c85c7341-4e2e-480c-963a-9794980dc34e")
+ )
+ (pad "1" smd rect
+ (at 3.6 -1.5)
+ (size 1.6 1.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 4 "unconnected-(SW2-Pad1)")
+ (pinfunction "1")
+ (pintype "passive")
+ (uuid "fbc9ec1e-a6a2-45c5-abab-1798aafd4269")
+ )
+ (pad "2" smd rect
+ (at -3.6 1.5)
+ (size 1.6 1.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 3 "unconnected-(SW2-Pad2)")
+ (pinfunction "2")
+ (pintype "passive")
+ (uuid "48d5411f-8338-4ba9-b6d6-dd797d35e0bb")
+ )
+ (pad "2" smd rect
+ (at 3.6 1.5)
+ (size 1.6 1.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 3 "unconnected-(SW2-Pad2)")
+ (pinfunction "2")
+ (pintype "passive")
+ (uuid "601a9a85-aa33-4a87-b201-a67e0be90934")
+ )
+ (model "${KICAD8_3DMODEL_DIR}/Button_Switch_SMD.3dshapes/SW_SPST_TL3305A.wrl"
+ (offset
+ (xyz 0 0 0)
+ )
+ (scale
+ (xyz 1 1 1)
+ )
+ (rotate
+ (xyz 0 0 0)
+ )
+ )
+ )
+ (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm"
+ (layer "F.Cu")
+ (uuid "68be9066-a9aa-4689-a6aa-919c35d43c4e")
+ (at 155 95)
+ (descr "SOIC, 8 Pin (JEDEC MS-012AA, https://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/soic_narrow-r/r_8.pdf), generated with kicad-footprint-generator ipc_gullwing_generator.py")
+ (tags "SOIC SO")
+ (property "Reference" "U4"
+ (at 0 -3.4 0)
+ (layer "F.SilkS")
+ (uuid "da9eac57-fb83-41ac-9a63-f9e6226530a1")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Value" "25CSM04xxSN"
+ (at 0 3.4 0)
+ (layer "F.Fab")
+ (uuid "c41e4e36-3a5a-4773-a959-ed13c0152b3c")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Footprint" "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "06ae0746-50a1-4ba5-a750-ca803b9c6399")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Datasheet" "https://ww1.microchip.com/downloads/aemDocuments/documents/MPD/ProductDocuments/DataSheets/25CSM04-4-Mbit-SPI-Serial-EEPROM-With-128-Bit-Serial-Number-and-Enhanced-Write-Protection-20005817C.pdf"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "93908f67-3c0b-434f-a306-ae464707e008")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Description" "Configuration EEPROM"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "feb94e42-4086-424f-a71b-8480faea6332")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "a19d1c5f-259d-4076-b74c-919b93da08e6")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Manufacturer" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "81055dae-bb25-4125-ba5b-dd685e93a762")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property ki_fp_filters "SOIC*3.9x4.9mm*")
+ (path "/6ebff592-e515-4023-972e-e091ec275b61")
+ (sheetname "Root")
+ (sheetfile "soundbox.kicad_sch")
+ (attr smd)
+ (fp_line
+ (start 0 -2.56)
+ (end -1.95 -2.56)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "44a8306c-5c7c-4b2a-9290-14434ac165ad")
+ )
+ (fp_line
+ (start 0 -2.56)
+ (end 1.95 -2.56)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "e6fe66ca-f68b-4aa2-970c-b55fcf6befcb")
+ )
+ (fp_line
+ (start 0 2.56)
+ (end -1.95 2.56)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "695dcbac-9318-4d65-aef3-ffe6e6a76540")
+ )
+ (fp_line
+ (start 0 2.56)
+ (end 1.95 2.56)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "eb2f2b46-03d9-4828-9114-16e166b71c80")
+ )
+ (fp_poly
+ (pts
+ (xy -2.7 -2.465) (xy -2.94 -2.795) (xy -2.46 -2.795) (xy -2.7 -2.465)
+ )
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (fill solid)
+ (layer "F.SilkS")
+ (uuid "a0552fa8-efea-4f5a-8814-6e9f43549196")
+ )
+ (fp_line
+ (start -3.7 -2.7)
+ (end -3.7 2.7)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "967e2340-b95d-48e8-a004-1c0f2a30b3c8")
+ )
+ (fp_line
+ (start -3.7 2.7)
+ (end 3.7 2.7)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "b964ac4f-78e3-485f-a560-d9d7a596961c")
+ )
+ (fp_line
+ (start 3.7 -2.7)
+ (end -3.7 -2.7)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "8812989e-fb9e-469c-aed8-b5fadc079fb2")
+ )
+ (fp_line
+ (start 3.7 2.7)
+ (end 3.7 -2.7)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "93467b73-14c6-4160-ad65-db10fc5bacc4")
+ )
+ (fp_line
+ (start -1.95 -1.475)
+ (end -0.975 -2.45)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "15901134-244e-4c43-8e96-30da18bf07ea")
+ )
+ (fp_line
+ (start -1.95 2.45)
+ (end -1.95 -1.475)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "14f2c766-e0ca-4017-a43b-847ea52c048e")
+ )
+ (fp_line
+ (start -0.975 -2.45)
+ (end 1.95 -2.45)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "41c8e226-7bee-45ea-8438-3688762f4374")
+ )
+ (fp_line
+ (start 1.95 -2.45)
+ (end 1.95 2.45)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "ef1bb15b-4005-43cb-aa86-e181729bc6a1")
+ )
+ (fp_line
+ (start 1.95 2.45)
+ (end -1.95 2.45)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "d07b2e5e-ee8d-4598-bd5a-6a12fda7421b")
+ )
+ (fp_text user "${REFERENCE}"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (uuid "fac1e6c7-3cf4-4f99-9838-c67e83672fcc")
+ (effects
+ (font
+ (size 0.98 0.98)
+ (thickness 0.15)
+ )
+ )
+ )
+ (pad "1" smd roundrect
+ (at -2.475 -1.905)
+ (size 1.95 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 87 "unconnected-(U4-~{CS}-Pad1)")
+ (pinfunction "~{CS}")
+ (pintype "input")
+ (uuid "a921842b-2d99-43e4-9cfe-eba7059bd886")
+ )
+ (pad "2" smd roundrect
+ (at -2.475 -0.635)
+ (size 1.95 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 85 "unconnected-(U4-SO-Pad2)")
+ (pinfunction "SO")
+ (pintype "tri_state")
+ (uuid "777da2b8-b428-47e4-8795-4b289d4bf5e5")
+ )
+ (pad "3" smd roundrect
+ (at -2.475 0.635)
+ (size 1.95 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 83 "unconnected-(U4-~{WP}-Pad3)")
+ (pinfunction "~{WP}")
+ (pintype "input")
+ (uuid "31a77c70-3bf9-4683-8da1-677d05262685")
+ )
+ (pad "4" smd roundrect
+ (at -2.475 1.905)
+ (size 1.95 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 86 "unconnected-(U4-V_{SS}-Pad4)")
+ (pinfunction "V_{SS}")
+ (pintype "power_in")
+ (uuid "a609e029-ecd3-4736-937c-5567f5a19dac")
+ )
+ (pad "5" smd roundrect
+ (at 2.475 1.905)
+ (size 1.95 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 84 "unconnected-(U4-SI-Pad5)")
+ (pinfunction "SI")
+ (pintype "input")
+ (uuid "44122041-9d8f-4fc3-bc12-49c810b0df29")
+ )
+ (pad "6" smd roundrect
+ (at 2.475 0.635)
+ (size 1.95 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 88 "unconnected-(U4-SCK-Pad6)")
+ (pinfunction "SCK")
+ (pintype "input")
+ (uuid "ab3e8227-e63d-4f59-9dce-f41e5977964e")
+ )
+ (pad "7" smd roundrect
+ (at 2.475 -0.635)
+ (size 1.95 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 82 "unconnected-(U4-~{HOLD}-Pad7)")
+ (pinfunction "~{HOLD}")
+ (pintype "input")
+ (uuid "094613ff-5f61-4fb1-bba0-e3e9a35be1ea")
+ )
+ (pad "8" smd roundrect
+ (at 2.475 -1.905)
+ (size 1.95 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 89 "unconnected-(U4-V_{CC}-Pad8)")
+ (pinfunction "V_{CC}")
+ (pintype "power_in")
+ (uuid "fd7ec0c2-ee9b-422b-9e43-a8eb1d0fa165")
+ )
+ (model "${KICAD8_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-8_3.9x4.9mm_P1.27mm.wrl"
+ (offset
+ (xyz 0 0 0)
+ )
+ (scale
+ (xyz 1 1 1)
+ )
+ (rotate
+ (xyz 0 0 0)
+ )
+ )
+ )
+ (footprint "RF_Module:ESP32-S2-MINI-1"
+ (layer "F.Cu")
+ (uuid "6f318d98-6bf2-4d60-92fb-11be69979cc1")
+ (at 145.05 75.25)
+ (descr "2.4 GHz Wi-Fi and Bluetooth combo chip, external antenna, https://www.espressif.com/sites/default/files/documentation/esp32-s3-mini-1_mini-1u_datasheet_en.pdf")
+ (tags "2.4 GHz Wi-Fi Bluetooth external antenna espressif 20*15.4mm")
+ (property "Reference" "U1"
+ (at -5.95 11.85 0)
+ (unlocked yes)
+ (layer "F.SilkS")
+ (uuid "c6bc5b65-83ba-4d1d-b779-7e13fda5794b")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Value" "ESP32-S3-MINI-1"
+ (at 0 3.55 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (uuid "030200af-21ba-4b8c-93fa-50948171d23f")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Footprint" "RF_Module:ESP32-S2-MINI-1"
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "ab7b071f-9b62-4d0f-aac1-08b381325c99")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Datasheet" "https://www.espressif.com/sites/default/files/documentation/esp32-s3-mini-1_mini-1u_datasheet_en.pdf"
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "27028fd8-700f-4255-a49d-4ba6f9e43231")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Description" "Microcontroller with WLAN"
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "3b66bb97-f370-40f7-87b6-b76a6c5a72e4")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "MPN" " ESP32-S3-MINI-1-N8"
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "8a73a032-dda5-4113-b5ef-4d1da5b6efc5")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Manufacturer" " Espressif Systems "
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "483f944c-1a69-4362-aa8e-fd4a78a1b606")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property ki_fp_filters "ESP32?S*MINI?1")
+ (path "/1d27c785-80ad-4e14-9406-8515becf138a")
+ (sheetname "Root")
+ (sheetfile "soundbox.kicad_sch")
+ (attr smd)
+ (fp_line
+ (start -8.075 -10.6)
+ (end -8.075 -8.15)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "42361d69-1a62-46a0-b49d-4d67e29c8455")
+ )
+ (fp_line
+ (start -8.075 -10.6)
+ (end -5.625 -10.6)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "85aac0ed-cfa8-4f24-a548-54905a597b0d")
+ )
+ (fp_line
+ (start -7.8 -10.35)
+ (end 7.8 -10.35)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "56d543b6-799a-4955-a1a8-1e4a36d9ba16")
+ )
+ (fp_line
+ (start -7.8 10.35)
+ (end -7.8 -10.35)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "d5d1fabe-1408-4420-a549-90bb3ef849f8")
+ )
+ (fp_line
+ (start 7.8 -10.35)
+ (end 7.8 10.35)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "091e4dd4-eaa0-4b03-8548-7200ef468990")
+ )
+ (fp_line
+ (start 7.8 10.35)
+ (end -7.8 10.35)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "a4e485ff-ca3a-463f-94f3-d12c8e89c694")
+ )
+ (fp_poly
+ (pts
+ (xy -7.975 -3.4) (xy -8.311 -3.16) (xy -8.311 -3.64) (xy -7.975 -3.4)
+ )
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (fill solid)
+ (layer "F.SilkS")
+ (uuid "8ead062f-b5cd-4fde-90b4-37c36aa7d6e2")
+ )
+ (fp_line
+ (start -22.7 -24.75)
+ (end 22.7 -24.75)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "90c76edf-64af-4e97-ba5d-e771c679fa05")
+ )
+ (fp_line
+ (start -22.7 -5.25)
+ (end -22.7 -24.75)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "18021281-db30-438e-b0aa-5e615475a35b")
+ )
+ (fp_line
+ (start -7.95 -5.25)
+ (end -22.7 -5.25)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "8e32323a-8ab3-4930-8ff7-a2014c987ad6")
+ )
+ (fp_line
+ (start -7.95 10.5)
+ (end -7.95 -5.25)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "e32ff1f5-a349-4cfa-b6b1-89c116f4901a")
+ )
+ (fp_line
+ (start 7.95 -5.25)
+ (end 7.95 10.5)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "4e05d84a-2ba5-4f5b-ae94-5afe917dd6f7")
+ )
+ (fp_line
+ (start 7.95 -5.25)
+ (end 22.7 -5.25)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "3ce5bee3-efc8-47d8-b372-ec77436e1091")
+ )
+ (fp_line
+ (start 7.95 10.5)
+ (end -7.95 10.5)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "8ca641a6-044f-4ebf-9fec-ce4cc4328cbe")
+ )
+ (fp_line
+ (start 22.7 -5.25)
+ (end 22.7 -24.75)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "2e38b717-4389-4ab3-87b3-e98bcb054c3f")
+ )
+ (fp_line
+ (start -7.7 -9.75)
+ (end 7.7 -9.75)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "e9af683f-3e5f-4ab4-baaa-d2821fb2aead")
+ )
+ (fp_line
+ (start -7.7 -5.25)
+ (end 7.7 -5.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "82620125-8936-4e1d-ad02-b3249b5c8856")
+ )
+ (fp_line
+ (start -7.7 10.25)
+ (end -7.7 -9.75)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "40e48f10-b55a-45ed-9180-bc19491562b2")
+ )
+ (fp_line
+ (start -7.1 -9.15)
+ (end -4.1 -9.15)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "1b6b01fa-7035-4bfb-aa3e-70a93060c92f")
+ )
+ (fp_line
+ (start -7.1 -6)
+ (end -7.1 -9.15)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "c931345e-714d-4878-b3e2-e678ef5e0656")
+ )
+ (fp_line
+ (start -5.6 -6)
+ (end -5.6 -9.15)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "f2330bbb-41b7-4956-830e-1befc095bcb6")
+ )
+ (fp_line
+ (start -4.1 -9.15)
+ (end -4.1 -6.95)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "629ee70a-fc45-4ef3-8d07-c305e67f6e8e")
+ )
+ (fp_line
+ (start -4.1 -6.95)
+ (end -1.3 -6.95)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "8dabdc08-ebb8-47a1-90d1-80355db85f6e")
+ )
+ (fp_line
+ (start -1.3 -9.15)
+ (end 1.5 -9.15)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "cc1c8b9c-49b0-434f-a5a6-28bd4a16f7cf")
+ )
+ (fp_line
+ (start -1.3 -6.95)
+ (end -1.3 -9.15)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "7dbd3fec-d067-4ba5-bfe8-49f2e28f5ff1")
+ )
+ (fp_line
+ (start 1.5 -9.15)
+ (end 1.5 -6.95)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "d5c31d04-b848-4237-8f5d-6a84fe1b5eab")
+ )
+ (fp_line
+ (start 1.5 -6.95)
+ (end 4.3 -6.95)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "436632b6-bee4-4a14-808f-694056bbbd8d")
+ )
+ (fp_line
+ (start 4.3 -9.15)
+ (end 7.1 -9.15)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "cc7ae7bf-f895-4d4a-8246-d6af4e943429")
+ )
+ (fp_line
+ (start 4.3 -6.95)
+ (end 4.3 -9.15)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "c6daa71c-1521-4bc4-b78d-96a1e2f2612d")
+ )
+ (fp_line
+ (start 7.1 -9.15)
+ (end 7.1 -6)
+ (stroke
+ (width 0.3)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "02412d19-96dc-4c16-baf9-d441b5afc619")
+ )
+ (fp_line
+ (start 7.7 -9.75)
+ (end 7.7 10.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "dd7f8358-9b11-465b-b0aa-621d43198b3b")
+ )
+ (fp_line
+ (start 7.7 10.25)
+ (end -7.7 10.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "4fffc4bf-10e6-4561-ac18-9157e80b5fb3")
+ )
+ (fp_circle
+ (center -6 8.55)
+ (end -5.888197 8.55)
+ (stroke
+ (width 0.15)
+ (type solid)
+ )
+ (fill none)
+ (layer "F.Fab")
+ (uuid "673f4205-e2c9-4e73-af9b-f029472237a9")
+ )
+ (fp_text user "Antenna"
+ (at 0 -7.675 0)
+ (layer "Cmts.User")
+ (uuid "778d3269-1300-43d6-b431-8cd7ae8d0475")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (fp_text user "Keepout Area"
+ (at -0.01 -15.36 0)
+ (layer "Cmts.User")
+ (uuid "e5784100-1dff-433f-bff1-fceba9328638")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (fp_text user "${REFERENCE}"
+ (at 0 5.05 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (uuid "257d2576-8fc4-4e1a-88b9-6c8b11d75777")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (pad "1" smd rect
+ (at -7 -3.4)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "power_in")
+ (uuid "af02afbf-d603-4d3e-81c5-114f3f4523af")
+ )
+ (pad "2" smd rect
+ (at -7 -2.55)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "a36f7b3c-503a-48cc-b8d8-73b1fe7a3f0e")
+ )
+ (pad "3" smd rect
+ (at -7 -1.7)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 9 "unconnected-(U1-3V3-Pad3)")
+ (pinfunction "3V3")
+ (pintype "power_in")
+ (uuid "22cfef38-2bf9-4594-a76b-23eb08057020")
+ )
+ (pad "4" smd rect
+ (at -7 -0.85)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 14 "unconnected-(U1-IO0-Pad4)")
+ (pinfunction "IO0")
+ (pintype "bidirectional")
+ (uuid "30acc00d-6fd2-4713-8baf-e6c9cf2040d8")
+ )
+ (pad "5" smd rect
+ (at -7 0)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 18 "unconnected-(U1-IO1-Pad5)")
+ (pinfunction "IO1")
+ (pintype "bidirectional")
+ (uuid "3f705306-5fb3-427d-9bc1-9df2d1831fc2")
+ )
+ (pad "6" smd rect
+ (at -7 0.85)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 31 "unconnected-(U1-IO2-Pad6)")
+ (pinfunction "IO2")
+ (pintype "bidirectional")
+ (uuid "8c4e3f73-5c97-4774-80e0-25ce969b0771")
+ )
+ (pad "7" smd rect
+ (at -7 1.7)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 16 "unconnected-(U1-IO3-Pad7)")
+ (pinfunction "IO3")
+ (pintype "bidirectional")
+ (uuid "397b0c14-dae9-42c9-929e-6efe0a727204")
+ )
+ (pad "8" smd rect
+ (at -7 2.55)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 44 "unconnected-(U1-IO4-Pad8)")
+ (pinfunction "IO4")
+ (pintype "bidirectional")
+ (uuid "f671e502-32f8-4fa1-a32b-bf864fe80c3a")
+ )
+ (pad "9" smd rect
+ (at -7 3.4)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 35 "unconnected-(U1-IO5-Pad9)")
+ (pinfunction "IO5")
+ (pintype "bidirectional")
+ (uuid "9fcc7473-cf46-43b7-9050-e83d4509ebc9")
+ )
+ (pad "10" smd rect
+ (at -7 4.25)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 39 "unconnected-(U1-IO6-Pad10)")
+ (pinfunction "IO6")
+ (pintype "bidirectional")
+ (uuid "c24c4d54-5433-496c-88c3-279c557195c6")
+ )
+ (pad "11" smd rect
+ (at -7 5.1)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 40 "unconnected-(U1-IO7-Pad11)")
+ (pinfunction "IO7")
+ (pintype "bidirectional")
+ (uuid "c98aade5-4747-4470-bce0-d4fdd9a33b80")
+ )
+ (pad "12" smd rect
+ (at -7 5.95)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 29 "unconnected-(U1-IO8-Pad12)")
+ (pinfunction "IO8")
+ (pintype "bidirectional")
+ (uuid "84222269-cf73-4a68-8cb6-3d560ca2e103")
+ )
+ (pad "13" smd rect
+ (at -7 6.8)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 15 "unconnected-(U1-IO9-Pad13)")
+ (pinfunction "IO9")
+ (pintype "bidirectional")
+ (uuid "32ffc82d-ce7c-496a-881f-8597efe1c8c8")
+ )
+ (pad "14" smd rect
+ (at -7 7.65)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 24 "unconnected-(U1-IO10-Pad14)")
+ (pinfunction "IO10")
+ (pintype "bidirectional")
+ (uuid "70d617c5-41fc-47a4-b8b9-338ed816eaa4")
+ )
+ (pad "15" smd rect
+ (at -7 8.5)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 19 "unconnected-(U1-IO11-Pad15)")
+ (pinfunction "IO11")
+ (pintype "bidirectional")
+ (uuid "3fc7e60d-9175-44ce-8e07-b7eab0721d12")
+ )
+ (pad "16" smd rect
+ (at -5.95 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 12 "unconnected-(U1-IO12-Pad16)")
+ (pinfunction "IO12")
+ (pintype "bidirectional")
+ (uuid "292bb384-78cb-4002-bf4a-18947c897637")
+ )
+ (pad "17" smd rect
+ (at -5.1 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 45 "unconnected-(U1-IO13-Pad17)")
+ (pinfunction "IO13")
+ (pintype "bidirectional")
+ (uuid "f8f4c52b-d11c-4aef-92f4-1714669d7514")
+ )
+ (pad "18" smd rect
+ (at -4.25 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 33 "unconnected-(U1-IO14-Pad18)")
+ (pinfunction "IO14")
+ (pintype "bidirectional")
+ (uuid "8d2abb0f-a0c5-4f15-8cc5-09db28692e57")
+ )
+ (pad "19" smd rect
+ (at -3.4 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 41 "unconnected-(U1-IO15-Pad19)")
+ (pinfunction "IO15")
+ (pintype "bidirectional")
+ (uuid "c9bb040a-9ce0-46e6-906f-e689533d7745")
+ )
+ (pad "20" smd rect
+ (at -2.55 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 30 "unconnected-(U1-IO16-Pad20)")
+ (pinfunction "IO16")
+ (pintype "bidirectional")
+ (uuid "84de1763-d627-492e-95f3-37473e51997f")
+ )
+ (pad "21" smd rect
+ (at -1.7 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 21 "unconnected-(U1-IO17-Pad21)")
+ (pinfunction "IO17")
+ (pintype "bidirectional")
+ (uuid "516a9a73-6087-4e86-b420-ff34fcda5d22")
+ )
+ (pad "22" smd rect
+ (at -0.85 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 6 "unconnected-(U1-IO18-Pad22)")
+ (pinfunction "IO18")
+ (pintype "bidirectional")
+ (uuid "1c0f2ad5-1de3-4376-b479-8ae377ca418d")
+ )
+ (pad "23" smd rect
+ (at 0 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 10 "unconnected-(U1-IO19-Pad23)")
+ (pinfunction "IO19")
+ (pintype "bidirectional")
+ (uuid "2349be5d-0756-4f47-9f67-81198ad946ca")
+ )
+ (pad "24" smd rect
+ (at 0.85 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 23 "unconnected-(U1-IO20-Pad24)")
+ (pinfunction "IO20")
+ (pintype "bidirectional")
+ (uuid "5c8b0f83-c225-4709-a32d-bb049ffd613f")
+ )
+ (pad "25" smd rect
+ (at 1.7 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 11 "unconnected-(U1-IO21-Pad25)")
+ (pinfunction "IO21")
+ (pintype "bidirectional")
+ (uuid "279e9464-24d4-4799-8622-3ce21415c9e2")
+ )
+ (pad "26" smd rect
+ (at 2.55 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 8 "unconnected-(U1-IO26-Pad26)")
+ (pinfunction "IO26")
+ (pintype "bidirectional")
+ (uuid "1f57d917-4788-4d1f-a796-59bb1ce1b433")
+ )
+ (pad "27" smd rect
+ (at 3.4 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 22 "unconnected-(U1-IO47-Pad27)")
+ (pinfunction "IO47")
+ (pintype "bidirectional")
+ (uuid "51e87d02-28db-4327-b51e-be5f20e36fc6")
+ )
+ (pad "28" smd rect
+ (at 4.25 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 46 "unconnected-(U1-IO33-Pad28)")
+ (pinfunction "IO33")
+ (pintype "bidirectional")
+ (uuid "fbd8c7a0-a5c9-4b9a-990f-9edeb71f175c")
+ )
+ (pad "29" smd rect
+ (at 5.1 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 25 "unconnected-(U1-IO34-Pad29)")
+ (pinfunction "IO34")
+ (pintype "bidirectional")
+ (uuid "72431538-2bed-45b5-9bdd-84d4d9869f2b")
+ )
+ (pad "30" smd rect
+ (at 5.95 9.55 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 36 "unconnected-(U1-IO48-Pad30)")
+ (pinfunction "IO48")
+ (pintype "bidirectional")
+ (uuid "a36f1949-4198-46e4-ada8-5df49efa09c4")
+ )
+ (pad "31" smd rect
+ (at 7 8.5)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 34 "unconnected-(U1-IO35-Pad31)")
+ (pinfunction "IO35")
+ (pintype "bidirectional")
+ (uuid "9fb17bb9-682d-4ab8-be69-b1259ecc5ec4")
+ )
+ (pad "32" smd rect
+ (at 7 7.65)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 28 "unconnected-(U1-IO36-Pad32)")
+ (pinfunction "IO36")
+ (pintype "bidirectional")
+ (uuid "7e95c1b7-44ac-44a6-b669-cdfaa8a47c05")
+ )
+ (pad "33" smd rect
+ (at 7 6.8)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 13 "unconnected-(U1-IO37-Pad33)")
+ (pinfunction "IO37")
+ (pintype "bidirectional")
+ (uuid "29cc9f41-0476-4f6c-94fe-e7b4fd84a480")
+ )
+ (pad "34" smd rect
+ (at 7 5.95)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 26 "unconnected-(U1-IO38-Pad34)")
+ (pinfunction "IO38")
+ (pintype "bidirectional")
+ (uuid "74e64a6d-8fdd-416a-b007-89bd62d5a0fd")
+ )
+ (pad "35" smd rect
+ (at 7 5.1)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 27 "unconnected-(U1-IO39-Pad35)")
+ (pinfunction "IO39")
+ (pintype "bidirectional")
+ (uuid "789b4895-f79d-431f-ab3d-6782ad6a1f32")
+ )
+ (pad "36" smd rect
+ (at 7 4.25)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 37 "unconnected-(U1-IO40-Pad36)")
+ (pinfunction "IO40")
+ (pintype "bidirectional")
+ (uuid "a70ab306-550d-41b6-b95c-8bb9bf3d80e6")
+ )
+ (pad "37" smd rect
+ (at 7 3.4)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 20 "unconnected-(U1-IO41-Pad37)")
+ (pinfunction "IO41")
+ (pintype "bidirectional")
+ (uuid "4dc748ab-96dc-44a1-8327-d4b459d7418b")
+ )
+ (pad "38" smd rect
+ (at 7 2.55)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 43 "unconnected-(U1-IO42-Pad38)")
+ (pinfunction "IO42")
+ (pintype "bidirectional")
+ (uuid "f0a52034-e582-4abc-aad6-9655422fc5a2")
+ )
+ (pad "39" smd rect
+ (at 7 1.7)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 17 "unconnected-(U1-TXD0-Pad39)")
+ (pinfunction "TXD0")
+ (pintype "bidirectional")
+ (uuid "3a9c4e06-ae4d-403f-90e0-f57bd3686ce4")
+ )
+ (pad "40" smd rect
+ (at 7 0.85)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 32 "unconnected-(U1-RXD0-Pad40)")
+ (pinfunction "RXD0")
+ (pintype "bidirectional")
+ (uuid "8c7750c0-29c9-4e92-a1f7-e0026c31a716")
+ )
+ (pad "41" smd rect
+ (at 7 0)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 42 "unconnected-(U1-IO45-Pad41)")
+ (pinfunction "IO45")
+ (pintype "bidirectional")
+ (uuid "e743de1b-e5c1-41b5-8c5b-c47711ff2368")
+ )
+ (pad "42" smd rect
+ (at 7 -0.85)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "fdf8e645-26ec-4b3b-8159-47b858d64f91")
+ )
+ (pad "43" smd rect
+ (at 7 -1.7)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "350e8596-15ce-4e3b-b62d-90bd845b072a")
+ )
+ (pad "44" smd rect
+ (at 7 -2.55)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 7 "unconnected-(U1-IO46-Pad44)")
+ (pinfunction "IO46")
+ (pintype "bidirectional")
+ (uuid "1f2fc670-2bb1-4bee-8392-ea2c523c0233")
+ )
+ (pad "45" smd rect
+ (at 7 -3.4)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 38 "unconnected-(U1-EN-Pad45)")
+ (pinfunction "EN")
+ (pintype "input")
+ (uuid "a98ebe5b-40b8-484e-8bb4-1219a82acdbf")
+ )
+ (pad "46" smd rect
+ (at 5.95 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "6493f2c5-2b08-4599-80d3-f008e1b9c3eb")
+ )
+ (pad "47" smd rect
+ (at 5.1 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "e97f21a1-a5c6-4918-b6f5-921a735fe270")
+ )
+ (pad "48" smd rect
+ (at 4.25 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "0f9de92e-213f-4fdd-b5b0-a6ea7be03fde")
+ )
+ (pad "49" smd rect
+ (at 3.4 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "1b386505-bc2e-4903-acc3-845babb1131c")
+ )
+ (pad "50" smd rect
+ (at 2.55 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "2163404a-c6c5-4f4c-aa47-6ae7ffa35ab3")
+ )
+ (pad "51" smd rect
+ (at 1.7 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "0ad775b7-ee7f-4a5f-9648-510d932630ec")
+ )
+ (pad "52" smd rect
+ (at 0.85 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "c527de48-3aee-4e20-90bd-e02e6706cb09")
+ )
+ (pad "53" smd rect
+ (at 0 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "7c18a996-9c8e-4749-806b-9c060e5ae80d")
+ )
+ (pad "54" smd rect
+ (at -0.85 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "55e8d52a-30ee-40d4-867c-17daf3e142d6")
+ )
+ (pad "55" smd rect
+ (at -1.7 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "01965c22-afa1-4287-b56b-05697fbd9883")
+ )
+ (pad "56" smd rect
+ (at -2.55 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "f45f293f-3242-4ca8-966b-c469f011a3ad")
+ )
+ (pad "57" smd rect
+ (at -3.4 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "b8594af9-987e-4226-9996-6cdfd765fa03")
+ )
+ (pad "58" smd rect
+ (at -4.25 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "d2546546-a13a-407a-924d-c40afefe2e78")
+ )
+ (pad "59" smd rect
+ (at -5.1 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "df9d9516-581b-4263-9953-53250bcd8321")
+ )
+ (pad "60" smd rect
+ (at -5.95 -4.45 90)
+ (size 0.8 0.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "57f1d86e-6a02-456b-bc00-92e2f9018352")
+ )
+ (pad "61" smd roundrect
+ (at -1.65 0.9)
+ (size 1.2 1.2)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0)
+ (chamfer_ratio 0.33)
+ (chamfer top_left)
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "7bd6f6f3-3377-40e2-8506-acf79466a19f")
+ )
+ (pad "61" smd rect
+ (at -1.65 2.55)
+ (size 1.2 1.2)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "1023cb57-c73f-4d47-a544-83e06f8aacab")
+ )
+ (pad "61" smd rect
+ (at -1.65 4.2)
+ (size 1.2 1.2)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "4615bad2-68a3-4f86-82b9-67a7f882b9a3")
+ )
+ (pad "61" smd rect
+ (at 0 0.9)
+ (size 1.2 1.2)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "2ec3aeed-030e-4778-8d33-381d544eaf1e")
+ )
+ (pad "61" smd rect
+ (at 0 2.55)
+ (size 1.2 1.2)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "ff1e61fe-e95c-4bda-8d5c-ba797126be30")
+ )
+ (pad "61" smd rect
+ (at 0 4.2)
+ (size 1.2 1.2)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "ca1334a3-c410-4442-9409-b384b8ded466")
+ )
+ (pad "61" smd rect
+ (at 1.65 0.9)
+ (size 1.2 1.2)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "753fba8d-9cbc-4e87-87a5-c1bf989b24b2")
+ )
+ (pad "61" smd rect
+ (at 1.65 2.55)
+ (size 1.2 1.2)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "c87348bc-fd8e-4f0e-869e-3e4be0f014ae")
+ )
+ (pad "61" smd rect
+ (at 1.65 4.2)
+ (size 1.2 1.2)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "d16b6f95-38dc-4466-821a-a336de7895be")
+ )
+ (pad "62" smd rect
+ (at -7 -4.45)
+ (size 0.8 0.8)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "9dde42df-2f35-4cbe-aa05-92d12c3ed7ff")
+ )
+ (pad "63" smd rect
+ (at -7 9.55)
+ (size 0.8 0.8)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "10864ec2-1b9a-4aae-b315-9a98c48314f3")
+ )
+ (pad "64" smd rect
+ (at 7 9.55)
+ (size 0.8 0.8)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "f524342e-cdcb-463e-8fac-3efb4f72f3ba")
+ )
+ (pad "65" smd rect
+ (at 7 -4.45)
+ (size 0.8 0.8)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 5 "Net-(U1-GND-Pad1)")
+ (pinfunction "GND")
+ (pintype "passive")
+ (uuid "4cf94f64-ac61-4a97-b923-5cfca787fae1")
+ )
+ (zone
+ (net 0)
+ (net_name "")
+ (layers "*.Cu")
+ (uuid "18faa669-fe98-4916-91fc-616303d29fe0")
+ (name "Antenna")
+ (hatch full 0.508)
+ (connect_pads
+ (clearance 0)
+ )
+ (min_thickness 0.254)
+ (filled_areas_thickness no)
+ (keepout
+ (tracks not_allowed)
+ (vias not_allowed)
+ (pads not_allowed)
+ (copperpour not_allowed)
+ (footprints not_allowed)
+ )
+ (fill
+ (thermal_gap 0.508)
+ (thermal_bridge_width 0.508)
+ )
+ (polygon
+ (pts
+ (xy 167.75 70) (xy 122.35 70) (xy 122.35 50.5) (xy 167.75 50.5)
+ )
+ )
+ )
+ (model "${KICAD8_3DMODEL_DIR}/RF_Module.3dshapes/ESP32-S2-MINI-1.wrl"
+ (offset
+ (xyz 0 0 0)
+ )
+ (scale
+ (xyz 1 1 1)
+ )
+ (rotate
+ (xyz 0 0 0)
+ )
+ )
+ )
+ (footprint "Button_Switch_SMD:SW_SPST_TL3305A"
+ (layer "F.Cu")
+ (uuid "855c0f43-1701-4b84-a746-499773f5cd2b")
+ (at 125.4 104.5)
+ (descr "https://www.e-switch.com/system/asset/product_line/data_sheet/213/TL3305.pdf")
+ (tags "TL3305 Series Tact Switch")
+ (property "Reference" "SW1"
+ (at 0 -3.2 0)
+ (layer "F.SilkS")
+ (uuid "cebb5cb1-233e-45e5-8e62-f56535f0a45b")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Value" "SW_Push"
+ (at 0 3.2 0)
+ (layer "F.Fab")
+ (uuid "63b52aa4-f0de-4d90-aaa6-78eb6e52859c")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Footprint" "Button_Switch_SMD:SW_SPST_TL3305A"
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "4ff625ca-4632-476e-819a-649e0a0ac7a9")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Datasheet" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "7d2dfd55-2c51-467f-8411-637fe89c60cc")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Description" "Factory reset"
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "1bf8dcdd-55f2-46e8-90ab-d48274551268")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "dabab617-a138-411b-9bca-cf45c5827fdc")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Manufacturer" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "bca23811-3051-4a55-8446-b7ced13bb5cd")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (path "/69e6d5d3-d27a-49b0-b7f4-ff672ddcc6a0")
+ (sheetname "Root")
+ (sheetfile "soundbox.kicad_sch")
+ (attr smd)
+ (fp_line
+ (start -2.37 -2.37)
+ (end -2.37 -1.97)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "8320f9b9-9603-430e-ac05-98afba32e98b")
+ )
+ (fp_line
+ (start -2.37 -2.37)
+ (end 2.37 -2.37)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "a0f64702-3982-42fe-a43b-5ec7fb7c98c5")
+ )
+ (fp_line
+ (start -2.37 1.03)
+ (end -2.37 -1.03)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "2d225638-1796-4085-81a8-14253dbae985")
+ )
+ (fp_line
+ (start -2.37 2.37)
+ (end -2.37 1.97)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "450ffc04-5b18-42c5-b4d4-202788e957cb")
+ )
+ (fp_line
+ (start -2.37 2.37)
+ (end 2.37 2.37)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "cd4b71b6-35d5-4ec6-a63e-011a384799ad")
+ )
+ (fp_line
+ (start 2.37 -2.37)
+ (end 2.37 -1.97)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "b8976a56-f152-4d81-b7d3-bc8a92d3196b")
+ )
+ (fp_line
+ (start 2.37 1.03)
+ (end 2.37 -1.03)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "5a84fb39-7922-46ea-bdda-51c1e2b7ab8c")
+ )
+ (fp_line
+ (start 2.37 2.37)
+ (end 2.37 1.97)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "b6d72ad5-e948-4a81-aa2b-7f4a9ae6a62f")
+ )
+ (fp_line
+ (start -4.65 -2.5)
+ (end 4.65 -2.5)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "dd81b95c-f493-4608-9b8a-56666c0d3939")
+ )
+ (fp_line
+ (start -4.65 2.5)
+ (end -4.65 -2.5)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "8480e453-621a-4810-9cfb-32b11808a9c0")
+ )
+ (fp_line
+ (start 4.65 -2.5)
+ (end 4.65 2.5)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "55c89ee2-df66-4466-af69-4b65fcbad0b5")
+ )
+ (fp_line
+ (start 4.65 2.5)
+ (end -4.65 2.5)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "72232080-9414-4c75-85b1-226c2cb7d97d")
+ )
+ (fp_line
+ (start -3.75 -1.85)
+ (end -3.75 -1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "ec14deac-c1d2-4acf-9f4b-bd3ed2185803")
+ )
+ (fp_line
+ (start -3.75 -1.15)
+ (end -2.25 -1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "133dc433-ba19-4979-a0ef-52436da2b7cf")
+ )
+ (fp_line
+ (start -3.75 1.15)
+ (end -3.75 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "52c1dd55-b120-42f6-b98e-e60ca3bfb86d")
+ )
+ (fp_line
+ (start -3.75 1.85)
+ (end -2.25 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "569c8aa6-2d69-4d60-948e-0646cc4c5dd6")
+ )
+ (fp_line
+ (start -3 -1.85)
+ (end -3 -1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "7bba2f42-6287-4a55-878b-30ef2bf9083f")
+ )
+ (fp_line
+ (start -3 1.15)
+ (end -3 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "6234f1e9-e48a-4d16-8736-1db72f019dd1")
+ )
+ (fp_line
+ (start -2.25 -2.25)
+ (end 2.25 -2.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "9ccd6bcf-60ac-4885-854a-0d012a160503")
+ )
+ (fp_line
+ (start -2.25 -1.85)
+ (end -3.75 -1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "33c28b21-92eb-43e3-815c-3e9b9baf87b5")
+ )
+ (fp_line
+ (start -2.25 1.15)
+ (end -3.75 1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "6aaf4916-5e91-4c5c-b28b-b080bba5b879")
+ )
+ (fp_line
+ (start -2.25 2.25)
+ (end -2.25 -2.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "c4ec9b3f-317f-43a4-8fe5-05976187f231")
+ )
+ (fp_line
+ (start 2.25 -2.25)
+ (end 2.25 2.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "cad93161-83f8-4955-9cc7-a7c7aa89f7ff")
+ )
+ (fp_line
+ (start 2.25 -1.15)
+ (end 3.75 -1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "8cd55397-31c9-41f4-bea0-989bc9a75c4f")
+ )
+ (fp_line
+ (start 2.25 1.15)
+ (end 3.75 1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "0f8a2316-973b-44bc-a023-246fe2587985")
+ )
+ (fp_line
+ (start 2.25 2.25)
+ (end -2.25 2.25)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "35ce14f6-e723-4ea7-923f-370842bda065")
+ )
+ (fp_line
+ (start 3 -1.85)
+ (end 3 -1.15)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "70f0eaeb-501a-4505-8205-a7f875034921")
+ )
+ (fp_line
+ (start 3 1.15)
+ (end 3 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "f8fec7ba-5f21-402f-b8eb-0c4a350f11f5")
+ )
+ (fp_line
+ (start 3.75 -1.85)
+ (end 2.25 -1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "4c6bf01d-5da2-4feb-a76f-9326957624fb")
+ )
+ (fp_line
+ (start 3.75 -1.15)
+ (end 3.75 -1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "12efc113-bac6-41f2-bad7-f21dd3ff1173")
+ )
+ (fp_line
+ (start 3.75 1.15)
+ (end 3.75 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "e1758982-b121-4141-b832-99c6e11bbb56")
+ )
+ (fp_line
+ (start 3.75 1.85)
+ (end 2.25 1.85)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "7d23fac5-6e83-4d43-838d-3f44f31f18bd")
+ )
+ (fp_circle
+ (center 0 0)
+ (end 1.25 0)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (fill none)
+ (layer "F.Fab")
+ (uuid "95e48f5c-4155-492d-a261-1d78e5a2605b")
+ )
+ (fp_text user "${REFERENCE}"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (uuid "98ed03fe-df57-4b1e-ad24-e76a8716295a")
+ (effects
+ (font
+ (size 0.5 0.5)
+ (thickness 0.075)
+ )
+ )
+ )
+ (pad "1" smd rect
+ (at -3.6 -1.5)
+ (size 1.6 1.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 2 "unconnected-(SW1-Pad1)")
+ (pinfunction "1")
+ (pintype "passive")
+ (uuid "8398896c-0c47-4495-94cf-9867f6ba92fd")
+ )
+ (pad "1" smd rect
+ (at 3.6 -1.5)
+ (size 1.6 1.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 2 "unconnected-(SW1-Pad1)")
+ (pinfunction "1")
+ (pintype "passive")
+ (uuid "4f75b5c4-9a73-4e19-8ff7-2be027690804")
+ )
+ (pad "2" smd rect
+ (at -3.6 1.5)
+ (size 1.6 1.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 1 "unconnected-(SW1-Pad2)")
+ (pinfunction "2")
+ (pintype "passive")
+ (uuid "35c6338d-bed5-4da8-b7eb-17371b4dd1ff")
+ )
+ (pad "2" smd rect
+ (at 3.6 1.5)
+ (size 1.6 1.4)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (net 1 "unconnected-(SW1-Pad2)")
+ (pinfunction "2")
+ (pintype "passive")
+ (uuid "914d8067-8a21-42e4-9e3e-12153f08bf75")
+ )
+ (model "${KICAD8_3DMODEL_DIR}/Button_Switch_SMD.3dshapes/SW_SPST_TL3305A.wrl"
+ (offset
+ (xyz 0 0 0)
+ )
+ (scale
+ (xyz 1 1 1)
+ )
+ (rotate
+ (xyz 0 0 0)
+ )
+ )
+ )
+ (footprint "Package_DFN_QFN:VQFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm"
+ (layer "F.Cu")
+ (uuid "ae8ccfb1-6208-4de4-848b-b447a203b2c8")
+ (at 164.775 104.775)
+ (descr "VQFN, 32 Pin (http://ww1.microchip.com/downloads/en/devicedoc/atmel-9520-at42-qtouch-bsw-at42qt1110_datasheet.pdf#page=42), generated with kicad-footprint-generator ipc_noLead_generator.py")
+ (tags "VQFN NoLead")
+ (property "Reference" "U2"
+ (at 0 -3.83 0)
+ (layer "F.SilkS")
+ (uuid "d18c4fab-b68e-4956-a686-c1c7fa6bfeda")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Value" "TAS5825MRHB"
+ (at 0 3.83 0)
+ (layer "F.Fab")
+ (uuid "22c410f9-1cc8-45b5-ac66-407ad3b4cc00")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Footprint" "Package_DFN_QFN:VQFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "253b8a3e-cada-40c8-8f82-4487e9b41413")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Datasheet" "www.ti.com/lit/ds/symlink/tas5825m.pdf"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "428c7e22-6f4e-4f94-a0f3-399565b51aac")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Description" "Audio amplifier"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "e126e7a8-8fea-4a54-905d-49c6e7c6f12d")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "b19602ee-e77f-4b96-9bbc-4cc2e39aa263")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Manufacturer" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "114198d7-91a4-4ee5-ab82-68404d5ebd97")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property ki_fp_filters "VQFN*1EP*5x5mm*P0.5mm*")
+ (path "/84819cd8-71aa-4c55-98cf-f59300a49124")
+ (sheetname "Root")
+ (sheetfile "soundbox.kicad_sch")
+ (attr smd)
+ (fp_line
+ (start -2.61 -2.135)
+ (end -2.61 -2.37)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "14f8ad4c-df12-4098-a212-614086d6bf3d")
+ )
+ (fp_line
+ (start -2.61 2.61)
+ (end -2.61 2.135)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "9a5e7c5b-109d-4baf-9d2b-1ead34aeff6d")
+ )
+ (fp_line
+ (start -2.135 -2.61)
+ (end -2.31 -2.61)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "7e66dfda-bedc-4120-abe6-2c7bc20bf85d")
+ )
+ (fp_line
+ (start -2.135 2.61)
+ (end -2.61 2.61)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "575dae7a-761f-4b07-9224-4c34339e7e9d")
+ )
+ (fp_line
+ (start 2.135 -2.61)
+ (end 2.61 -2.61)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "8c835323-8e80-42a4-8288-a1526278876e")
+ )
+ (fp_line
+ (start 2.135 2.61)
+ (end 2.61 2.61)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "4aa6a72f-188d-42b8-8e2c-2e8e2ec47082")
+ )
+ (fp_line
+ (start 2.61 -2.61)
+ (end 2.61 -2.135)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "cda8327d-c8d1-4b79-97ad-4afdd6cb7b87")
+ )
+ (fp_line
+ (start 2.61 2.61)
+ (end 2.61 2.135)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "e83ef72f-472f-4f85-bb27-a0f05ad1c42d")
+ )
+ (fp_poly
+ (pts
+ (xy -2.61 -2.61) (xy -2.85 -2.94) (xy -2.37 -2.94) (xy -2.61 -2.61)
+ )
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (fill solid)
+ (layer "F.SilkS")
+ (uuid "0ef6bf76-f204-4883-b7e6-6340e430e80c")
+ )
+ (fp_line
+ (start -3.13 -3.13)
+ (end -3.13 3.13)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "ecb06725-3975-4a49-b520-908a766b3d64")
+ )
+ (fp_line
+ (start -3.13 3.13)
+ (end 3.13 3.13)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "b1c73fe8-589a-46f3-a028-c643b07914df")
+ )
+ (fp_line
+ (start 3.13 -3.13)
+ (end -3.13 -3.13)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "bf9e7078-c942-4f45-9370-4a9c9990bfa2")
+ )
+ (fp_line
+ (start 3.13 3.13)
+ (end 3.13 -3.13)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "9646be20-7426-44c1-85ad-d6051753e4b5")
+ )
+ (fp_line
+ (start -2.5 -1.5)
+ (end -1.5 -2.5)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "6dc7b25f-1102-4964-b569-7a110ab4d45b")
+ )
+ (fp_line
+ (start -2.5 2.5)
+ (end -2.5 -1.5)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "0a75b070-0137-429a-8da0-f5e2a78bd3e9")
+ )
+ (fp_line
+ (start -1.5 -2.5)
+ (end 2.5 -2.5)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "2bbbe7c7-cd4c-45c0-8618-d382a22da535")
+ )
+ (fp_line
+ (start 2.5 -2.5)
+ (end 2.5 2.5)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "bc5b5edb-ed20-4b4f-ad5f-ebb45af225af")
+ )
+ (fp_line
+ (start 2.5 2.5)
+ (end -2.5 2.5)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "8a0b071e-e43a-4df8-b110-e3061a66c01a")
+ )
+ (fp_text user "${REFERENCE}"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (uuid "863a6d64-ece3-4623-9782-9b5824f61495")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (pad "" smd roundrect
+ (at -0.775 -0.775)
+ (size 1.25 1.25)
+ (layers "F.Paste")
+ (roundrect_rratio 0.2)
+ (uuid "34b77fd6-a81f-4d77-bbb8-4c7832e85f2b")
+ )
+ (pad "" smd roundrect
+ (at -0.775 0.775)
+ (size 1.25 1.25)
+ (layers "F.Paste")
+ (roundrect_rratio 0.2)
+ (uuid "7efdc89e-1409-48a4-99fa-482e9b264c1a")
+ )
+ (pad "" smd roundrect
+ (at 0.775 -0.775)
+ (size 1.25 1.25)
+ (layers "F.Paste")
+ (roundrect_rratio 0.2)
+ (uuid "a67b5ed0-94bc-402c-a4ce-effb07fedafc")
+ )
+ (pad "" smd roundrect
+ (at 0.775 0.775)
+ (size 1.25 1.25)
+ (layers "F.Paste")
+ (roundrect_rratio 0.2)
+ (uuid "67896071-c459-4528-9070-d0a424d807de")
+ )
+ (pad "1" smd roundrect
+ (at -2.4375 -1.75)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 66 "unconnected-(U2-BST_A+-Pad1)")
+ (pinfunction "BST_A+")
+ (pintype "passive")
+ (uuid "abb98cad-42bb-4540-925c-cd97926cf825")
+ )
+ (pad "2" smd roundrect
+ (at -2.4375 -1.25)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 56 "unconnected-(U2-OUT_A+-Pad2)")
+ (pinfunction "OUT_A+")
+ (pintype "output")
+ (uuid "5bc74127-14cc-47cf-b62c-88b1b6546c46")
+ )
+ (pad "3" smd roundrect
+ (at -2.4375 -0.75)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 48 "Net-(U2-PVDD-Pad21)")
+ (pinfunction "PVDD")
+ (pintype "power_in")
+ (uuid "1be1efbc-3f1a-43fb-ad12-d90f9b62f31c")
+ )
+ (pad "4" smd roundrect
+ (at -2.4375 -0.25)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 48 "Net-(U2-PVDD-Pad21)")
+ (pinfunction "PVDD")
+ (pintype "passive")
+ (uuid "75245524-2fea-4742-9645-c9b0aa2cb724")
+ )
+ (pad "5" smd roundrect
+ (at -2.4375 0.25)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 68 "unconnected-(U2-DGND-Pad5)")
+ (pinfunction "DGND")
+ (pintype "power_in")
+ (uuid "dbc86d81-2f30-4f2f-8043-938654d70b0d")
+ )
+ (pad "6" smd roundrect
+ (at -2.4375 0.75)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 73 "unconnected-(U2-DVDD-Pad6)")
+ (pinfunction "DVDD")
+ (pintype "power_in")
+ (uuid "fd4d40e7-2fe5-4ee8-a011-4a7548294c79")
+ )
+ (pad "7" smd roundrect
+ (at -2.4375 1.25)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 51 "unconnected-(U2-VR_DIG-Pad7)")
+ (pinfunction "VR_DIG")
+ (pintype "passive")
+ (uuid "3fb10b20-723b-4db2-9553-71bdba2813d2")
+ )
+ (pad "8" smd roundrect
+ (at -2.4375 1.75)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 59 "unconnected-(U2-ADR-Pad8)")
+ (pinfunction "ADR")
+ (pintype "passive")
+ (uuid "640afa7c-f808-4e59-81ab-db8f351e8917")
+ )
+ (pad "9" smd roundrect
+ (at -1.75 2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 57 "unconnected-(U2-GPIO0-Pad9)")
+ (pinfunction "GPIO0")
+ (pintype "bidirectional")
+ (uuid "62bf56d1-3d41-4ba2-af52-18b43e2461bc")
+ )
+ (pad "10" smd roundrect
+ (at -1.25 2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 63 "unconnected-(U2-GPIO1-Pad10)")
+ (pinfunction "GPIO1")
+ (pintype "bidirectional")
+ (uuid "756bd4e7-c4e7-4dfd-9aeb-388173bc5a8e")
+ )
+ (pad "11" smd roundrect
+ (at -0.75 2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 65 "unconnected-(U2-GPIO2-Pad11)")
+ (pinfunction "GPIO2")
+ (pintype "bidirectional")
+ (uuid "a3b4ea11-c7f3-4cf7-8590-a36b82f44206")
+ )
+ (pad "12" smd roundrect
+ (at -0.25 2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 53 "unconnected-(U2-LRCLK-Pad12)")
+ (pinfunction "LRCLK")
+ (pintype "input")
+ (uuid "534a24ef-e52d-4f30-8952-af729c8d0ef3")
+ )
+ (pad "13" smd roundrect
+ (at 0.25 2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 70 "unconnected-(U2-SCLK-Pad13)")
+ (pinfunction "SCLK")
+ (pintype "input")
+ (uuid "f1f3e33d-c806-495c-a5ba-8292b0fbbc88")
+ )
+ (pad "14" smd roundrect
+ (at 0.75 2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 69 "unconnected-(U2-SDIN-Pad14)")
+ (pinfunction "SDIN")
+ (pintype "input")
+ (uuid "ecc7c129-9a33-4b8d-a3c5-27d13066fac5")
+ )
+ (pad "15" smd roundrect
+ (at 1.25 2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 58 "unconnected-(U2-SDA-Pad15)")
+ (pinfunction "SDA")
+ (pintype "bidirectional")
+ (uuid "63e0cc37-ae69-46fe-82b4-a6af3032b6c8")
+ )
+ (pad "16" smd roundrect
+ (at 1.75 2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 54 "unconnected-(U2-SCL-Pad16)")
+ (pinfunction "SCL")
+ (pintype "input")
+ (uuid "54db65e9-94b7-4634-9a9c-1376f9499909")
+ )
+ (pad "17" smd roundrect
+ (at 2.4375 1.75)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 49 "unconnected-(U2-~{PDN}-Pad17)")
+ (pinfunction "~{PDN}")
+ (pintype "input")
+ (uuid "1ddaa3cc-059d-4d15-a13e-273433a32f41")
+ )
+ (pad "18" smd roundrect
+ (at 2.4375 1.25)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 55 "unconnected-(U2-GVDD-Pad18)")
+ (pinfunction "GVDD")
+ (pintype "passive")
+ (uuid "55b081e5-2a66-4f1f-b7c4-467c572f4348")
+ )
+ (pad "19" smd roundrect
+ (at 2.4375 0.75)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 47 "unconnected-(U2-AVDD-Pad19)")
+ (pinfunction "AVDD")
+ (pintype "passive")
+ (uuid "16a8d244-1677-4d92-bf3b-13efd4a26a89")
+ )
+ (pad "20" smd roundrect
+ (at 2.4375 0.25)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 50 "unconnected-(U2-AGND-Pad20)")
+ (pinfunction "AGND")
+ (pintype "power_in")
+ (uuid "296bcecc-d5b3-4c08-8f57-69eaa6aea6f5")
+ )
+ (pad "21" smd roundrect
+ (at 2.4375 -0.25)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 48 "Net-(U2-PVDD-Pad21)")
+ (pinfunction "PVDD")
+ (pintype "passive")
+ (uuid "c50599d0-b10d-4233-96fd-8d4f68615777")
+ )
+ (pad "22" smd roundrect
+ (at 2.4375 -0.75)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 48 "Net-(U2-PVDD-Pad21)")
+ (pinfunction "PVDD")
+ (pintype "passive")
+ (uuid "39ccf399-41cf-4d4b-9c58-ab7b0475a3dd")
+ )
+ (pad "23" smd roundrect
+ (at 2.4375 -1.25)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 72 "unconnected-(U2-OUT_B+-Pad23)")
+ (pinfunction "OUT_B+")
+ (pintype "output")
+ (uuid "f54509d9-17b6-4b7a-a3ae-4eff5ef5d998")
+ )
+ (pad "24" smd roundrect
+ (at 2.4375 -1.75)
+ (size 0.875 0.25)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 71 "unconnected-(U2-BST_B+-Pad24)")
+ (pinfunction "BST_B+")
+ (pintype "passive")
+ (uuid "f3cafeec-83c6-4f8e-bbdc-e174210e0c9f")
+ )
+ (pad "25" smd roundrect
+ (at 1.75 -2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 52 "Net-(U2-PGND-Pad25)")
+ (pinfunction "PGND")
+ (pintype "power_in")
+ (uuid "b9a04464-ba82-4aa6-9f11-9affcdef7efb")
+ )
+ (pad "26" smd roundrect
+ (at 1.25 -2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 52 "Net-(U2-PGND-Pad25)")
+ (pinfunction "PGND")
+ (pintype "passive")
+ (uuid "4451198d-57d0-41cf-afda-0559b8db9c23")
+ )
+ (pad "27" smd roundrect
+ (at 0.75 -2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 62 "unconnected-(U2-OUT_B--Pad27)")
+ (pinfunction "OUT_B-")
+ (pintype "output")
+ (uuid "6e82254a-325b-4c80-ab20-7f67a771f138")
+ )
+ (pad "28" smd roundrect
+ (at 0.25 -2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 64 "unconnected-(U2-BST_B--Pad28)")
+ (pinfunction "BST_B-")
+ (pintype "passive")
+ (uuid "99622ab8-6b14-49f7-b1b2-25665c86da0e")
+ )
+ (pad "29" smd roundrect
+ (at -0.25 -2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 61 "unconnected-(U2-BST_A--Pad29)")
+ (pinfunction "BST_A-")
+ (pintype "passive")
+ (uuid "6dec495b-ef7a-4765-acee-2cf35ed82e85")
+ )
+ (pad "30" smd roundrect
+ (at -0.75 -2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 67 "unconnected-(U2-OUT_A--Pad30)")
+ (pinfunction "OUT_A-")
+ (pintype "output")
+ (uuid "b0c9eeef-b7eb-467f-ae98-9952f0af21cc")
+ )
+ (pad "31" smd roundrect
+ (at -1.25 -2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 52 "Net-(U2-PGND-Pad25)")
+ (pinfunction "PGND")
+ (pintype "passive")
+ (uuid "cad0b4c5-7a72-400d-acf4-9c8b29d81319")
+ )
+ (pad "32" smd roundrect
+ (at -1.75 -2.4375)
+ (size 0.25 0.875)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 52 "Net-(U2-PGND-Pad25)")
+ (pinfunction "PGND")
+ (pintype "passive")
+ (uuid "fc28168e-f9e2-44fa-9fb4-6b381c20c096")
+ )
+ (pad "33" smd rect
+ (at 0 0)
+ (size 3.1 3.1)
+ (property pad_prop_heatsink)
+ (layers "F.Cu" "F.Mask")
+ (net 60 "unconnected-(U2-EP-Pad33)")
+ (pinfunction "EP")
+ (pintype "passive")
+ (zone_connect 2)
+ (uuid "6aa2e2ab-6b76-46cc-aec7-686f9f369076")
+ )
+ (model "${KICAD8_3DMODEL_DIR}/Package_DFN_QFN.3dshapes/VQFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm.wrl"
+ (offset
+ (xyz 0 0 0)
+ )
+ (scale
+ (xyz 1 1 1)
+ )
+ (rotate
+ (xyz 0 0 0)
+ )
+ )
+ )
+ (footprint "Package_SO:SOIC-8_5.23x5.23mm_P1.27mm"
+ (layer "F.Cu")
+ (uuid "b91d3878-02f0-4b36-a6d7-706616bfef3b")
+ (at 135 94.905)
+ (descr "SOIC, 8 Pin (http://www.winbond.com/resource-files/w25q32jv%20revg%2003272018%20plus.pdf#page=68), generated with kicad-footprint-generator ipc_gullwing_generator.py")
+ (tags "SOIC SO")
+ (property "Reference" "U3"
+ (at 0 -3.56 0)
+ (layer "F.SilkS")
+ (uuid "db5f0f21-2db5-4f56-9eb7-64db31ac9d64")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Value" "W25Q32JVSS"
+ (at 0 3.56 0)
+ (layer "F.Fab")
+ (uuid "6d817481-adfb-42f1-8416-98cd79c5e82d")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Footprint" "Package_SO:SOIC-8_5.23x5.23mm_P1.27mm"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "31f0d802-0c96-4e77-b51f-b3d243c09824")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Datasheet" "http://www.winbond.com/resource-files/w25q32jv%20revg%2003272018%20plus.pdf"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "74797464-860e-4aff-b06e-411ab5e7fb83")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Description" "External flash"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "7399f53d-479e-4aa6-a6da-b13b6f30e8b6")
+ (effects
+ (font
+ (size 1.27 1.27)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "5bb88b5d-45ca-4202-9e96-ef614009a365")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property "Manufacturer" ""
+ (at 0 0 0)
+ (unlocked yes)
+ (layer "F.Fab")
+ (hide yes)
+ (uuid "b893d00d-4a91-4484-9fd7-b6c6f7c6ad6d")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (property ki_fp_filters "SOIC*5.23x5.23mm*P1.27mm*")
+ (path "/2a49ee48-3849-4608-89d2-57d8e20c4e48")
+ (sheetname "Root")
+ (sheetfile "soundbox.kicad_sch")
+ (attr smd)
+ (fp_line
+ (start -2.725 -2.725)
+ (end -2.725 -2.465)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "bd69302c-2e69-4b94-9892-dc2b935ae689")
+ )
+ (fp_line
+ (start -2.725 2.725)
+ (end -2.725 2.465)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "d89f01b0-2670-4c02-bea3-9571a7038802")
+ )
+ (fp_line
+ (start 0 -2.725)
+ (end -2.725 -2.725)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "0822b0e3-ce2f-4c71-a866-445843e78930")
+ )
+ (fp_line
+ (start 0 -2.725)
+ (end 2.725 -2.725)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "7ec35c54-9e5b-4fb2-83a9-7f80a293a8f9")
+ )
+ (fp_line
+ (start 0 2.725)
+ (end -2.725 2.725)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "8c7b6e60-205a-489a-8866-17e2978a9ef2")
+ )
+ (fp_line
+ (start 0 2.725)
+ (end 2.725 2.725)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "063be99f-d754-4530-acc7-ed0636d5ce6b")
+ )
+ (fp_line
+ (start 2.725 -2.725)
+ (end 2.725 -2.465)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "f9ac65ab-61f8-4232-855f-88131bc8d3a9")
+ )
+ (fp_line
+ (start 2.725 2.725)
+ (end 2.725 2.465)
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (layer "F.SilkS")
+ (uuid "6ac12034-3925-4330-beb5-a6274b6c7fd8")
+ )
+ (fp_poly
+ (pts
+ (xy -3.5075 -2.465) (xy -3.7475 -2.795) (xy -3.2675 -2.795) (xy -3.5075 -2.465)
+ )
+ (stroke
+ (width 0.12)
+ (type solid)
+ )
+ (fill solid)
+ (layer "F.SilkS")
+ (uuid "ebeabe3d-71c1-4251-a3c5-31eeffe9d963")
+ )
+ (fp_line
+ (start -4.65 -2.86)
+ (end -4.65 2.86)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "23473d86-3112-4ad2-8320-b1818bff97a2")
+ )
+ (fp_line
+ (start -4.65 2.86)
+ (end 4.65 2.86)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "61d0bc54-4bcd-4c4c-b12c-9ce6386eb5c5")
+ )
+ (fp_line
+ (start 4.65 -2.86)
+ (end -4.65 -2.86)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "b655f6bd-3503-4797-a917-8d7d4afeeee8")
+ )
+ (fp_line
+ (start 4.65 2.86)
+ (end 4.65 -2.86)
+ (stroke
+ (width 0.05)
+ (type solid)
+ )
+ (layer "F.CrtYd")
+ (uuid "790f50b5-4fc0-4487-9a93-278c0a63ff84")
+ )
+ (fp_line
+ (start -2.615 -1.615)
+ (end -1.615 -2.615)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "ddf34d31-fde8-41e9-8fac-cafc3ec057b6")
+ )
+ (fp_line
+ (start -2.615 2.615)
+ (end -2.615 -1.615)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "c2cfd6bb-d93f-40f3-aa01-4e879e64ec93")
+ )
+ (fp_line
+ (start -1.615 -2.615)
+ (end 2.615 -2.615)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "6bbc5319-a308-4588-9707-9b20a5987d3f")
+ )
+ (fp_line
+ (start 2.615 -2.615)
+ (end 2.615 2.615)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "1acc214e-a868-4f59-8caa-b3942a01c67c")
+ )
+ (fp_line
+ (start 2.615 2.615)
+ (end -2.615 2.615)
+ (stroke
+ (width 0.1)
+ (type solid)
+ )
+ (layer "F.Fab")
+ (uuid "30fe2847-e8dc-49b6-9ee3-5269b426db6c")
+ )
+ (fp_text user "${REFERENCE}"
+ (at 0 0 0)
+ (layer "F.Fab")
+ (uuid "6fc0a2a8-8618-4dfa-ba64-e90af779e466")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.15)
+ )
+ )
+ )
+ (pad "1" smd roundrect
+ (at -3.6 -1.905)
+ (size 1.6 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 77 "unconnected-(U3-~{CS}-Pad1)")
+ (pinfunction "~{CS}")
+ (pintype "input")
+ (uuid "43132f80-7015-43fe-9018-d3ef7e114d77")
+ )
+ (pad "2" smd roundrect
+ (at -3.6 -0.635)
+ (size 1.6 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 79 "unconnected-(U3-DO(IO1)-Pad2)")
+ (pinfunction "DO(IO1)")
+ (pintype "bidirectional")
+ (uuid "651a0754-68a1-40e8-964d-92e0539b2235")
+ )
+ (pad "3" smd roundrect
+ (at -3.6 0.635)
+ (size 1.6 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 74 "unconnected-(U3-IO2-Pad3)")
+ (pinfunction "IO2")
+ (pintype "bidirectional")
+ (uuid "0d7f24e5-51b1-4b3e-a0c2-21d8c406af50")
+ )
+ (pad "4" smd roundrect
+ (at -3.6 1.905)
+ (size 1.6 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 75 "unconnected-(U3-GND-Pad4)")
+ (pinfunction "GND")
+ (pintype "power_in")
+ (uuid "208fe0d5-790c-4069-997a-083513c3c920")
+ )
+ (pad "5" smd roundrect
+ (at 3.6 1.905)
+ (size 1.6 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 76 "unconnected-(U3-DI(IO0)-Pad5)")
+ (pinfunction "DI(IO0)")
+ (pintype "bidirectional")
+ (uuid "31379fea-8a7d-4759-ac76-0c944c768298")
+ )
+ (pad "6" smd roundrect
+ (at 3.6 0.635)
+ (size 1.6 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 81 "unconnected-(U3-CLK-Pad6)")
+ (pinfunction "CLK")
+ (pintype "input")
+ (uuid "6c8322d5-0fc0-4fc7-9216-8a3b73dfe0ec")
+ )
+ (pad "7" smd roundrect
+ (at 3.6 -0.635)
+ (size 1.6 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 78 "unconnected-(U3-IO3-Pad7)")
+ (pinfunction "IO3")
+ (pintype "bidirectional")
+ (uuid "5e4045e4-4cd1-4bef-ac0a-dfd1beeda44a")
+ )
+ (pad "8" smd roundrect
+ (at 3.6 -1.905)
+ (size 1.6 0.6)
+ (layers "F.Cu" "F.Paste" "F.Mask")
+ (roundrect_rratio 0.25)
+ (net 80 "unconnected-(U3-VCC-Pad8)")
+ (pinfunction "VCC")
+ (pintype "power_in")
+ (uuid "658f3764-5bb9-428c-abaa-b06d5ddf160f")
+ )
+ (model "${KICAD8_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-8_5.23x5.23mm_P1.27mm.wrl"
+ (offset
+ (xyz 0 0 0)
+ )
+ (scale
+ (xyz 1 1 1)
+ )
+ (rotate
+ (xyz 0 0 0)
+ )
+ )
+ )
+ (gr_rect
+ (start 110 70)
+ (end 180 130)
+ (stroke
+ (width 0.05)
+ (type default)
+ )
+ (fill none)
+ (layer "Edge.Cuts")
+ (uuid "6e560e1f-034c-4809-b698-99d3ec7c84f6")
+ )
+ (gr_text "soundbox"
+ (at 164 126 0)
+ (layer "F.SilkS")
+ (uuid "aca5b3df-70e8-438b-9b9f-b23a38e3db4a")
+ (effects
+ (font
+ (size 1 1)
+ (thickness 0.1)
+ )
+ (justify left bottom)
+ )
+ )
+)
diff --git a/pcb/soundbox.kicad_prl b/pcb/soundbox.kicad_prl
deleted file mode 100644
index 0b1d2ff..0000000
--- a/pcb/soundbox.kicad_prl
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "board": {
- "active_layer": 0,
- "active_layer_preset": "",
- "auto_track_width": true,
- "hidden_netclasses": [],
- "hidden_nets": [],
- "high_contrast_mode": 0,
- "net_color_mode": 1,
- "opacity": {
- "images": 0.6,
- "pads": 1.0,
- "tracks": 1.0,
- "vias": 1.0,
- "zones": 0.6
- },
- "selection_filter": {
- "dimensions": true,
- "footprints": true,
- "graphics": true,
- "keepouts": true,
- "lockedItems": false,
- "otherItems": true,
- "pads": true,
- "text": true,
- "tracks": true,
- "vias": true,
- "zones": true
- },
- "visible_items": [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 8,
- 9,
- 10,
- 11,
- 12,
- 13,
- 15,
- 16,
- 17,
- 18,
- 19,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- 30,
- 32,
- 33,
- 34,
- 35,
- 36,
- 39,
- 40
- ],
- "visible_layers": "fffffff_ffffffff",
- "zone_display_mode": 0
- },
- "git": {
- "repo_password": "",
- "repo_type": "",
- "repo_username": "",
- "ssh_key": ""
- },
- "meta": {
- "filename": "soundbox.kicad_prl",
- "version": 3
- },
- "project": {
- "files": []
- }
-}
diff --git a/pcb/soundbox.kicad_pro b/pcb/soundbox.kicad_pro
index 300ae66..61d579e 100644
--- a/pcb/soundbox.kicad_pro
+++ b/pcb/soundbox.kicad_pro
@@ -2,12 +2,204 @@
"board": {
"3dviewports": [],
"design_settings": {
- "defaults": {},
+ "defaults": {
+ "apply_defaults_to_fp_fields": false,
+ "apply_defaults_to_fp_shapes": false,
+ "apply_defaults_to_fp_text": false,
+ "board_outline_line_width": 0.05,
+ "copper_line_width": 0.2,
+ "copper_text_italic": false,
+ "copper_text_size_h": 1.5,
+ "copper_text_size_v": 1.5,
+ "copper_text_thickness": 0.3,
+ "copper_text_upright": false,
+ "courtyard_line_width": 0.05,
+ "dimension_precision": 4,
+ "dimension_units": 3,
+ "dimensions": {
+ "arrow_length": 1270000,
+ "extension_offset": 500000,
+ "keep_text_aligned": true,
+ "suppress_zeroes": false,
+ "text_position": 0,
+ "units_format": 1
+ },
+ "fab_line_width": 0.1,
+ "fab_text_italic": false,
+ "fab_text_size_h": 1.0,
+ "fab_text_size_v": 1.0,
+ "fab_text_thickness": 0.15,
+ "fab_text_upright": false,
+ "other_line_width": 0.1,
+ "other_text_italic": false,
+ "other_text_size_h": 1.0,
+ "other_text_size_v": 1.0,
+ "other_text_thickness": 0.15,
+ "other_text_upright": false,
+ "pads": {
+ "drill": 0.762,
+ "height": 1.524,
+ "width": 1.524
+ },
+ "silk_line_width": 0.1,
+ "silk_text_italic": false,
+ "silk_text_size_h": 1.0,
+ "silk_text_size_v": 1.0,
+ "silk_text_thickness": 0.1,
+ "silk_text_upright": false,
+ "zones": {
+ "min_clearance": 0.5
+ }
+ },
"diff_pair_dimensions": [],
"drc_exclusions": [],
- "rules": {},
+ "meta": {
+ "version": 2
+ },
+ "rule_severities": {
+ "annular_width": "error",
+ "clearance": "error",
+ "connection_width": "warning",
+ "copper_edge_clearance": "error",
+ "copper_sliver": "warning",
+ "courtyards_overlap": "error",
+ "diff_pair_gap_out_of_range": "error",
+ "diff_pair_uncoupled_length_too_long": "error",
+ "drill_out_of_range": "error",
+ "duplicate_footprints": "warning",
+ "extra_footprint": "warning",
+ "footprint": "error",
+ "footprint_symbol_mismatch": "warning",
+ "footprint_type_mismatch": "ignore",
+ "hole_clearance": "error",
+ "hole_near_hole": "error",
+ "holes_co_located": "warning",
+ "invalid_outline": "error",
+ "isolated_copper": "warning",
+ "item_on_disabled_layer": "error",
+ "items_not_allowed": "error",
+ "length_out_of_range": "error",
+ "lib_footprint_issues": "warning",
+ "lib_footprint_mismatch": "warning",
+ "malformed_courtyard": "error",
+ "microvia_drill_out_of_range": "error",
+ "missing_courtyard": "ignore",
+ "missing_footprint": "warning",
+ "net_conflict": "warning",
+ "npth_inside_courtyard": "ignore",
+ "padstack": "warning",
+ "pth_inside_courtyard": "ignore",
+ "shorting_items": "error",
+ "silk_edge_clearance": "warning",
+ "silk_over_copper": "warning",
+ "silk_overlap": "warning",
+ "skew_out_of_range": "error",
+ "solder_mask_bridge": "error",
+ "starved_thermal": "error",
+ "text_height": "warning",
+ "text_thickness": "warning",
+ "through_hole_pad_without_hole": "error",
+ "too_many_vias": "error",
+ "track_dangling": "warning",
+ "track_width": "error",
+ "tracks_crossing": "error",
+ "unconnected_items": "error",
+ "unresolved_variable": "error",
+ "via_dangling": "warning",
+ "zones_intersect": "error"
+ },
+ "rules": {
+ "max_error": 0.005,
+ "min_clearance": 0.0,
+ "min_connection": 0.0,
+ "min_copper_edge_clearance": 0.5,
+ "min_hole_clearance": 0.25,
+ "min_hole_to_hole": 0.25,
+ "min_microvia_diameter": 0.2,
+ "min_microvia_drill": 0.1,
+ "min_resolved_spokes": 2,
+ "min_silk_clearance": 0.0,
+ "min_text_height": 0.8,
+ "min_text_thickness": 0.08,
+ "min_through_hole_diameter": 0.3,
+ "min_track_width": 0.0,
+ "min_via_annular_width": 0.1,
+ "min_via_diameter": 0.5,
+ "solder_mask_to_copper_clearance": 0.0,
+ "use_height_for_length_calcs": true
+ },
+ "teardrop_options": [
+ {
+ "td_onpadsmd": true,
+ "td_onroundshapesonly": false,
+ "td_ontrackend": false,
+ "td_onviapad": true
+ }
+ ],
+ "teardrop_parameters": [
+ {
+ "td_allow_use_two_tracks": true,
+ "td_curve_segcount": 0,
+ "td_height_ratio": 1.0,
+ "td_length_ratio": 0.5,
+ "td_maxheight": 2.0,
+ "td_maxlen": 1.0,
+ "td_on_pad_in_zone": false,
+ "td_target_name": "td_round_shape",
+ "td_width_to_size_filter_ratio": 0.9
+ },
+ {
+ "td_allow_use_two_tracks": true,
+ "td_curve_segcount": 0,
+ "td_height_ratio": 1.0,
+ "td_length_ratio": 0.5,
+ "td_maxheight": 2.0,
+ "td_maxlen": 1.0,
+ "td_on_pad_in_zone": false,
+ "td_target_name": "td_rect_shape",
+ "td_width_to_size_filter_ratio": 0.9
+ },
+ {
+ "td_allow_use_two_tracks": true,
+ "td_curve_segcount": 0,
+ "td_height_ratio": 1.0,
+ "td_length_ratio": 0.5,
+ "td_maxheight": 2.0,
+ "td_maxlen": 1.0,
+ "td_on_pad_in_zone": false,
+ "td_target_name": "td_track_end",
+ "td_width_to_size_filter_ratio": 0.9
+ }
+ ],
"track_widths": [],
- "via_dimensions": []
+ "tuning_pattern_settings": {
+ "diff_pair_defaults": {
+ "corner_radius_percentage": 80,
+ "corner_style": 1,
+ "max_amplitude": 1.0,
+ "min_amplitude": 0.2,
+ "single_sided": false,
+ "spacing": 1.0
+ },
+ "diff_pair_skew_defaults": {
+ "corner_radius_percentage": 80,
+ "corner_style": 1,
+ "max_amplitude": 1.0,
+ "min_amplitude": 0.2,
+ "single_sided": false,
+ "spacing": 0.6
+ },
+ "single_track_defaults": {
+ "corner_radius_percentage": 80,
+ "corner_style": 1,
+ "max_amplitude": 1.0,
+ "min_amplitude": 0.2,
+ "single_sided": false,
+ "spacing": 0.6
+ }
+ },
+ "via_dimensions": [],
+ "zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
@@ -335,11 +527,35 @@
"label": "DNP",
"name": "${DNP}",
"show": true
+ },
+ {
+ "group_by": false,
+ "label": "#",
+ "name": "${ITEM_NUMBER}",
+ "show": false
+ },
+ {
+ "group_by": false,
+ "label": "Description",
+ "name": "Description",
+ "show": false
+ },
+ {
+ "group_by": false,
+ "label": "Manufacturer",
+ "name": "Manufacturer",
+ "show": false
+ },
+ {
+ "group_by": false,
+ "label": "MPN",
+ "name": "MPN",
+ "show": false
}
],
"filter_string": "",
"group_symbols": true,
- "name": "Grouped By Value",
+ "name": "",
"sort_asc": true,
"sort_field": "Reference"
},
diff --git a/pcb/soundbox.kicad_sch b/pcb/soundbox.kicad_sch
index 4fc6e07..2afee8b 100644
--- a/pcb/soundbox.kicad_sch
+++ b/pcb/soundbox.kicad_sch
@@ -4375,14 +4375,32 @@
(hide yes)
)
)
- (property "Description" "Microcontroller and WLAN interface"
- (at 165.354 67.818 0)
+ (property "Description" "Microcontroller with WLAN"
+ (at 161.036 67.818 0)
(effects
(font
(size 1.27 1.27)
)
)
)
+ (property "MPN" " ESP32-S3-MINI-1-N8"
+ (at 146.05 97.79 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" " Espressif Systems "
+ (at 146.05 97.79 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "45"
(uuid "12a82820-4fb5-4385-bad0-67d946ab003b")
)
@@ -4632,14 +4650,32 @@
(hide yes)
)
)
- (property "Description" "External flash memory"
- (at 154.432 152.4 0)
+ (property "Description" "External flash"
+ (at 150.368 152.4 0)
(effects
(font
(size 1.27 1.27)
)
)
)
+ (property "MPN" ""
+ (at 134.62 148.59 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 134.62 148.59 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "1"
(uuid "f8e43f2e-c8aa-459f-b094-91b934942cfb")
)
@@ -4718,12 +4754,30 @@
(hide yes)
)
)
- (property "Description" "JTAG connector"
- (at 60.96 103.124 0)
+ (property "Description" "JTAG"
+ (at 66.294 102.87 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 80.01 99.06 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 80.01 99.06 0)
(effects
(font
(size 1.27 1.27)
)
+ (hide yes)
)
)
(pin "8"
@@ -4790,7 +4844,7 @@
)
)
)
- (property "Footprint" ""
+ (property "Footprint" "Button_Switch_SMD:SW_SPST_TL3305A"
(at 146.05 41.91 0)
(effects
(font
@@ -4808,7 +4862,7 @@
(hide yes)
)
)
- (property "Description" "Reset button"
+ (property "Description" "Reset"
(at 146.05 48.514 0)
(effects
(font
@@ -4816,6 +4870,24 @@
)
)
)
+ (property "MPN" ""
+ (at 146.05 46.99 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 146.05 46.99 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "2"
(uuid "5c08de40-9b2c-4f42-8680-c393355f7df1")
)
@@ -4876,12 +4948,30 @@
(hide yes)
)
)
- (property "Description" "Right audio channel connector"
- (at 266.446 59.436 0)
+ (property "Description" "Right audio channel"
+ (at 270.256 59.69 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 259.08 54.61 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 259.08 54.61 0)
(effects
(font
(size 1.27 1.27)
)
+ (hide yes)
)
)
(pin "2"
@@ -4944,12 +5034,30 @@
(hide yes)
)
)
- (property "Description" "Left audio channel connector"
- (at 266.446 46.736 0)
+ (property "Description" "Left audio channel"
+ (at 269.494 46.736 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 259.08 41.91 0)
(effects
(font
(size 1.27 1.27)
)
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 259.08 41.91 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
)
)
(pin "2"
@@ -5022,6 +5130,24 @@
(hide yes)
)
)
+ (property "MPN" ""
+ (at 215.9 105.41 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 215.9 105.41 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "1"
(uuid "bd26713c-21af-4796-83ef-2b687164dc74")
)
@@ -5080,7 +5206,7 @@
(hide yes)
)
)
- (property "Description" "USB-C connector"
+ (property "Description" "USB-C"
(at 33.02 21.082 0)
(effects
(font
@@ -5088,6 +5214,24 @@
)
)
)
+ (property "MPN" "12401610E4#2A"
+ (at 33.02 50.8 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" "Amphenol ICC (Commercial Products)"
+ (at 33.02 50.8 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "A6"
(uuid "8fdbcb1b-9385-484d-be40-f7e8d6c0ba7b")
)
@@ -5197,7 +5341,7 @@
)
)
)
- (property "Footprint" ""
+ (property "Footprint" "Button_Switch_SMD:SW_SPST_TL3305A"
(at 146.05 26.67 0)
(effects
(font
@@ -5215,7 +5359,7 @@
(hide yes)
)
)
- (property "Description" "Factory reset button"
+ (property "Description" "Factory reset"
(at 146.05 33.528 0)
(effects
(font
@@ -5223,6 +5367,24 @@
)
)
)
+ (property "MPN" ""
+ (at 146.05 31.75 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 146.05 31.75 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "2"
(uuid "1211eb0b-56d4-46b0-8bf6-0b545164d36a")
)
@@ -5283,12 +5445,30 @@
(hide yes)
)
)
- (property "Description" "Configuration EEPROM memory"
- (at 207.772 132.588 0)
+ (property "Description" "Configuration EEPROM"
+ (at 203.454 132.588 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 190.5 139.7 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 190.5 139.7 0)
(effects
(font
(size 1.27 1.27)
)
+ (hide yes)
)
)
(pin "1"
@@ -5379,6 +5559,24 @@
(hide yes)
)
)
+ (property "MPN" ""
+ (at 203.2 105.41 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 203.2 105.41 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "1"
(uuid "dca5e0af-8be1-49af-b1a1-f2ab720c8c1b")
)
@@ -5447,6 +5645,24 @@
)
)
)
+ (property "MPN" ""
+ (at 229.87 50.8 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 229.87 50.8 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "19"
(uuid "457be5a9-b658-4df7-b408-eff5a98d2b07")
)
@@ -5610,6 +5826,24 @@
(hide yes)
)
)
+ (property "MPN" ""
+ (at 241.3 120.65 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 241.3 120.65 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "1"
(uuid "fe36a61c-0282-4f3c-ae74-685380e23dca")
)
@@ -5670,12 +5904,30 @@
(hide yes)
)
)
- (property "Description" "ACT LED"
- (at 195.072 99.06 90)
+ (property "Description" "ACT"
+ (at 196.088 98.298 90)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 190.5 92.71 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 190.5 92.71 0)
(effects
(font
(size 1.27 1.27)
)
+ (hide yes)
)
)
(pin "1"
@@ -5748,6 +6000,24 @@
(hide yes)
)
)
+ (property "MPN" ""
+ (at 241.3 107.95 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 241.3 107.95 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "1"
(uuid "ad6d1094-ce47-4057-9dbb-b6a6e2299a70")
)
@@ -5818,6 +6088,24 @@
(hide yes)
)
)
+ (property "MPN" ""
+ (at 190.5 105.41 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 190.5 105.41 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "1"
(uuid "12ce2766-4c96-4c57-8488-e38aecb3a7fe")
)
@@ -5878,12 +6166,30 @@
(hide yes)
)
)
- (property "Description" "PWR LED"
- (at 220.726 99.06 90)
+ (property "Description" "PWR"
+ (at 221.742 98.044 90)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ )
+ )
+ (property "MPN" ""
+ (at 215.9 92.71 0)
(effects
(font
(size 1.27 1.27)
)
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 215.9 92.71 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
)
)
(pin "1"
@@ -5946,14 +6252,32 @@
(hide yes)
)
)
- (property "Description" "BTL LED"
- (at 207.772 99.06 90)
+ (property "Description" "BTL"
+ (at 208.788 98.044 90)
(effects
(font
(size 1.27 1.27)
)
)
)
+ (property "MPN" ""
+ (at 203.2 92.71 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
+ (property "Manufacturer" ""
+ (at 203.2 92.71 0)
+ (effects
+ (font
+ (size 1.27 1.27)
+ )
+ (hide yes)
+ )
+ )
(pin "1"
(uuid "93ec7c79-922a-4675-bebb-cfbab9971fd5")
)