Browse Source

Merge branch 'feature_pcb' of thomas/drumkit into master

Thomas B 2 months ago
parent
commit
b80e5759cd

+ 1
- 0
.gitignore View File

@@ -1,2 +1,3 @@
1 1
 build
2 2
 .directory
3
+.DS_Store

+ 16
- 0
3dprint/tamb_mount.json View File

@@ -0,0 +1,16 @@
1
+{
2
+    "fileFormatVersion": "1",
3
+    "parameterSets": {
4
+        "New set 1": {
5
+            "air": "1",
6
+            "beam_width": "7",
7
+            "hole": "3",
8
+            "hole_tamb": "23",
9
+            "id_tamb": "239",
10
+            "lip": "3",
11
+            "od_tamb": "251",
12
+            "part": "outer",
13
+            "wall": "1.6000000000000001"
14
+        }
15
+    }
16
+}

+ 57
- 0
3dprint/tamb_mount.scad View File

@@ -0,0 +1,57 @@
1
+$fa=1/1;
2
+$fs=1/2;
3
+bissl=1/100;
4
+part="inner";//[inner,outer,all_visualize]
5
+od_tamb=251;
6
+id_tamb=239;
7
+wall_tamb=(od_tamb-id_tamb)/2;
8
+hole_tamb=23;
9
+lip=3;
10
+air=1;
11
+hole=3;
12
+wall=1.6;
13
+beam_width=7;
14
+module inner_mount() {
15
+  difference() {
16
+    union() {
17
+      intersection() {
18
+        cylinder(d=hole_tamb+2*lip-2*air,h=2*lip+wall_tamb);
19
+        translate([0,0,-id_tamb/2+2*lip])rotate([90,0,0])cylinder(d=id_tamb,h=hole_tamb+2*lip,center=true);
20
+      }
21
+      intersection() {
22
+        cylinder(d=hole_tamb-2*air,h=2*lip+wall_tamb);
23
+        translate([0,0,-id_tamb/2+2*lip])rotate([90,0,0])cylinder(d=id_tamb+wall_tamb-air,h=hole_tamb+2*lip,center=true);
24
+      }
25
+    }
26
+    hull() {
27
+      translate([0,hole_tamb/2-air-hole/2-wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
28
+      translate([0,-hole_tamb/2+air+hole/2+wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
29
+    }
30
+    translate([-beam_width/2-air/2,-hole_tamb/2-lip,-bissl]) cube([beam_width+air,hole_tamb+2*lip,lip]);
31
+  }
32
+}
33
+
34
+module outer_mount() {
35
+  difference() {
36
+    union() {
37
+      difference(){
38
+        cylinder(d=hole_tamb+2*lip-2*air,h=2*lip+wall_tamb);
39
+        translate([0,0,od_tamb/2+lip])rotate([90,0,0])cylinder(d=od_tamb,h=hole_tamb+2*lip,center=true);
40
+      }
41
+      difference(){
42
+        cylinder(d=hole_tamb-2*air,h=2*lip+wall_tamb);
43
+        translate([0,0,od_tamb/2+lip])rotate([90,0,0])cylinder(d=od_tamb-wall_tamb+air,h=hole_tamb+2*lip,center=true);
44
+      }
45
+    }
46
+    hull() {
47
+      translate([0,hole_tamb/2-air-hole/2-wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
48
+      translate([0,-hole_tamb/2+air+hole/2+wall,-bissl])cylinder(h=wall_tamb+3*lip+2*bissl,d=hole);
49
+    }
50
+  }
51
+}
52
+if (part=="inner") inner_mount();
53
+if (part=="outer") outer_mount();
54
+if (part=="all_visualize") {
55
+  inner_mount();
56
+  translate([0,0,wall_tamb+3*lip])rotate([180,0,0])outer_mount();
57
+  }

BIN
3dprint/tamb_mount_inner.stl View File


BIN
3dprint/tamb_mount_outer.stl View File


+ 17
- 15
README.md View File

@@ -23,25 +23,27 @@ Flash as usual using the mass storage bootloader (hold BOOTSEL while pluggin in
23 23
 
24 24
 ## Hardware Connections
25 25
 
26
-    Pin 1    GP0    I2C SDA
27
-    Pin 2    GP1    I2C SCL
26
+    Pin 1    GP0    I2C0 SDA
27
+    Pin 2    GP1    I2C0 SCL
28 28
 
29
-    Pin 4    GP2    Output Channel A
30
-    Pin 5    GP3    Output Channel B
31
-    Pin 6    GP4    Output Channel C
29
+    Pin 29   GP22   Output Channel A
30
+    Pin 31   GP26   Output Channel B
31
+    Pin 32   GP27   Output Channel C
32 32
 
33
-    Pin 7    GP5    Button 1
34
-    Pin 9    GP6    Button 2
35
-    Pin 10   GP7    Button 3
36
-    Pin 11   GP8    Button 4
33
+    Pin 34   GP28   Vbat (ADC2)
37 34
 
38
-    Pin 12   GP9    Encoder A
39
-    Pin 14   GP10   Encoder B
40
-    Pin 15   GP11   Encoder Click
35
+    Pin 11   GP8    Button 1
36
+    Pin 12   GP9    Button 2
37
+    Pin 16   GP12   Button 3
38
+    Pin 19   GP14   Button 4
41 39
 
42
-    Pin 16   GP12   LED 1
43
-    Pin 17   GP13   LED 2
44
-    Pin 19   GP14   LED 3
40
+    Pin 22   GP17   Encoder A
41
+    Pin 24   GP18   Encoder B
42
+    Pin 21   GP16   Encoder Click
43
+
44
+    Pin 14   GP10   LED 1
45
+    Pin 15   GP11   LED 2
46
+    Pin 17   GP13   LED 3
45 47
     Pin 20   GP15   LED 4
46 48
 
47 49
 ## License

+ 3
- 0
pcb/Mini360_lib/mini360.dcm View File

@@ -0,0 +1,3 @@
1
+EESchema-DOCLIB  Version 2.0
2
+#
3
+#End Doc Library

+ 20
- 0
pcb/Mini360_lib/mini360.lib View File

@@ -0,0 +1,20 @@
1
+EESchema-LIBRARY Version 2.3
2
+#encoding utf-8
3
+#
4
+# Mini360
5
+#
6
+DEF Mini360 U 0 40 Y Y 1 F N
7
+F0 "U" 0 -200 60 H V C CNN
8
+F1 "Mini360" 0 200 60 H V C CNN
9
+F2 "" 0 0 60 H I C CNN
10
+F3 "" 0 0 60 H I C CNN
11
+DRAW
12
+S -400 300 400 -300 0 1 0 f
13
+X IN- 1 -600 -100 200 R 50 50 1 1 W
14
+X IN+ 2 -600 100 200 R 50 50 1 1 W
15
+X OUT- 3 600 -100 200 L 50 50 1 1 w
16
+X OUT+ 4 600 100 200 L 50 50 1 1 w
17
+ENDDRAW
18
+ENDDEF
19
+#
20
+#End Library

+ 16
- 0
pcb/Mini360_step-down.pretty/Mini360_step-down.kicad_mod View File

@@ -0,0 +1,16 @@
1
+(module "Mini360 step-down" (layer F.Cu) (tedit 5B7ACF15)
2
+  (fp_text reference REF** (at 0 0.5) (layer F.SilkS)
3
+    (effects (font (size 1 1) (thickness 0.15)))
4
+  )
5
+  (fp_text value Mini360 (at 0 -0.5) (layer F.Fab)
6
+    (effects (font (size 1 1) (thickness 0.15)))
7
+  )
8
+  (fp_line (start -8.75 -5.54) (end 8.75 -5.54) (layer F.SilkS) (width 0.15))
9
+  (fp_line (start 8.75 5.53) (end -8.75 5.53) (layer F.SilkS) (width 0.15))
10
+  (fp_line (start -8.75 -5.54) (end -8.75 5.53) (layer F.SilkS) (width 0.15))
11
+  (fp_line (start 8.75 5.53) (end 8.75 -5.54) (layer F.SilkS) (width 0.15))
12
+  (pad 1 thru_hole oval (at -7.62 -4.57) (size 2.5 2) (drill 0.762) (layers *.Cu *.Mask))
13
+  (pad 2 thru_hole oval (at -7.62 4.57) (size 2.5 2) (drill 0.762) (layers *.Cu *.Mask))
14
+  (pad 3 thru_hole oval (at 7.62 -4.57) (size 2.5 2) (drill 0.762) (layers *.Cu *.Mask))
15
+  (pad 4 thru_hole oval (at 7.62 4.57) (size 2.5 2) (drill 0.762) (layers *.Cu *.Mask))
16
+)

+ 124
- 0
pcb/chinese_modules.kicad_sym View File

@@ -0,0 +1,124 @@
1
+(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
2
+  (symbol "charger" (in_bom yes) (on_board yes)
3
+    (property "Reference" "U" (at 0 0 0)
4
+      (effects (font (size 1.27 1.27)))
5
+    )
6
+    (property "Value" "" (at 0 0 0)
7
+      (effects (font (size 1.27 1.27)))
8
+    )
9
+    (property "Footprint" "" (at 0 0 0)
10
+      (effects (font (size 1.27 1.27)) hide)
11
+    )
12
+    (property "Datasheet" "" (at 0 0 0)
13
+      (effects (font (size 1.27 1.27)) hide)
14
+    )
15
+    (symbol "charger_0_1"
16
+      (rectangle (start -6.35 5.08) (end 6.35 -5.08)
17
+        (stroke (width 0) (type default))
18
+        (fill (type none))
19
+      )
20
+    )
21
+    (symbol "charger_1_1"
22
+      (pin input line (at 8.89 2.54 180) (length 2.54)
23
+        (name "Vin+" (effects (font (size 1.27 1.27))))
24
+        (number "1" (effects (font (size 1.27 1.27))))
25
+      )
26
+      (pin input line (at 8.89 -2.54 180) (length 2.54)
27
+        (name "Vin-" (effects (font (size 1.27 1.27))))
28
+        (number "2" (effects (font (size 1.27 1.27))))
29
+      )
30
+      (pin input line (at -8.89 2.54 0) (length 2.54)
31
+        (name "B+" (effects (font (size 1.27 1.27))))
32
+        (number "3" (effects (font (size 1.27 1.27))))
33
+      )
34
+      (pin input line (at -8.89 -2.54 0) (length 2.54)
35
+        (name "B-" (effects (font (size 1.27 1.27))))
36
+        (number "4" (effects (font (size 1.27 1.27))))
37
+      )
38
+    )
39
+  )
40
+  (symbol "dc-dc" (in_bom yes) (on_board yes)
41
+    (property "Reference" "U" (at 0 0 0)
42
+      (effects (font (size 1.27 1.27)))
43
+    )
44
+    (property "Value" "" (at 0 0 0)
45
+      (effects (font (size 1.27 1.27)))
46
+    )
47
+    (property "Footprint" "" (at 0 0 0)
48
+      (effects (font (size 1.27 1.27)) hide)
49
+    )
50
+    (property "Datasheet" "" (at 0 0 0)
51
+      (effects (font (size 1.27 1.27)) hide)
52
+    )
53
+    (symbol "dc-dc_0_1"
54
+      (rectangle (start -3.81 5.08) (end 3.81 -5.08)
55
+        (stroke (width 0) (type default))
56
+        (fill (type none))
57
+      )
58
+    )
59
+    (symbol "dc-dc_1_1"
60
+      (pin power_in line (at -6.35 -2.54 0) (length 2.54)
61
+        (name "Vin+" (effects (font (size 1.27 1.27))))
62
+        (number "1" (effects (font (size 1.27 1.27))))
63
+      )
64
+      (pin power_in line (at -6.35 2.54 0) (length 2.54)
65
+        (name "Vin+" (effects (font (size 1.27 1.27))))
66
+        (number "2" (effects (font (size 1.27 1.27))))
67
+      )
68
+      (pin power_out line (at 6.35 -2.54 180) (length 2.54)
69
+        (name "Out-" (effects (font (size 1.27 1.27))))
70
+        (number "3" (effects (font (size 1.27 1.27))))
71
+      )
72
+      (pin power_out line (at 6.35 2.54 180) (length 2.54)
73
+        (name "Out+" (effects (font (size 1.27 1.27))))
74
+        (number "4" (effects (font (size 1.27 1.27))))
75
+      )
76
+    )
77
+  )
78
+  (symbol "xy-mos" (in_bom yes) (on_board yes)
79
+    (property "Reference" "U" (at -11.43 0 0)
80
+      (effects (font (size 1.27 1.27)))
81
+    )
82
+    (property "Value" "" (at 0 0 0)
83
+      (effects (font (size 1.27 1.27)))
84
+    )
85
+    (property "Footprint" "" (at 0 0 0)
86
+      (effects (font (size 1.27 1.27)) hide)
87
+    )
88
+    (property "Datasheet" "" (at 0 0 0)
89
+      (effects (font (size 1.27 1.27)) hide)
90
+    )
91
+    (symbol "xy-mos_0_1"
92
+      (rectangle (start -3.81 5.08) (end 3.81 -5.08)
93
+        (stroke (width 0) (type default))
94
+        (fill (type none))
95
+      )
96
+    )
97
+    (symbol "xy-mos_1_1"
98
+      (pin power_in line (at -6.35 2.54 0) (length 2.54)
99
+        (name "Vin+" (effects (font (size 1.27 1.27))))
100
+        (number "1" (effects (font (size 1.27 1.27))))
101
+      )
102
+      (pin power_in line (at -6.35 -2.54 0) (length 2.54)
103
+        (name "Vin-" (effects (font (size 1.27 1.27))))
104
+        (number "2" (effects (font (size 1.27 1.27))))
105
+      )
106
+      (pin power_out line (at 6.35 2.54 180) (length 2.54)
107
+        (name "Out+" (effects (font (size 1.27 1.27))))
108
+        (number "3" (effects (font (size 1.27 1.27))))
109
+      )
110
+      (pin power_out line (at 6.35 -2.54 180) (length 2.54)
111
+        (name "Out-" (effects (font (size 1.27 1.27))))
112
+        (number "4" (effects (font (size 1.27 1.27))))
113
+      )
114
+      (pin input line (at 0 -7.62 90) (length 2.54)
115
+        (name "GND" (effects (font (size 1.27 1.27))))
116
+        (number "5" (effects (font (size 1.27 1.27))))
117
+      )
118
+      (pin input line (at 0 7.62 270) (length 2.54)
119
+        (name "trig" (effects (font (size 1.27 1.27))))
120
+        (number "6" (effects (font (size 1.27 1.27))))
121
+      )
122
+    )
123
+  )
124
+)

+ 22
- 0
pcb/chinese_modules.pretty/charger.kicad_mod View File

@@ -0,0 +1,22 @@
1
+(footprint "charger" (version 20221018) (generator pcbnew)
2
+  (layer "F.Cu")
3
+  (attr through_hole)
4
+  (fp_text reference "REF**" (at 0 -0.5 unlocked) (layer "F.SilkS")
5
+      (effects (font (size 1 1) (thickness 0.1)))
6
+    (tstamp ef9a929a-cc94-4f08-a0d2-79960ee4452d)
7
+  )
8
+  (fp_text value "charger" (at 0 1 unlocked) (layer "F.Fab")
9
+      (effects (font (size 1 1) (thickness 0.15)))
10
+    (tstamp c0d2d0f7-e7ae-4834-a7f3-9aafb08f1ac1)
11
+  )
12
+  (fp_text user "${REFERENCE}" (at 0 2.5 unlocked) (layer "F.Fab")
13
+      (effects (font (size 1 1) (thickness 0.15)))
14
+    (tstamp c47ecdf5-4e59-404b-92f7-c535463c8380)
15
+  )
16
+  (fp_rect (start -14 8.564) (end 14 -8.636)
17
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.SilkS") (tstamp d35c4010-6ee0-4834-965b-47ff77b0ce97))
18
+  (pad "1" thru_hole circle (at -11.5 -7) (size 2 2) (drill 1) (layers "*.Cu" "*.Mask") (tstamp d1c9096b-e449-45e0-b89a-87b49bb5590d))
19
+  (pad "2" thru_hole circle (at -11.5 7) (size 2 2) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 88a8c1f9-55da-4c28-8d4c-6082abf45198))
20
+  (pad "3" thru_hole circle (at 11.5 -7) (size 2 2) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 9d8718ef-cc49-475b-a4aa-6b30e5ae2ef3))
21
+  (pad "4" thru_hole circle (at 11.5 7) (size 2 2) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 4d71aa93-0865-4659-9304-6c845807dfbd))
22
+)

+ 22
- 0
pcb/chinese_modules.pretty/dc-dc module.kicad_mod View File

@@ -0,0 +1,22 @@
1
+(footprint "dc-dc module" (version 20221018) (generator pcbnew)
2
+  (layer "F.Cu")
3
+  (attr through_hole)
4
+  (fp_text reference "REF**" (at 0 -0.5 unlocked) (layer "F.SilkS")
5
+      (effects (font (size 1 1) (thickness 0.1)))
6
+    (tstamp 351a676b-e518-443e-995a-a14f89889941)
7
+  )
8
+  (fp_text value "dc-dc module" (at 0 1 unlocked) (layer "F.Fab")
9
+      (effects (font (size 1 1) (thickness 0.15)))
10
+    (tstamp 0c0d7a47-da27-4cf2-9d15-a84ffe0861ee)
11
+  )
12
+  (fp_text user "${REFERENCE}" (at 0 2.5 unlocked) (layer "F.Fab")
13
+      (effects (font (size 1 1) (thickness 0.15)))
14
+    (tstamp d4d0a879-129a-4e06-b75c-eaa64657a445)
15
+  )
16
+  (fp_rect (start -16.002 -10.16) (end 21.336 7.112)
17
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.SilkS") (tstamp 373f4ed8-30de-4020-b144-22951c04ff36))
18
+  (pad "1" thru_hole circle (at -12.7 -5.08) (size 3 3) (drill 1.5) (layers "*.Cu" "*.Mask") (tstamp 2dec570e-8ec2-43e0-b4e9-0e138e71df02))
19
+  (pad "2" thru_hole circle (at -12.7 2.032) (size 3 3) (drill 1.5) (layers "*.Cu" "*.Mask") (tstamp 3823b628-f846-4265-9a4b-36eedfd0f1bc))
20
+  (pad "3" thru_hole circle (at 18.288 -5.08) (size 3 3) (drill 1.5) (layers "*.Cu" "*.Mask") (tstamp bc102268-c3c0-4464-9298-fdf51febf326))
21
+  (pad "4" thru_hole circle (at 18.288 2.032) (size 3 3) (drill 1.5) (layers "*.Cu" "*.Mask") (tstamp bfebf64c-cae9-4c11-90e9-6a4462caa2de))
22
+)

+ 24
- 0
pcb/chinese_modules.pretty/xy-mos.kicad_mod View File

@@ -0,0 +1,24 @@
1
+(footprint "xy-mos" (version 20221018) (generator pcbnew)
2
+  (layer "F.Cu")
3
+  (attr through_hole)
4
+  (fp_text reference "REF**" (at 11.43 -11.676 unlocked) (layer "F.SilkS")
5
+      (effects (font (size 1 1) (thickness 0.1)))
6
+    (tstamp 5693ed06-7c66-4b01-9fef-53e4d00ceac8)
7
+  )
8
+  (fp_text value "xy-mos" (at 11.43 -10.176 unlocked) (layer "F.Fab")
9
+      (effects (font (size 1 1) (thickness 0.15)))
10
+    (tstamp ee25b458-e6fe-4b96-b9d0-50faf98b0660)
11
+  )
12
+  (fp_text user "${REFERENCE}" (at 11.43 -8.676 unlocked) (layer "F.Fab")
13
+      (effects (font (size 1 1) (thickness 0.15)))
14
+    (tstamp 6a83f99b-3d27-40a9-894d-864471e75227)
15
+  )
16
+  (fp_rect (start 0 -17.272) (end 34.036 0)
17
+    (stroke (width 0.1) (type default)) (fill none) (layer "F.SilkS") (tstamp 534642ed-80d5-4da0-88c5-f13cade22050))
18
+  (pad "1" thru_hole circle (at 3.556 -13.716) (size 3 3) (drill 1.5) (layers "*.Cu" "*.Mask") (tstamp 3d16b057-5066-4fea-8610-f342ab94e6e4))
19
+  (pad "2" thru_hole circle (at 8.636 -13.716) (size 3 3) (drill 1.5) (layers "*.Cu" "*.Mask") (tstamp 8128a403-267f-4ec1-80c6-3e87c37c6826))
20
+  (pad "3" thru_hole circle (at 3.556 -3.556) (size 3 3) (drill 1.5) (layers "*.Cu" "*.Mask") (tstamp 29364a4b-02b7-442e-83e6-cbefef59402d))
21
+  (pad "4" thru_hole circle (at 8.636 -3.556) (size 3 3) (drill 1.5) (layers "*.Cu" "*.Mask") (tstamp 81ceed1d-4773-4ae7-89f7-25d58a1eb40a))
22
+  (pad "5" thru_hole circle (at 32.512 -11.176) (size 2 2) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 200ddb9f-cce1-4cee-8000-e30fc987ae87))
23
+  (pad "6" thru_hole circle (at 32.512 -6.096) (size 2 2) (drill 1) (layers "*.Cu" "*.Mask") (tstamp b4c9a92f-6e6b-4542-835f-92782293ec21))
24
+)

BIN
pcb/drumkit-B_Cu.pdf View File


BIN
pcb/drumkit-backups/drumkit-2024-03-21_175102.zip View File


BIN
pcb/drumkit-backups/drumkit-2024-03-21_195756.zip View File


BIN
pcb/drumkit-backups/drumkit-2024-03-21_201726.zip View File


BIN
pcb/drumkit-backups/drumkit-2024-03-21_202353.zip View File


BIN
pcb/drumkit-backups/drumkit-2024-03-21_203403.zip View File


BIN
pcb/drumkit-backups/drumkit-2024-03-21_203945.zip View File


+ 2055
- 0
pcb/drumkit.kicad_pcb
File diff suppressed because it is too large
View File


+ 77
- 0
pcb/drumkit.kicad_prl View File

@@ -0,0 +1,77 @@
1
+{
2
+  "board": {
3
+    "active_layer": 31,
4
+    "active_layer_preset": "All Layers",
5
+    "auto_track_width": true,
6
+    "hidden_netclasses": [],
7
+    "hidden_nets": [],
8
+    "high_contrast_mode": 0,
9
+    "net_color_mode": 1,
10
+    "opacity": {
11
+      "images": 0.6,
12
+      "pads": 1.0,
13
+      "tracks": 1.0,
14
+      "vias": 1.0,
15
+      "zones": 0.6
16
+    },
17
+    "selection_filter": {
18
+      "dimensions": true,
19
+      "footprints": true,
20
+      "graphics": true,
21
+      "keepouts": true,
22
+      "lockedItems": false,
23
+      "otherItems": true,
24
+      "pads": true,
25
+      "text": true,
26
+      "tracks": true,
27
+      "vias": true,
28
+      "zones": true
29
+    },
30
+    "visible_items": [
31
+      0,
32
+      1,
33
+      2,
34
+      3,
35
+      4,
36
+      5,
37
+      8,
38
+      9,
39
+      10,
40
+      11,
41
+      12,
42
+      13,
43
+      15,
44
+      16,
45
+      17,
46
+      18,
47
+      19,
48
+      20,
49
+      21,
50
+      22,
51
+      23,
52
+      24,
53
+      25,
54
+      26,
55
+      27,
56
+      28,
57
+      29,
58
+      30,
59
+      32,
60
+      33,
61
+      34,
62
+      35,
63
+      36,
64
+      39,
65
+      40
66
+    ],
67
+    "visible_layers": "fffffff_ffffffff",
68
+    "zone_display_mode": 0
69
+  },
70
+  "meta": {
71
+    "filename": "drumkit.kicad_prl",
72
+    "version": 3
73
+  },
74
+  "project": {
75
+    "files": []
76
+  }
77
+}

+ 492
- 0
pcb/drumkit.kicad_pro View File

@@ -0,0 +1,492 @@
1
+{
2
+  "board": {
3
+    "3dviewports": [],
4
+    "design_settings": {
5
+      "defaults": {
6
+        "board_outline_line_width": 0.09999999999999999,
7
+        "copper_line_width": 0.19999999999999998,
8
+        "copper_text_italic": false,
9
+        "copper_text_size_h": 1.5,
10
+        "copper_text_size_v": 1.5,
11
+        "copper_text_thickness": 0.3,
12
+        "copper_text_upright": false,
13
+        "courtyard_line_width": 0.049999999999999996,
14
+        "dimension_precision": 4,
15
+        "dimension_units": 3,
16
+        "dimensions": {
17
+          "arrow_length": 1270000,
18
+          "extension_offset": 500000,
19
+          "keep_text_aligned": true,
20
+          "suppress_zeroes": false,
21
+          "text_position": 0,
22
+          "units_format": 1
23
+        },
24
+        "fab_line_width": 0.09999999999999999,
25
+        "fab_text_italic": false,
26
+        "fab_text_size_h": 1.0,
27
+        "fab_text_size_v": 1.0,
28
+        "fab_text_thickness": 0.15,
29
+        "fab_text_upright": false,
30
+        "other_line_width": 0.15,
31
+        "other_text_italic": false,
32
+        "other_text_size_h": 1.0,
33
+        "other_text_size_v": 1.0,
34
+        "other_text_thickness": 0.15,
35
+        "other_text_upright": false,
36
+        "pads": {
37
+          "drill": 2.0,
38
+          "height": 4.0,
39
+          "width": 4.0
40
+        },
41
+        "silk_line_width": 0.15,
42
+        "silk_text_italic": false,
43
+        "silk_text_size_h": 1.0,
44
+        "silk_text_size_v": 1.0,
45
+        "silk_text_thickness": 0.15,
46
+        "silk_text_upright": false,
47
+        "zones": {
48
+          "min_clearance": 0.5
49
+        }
50
+      },
51
+      "diff_pair_dimensions": [
52
+        {
53
+          "gap": 0.0,
54
+          "via_gap": 0.0,
55
+          "width": 0.0
56
+        }
57
+      ],
58
+      "drc_exclusions": [],
59
+      "meta": {
60
+        "version": 2
61
+      },
62
+      "rule_severities": {
63
+        "annular_width": "error",
64
+        "clearance": "error",
65
+        "connection_width": "warning",
66
+        "copper_edge_clearance": "error",
67
+        "copper_sliver": "warning",
68
+        "courtyards_overlap": "error",
69
+        "diff_pair_gap_out_of_range": "error",
70
+        "diff_pair_uncoupled_length_too_long": "error",
71
+        "drill_out_of_range": "error",
72
+        "duplicate_footprints": "warning",
73
+        "extra_footprint": "warning",
74
+        "footprint": "error",
75
+        "footprint_type_mismatch": "ignore",
76
+        "hole_clearance": "error",
77
+        "hole_near_hole": "error",
78
+        "invalid_outline": "error",
79
+        "isolated_copper": "warning",
80
+        "item_on_disabled_layer": "error",
81
+        "items_not_allowed": "error",
82
+        "length_out_of_range": "error",
83
+        "lib_footprint_issues": "warning",
84
+        "lib_footprint_mismatch": "warning",
85
+        "malformed_courtyard": "error",
86
+        "microvia_drill_out_of_range": "error",
87
+        "missing_courtyard": "ignore",
88
+        "missing_footprint": "warning",
89
+        "net_conflict": "warning",
90
+        "npth_inside_courtyard": "ignore",
91
+        "padstack": "warning",
92
+        "pth_inside_courtyard": "ignore",
93
+        "shorting_items": "error",
94
+        "silk_edge_clearance": "warning",
95
+        "silk_over_copper": "warning",
96
+        "silk_overlap": "warning",
97
+        "skew_out_of_range": "error",
98
+        "solder_mask_bridge": "error",
99
+        "starved_thermal": "error",
100
+        "text_height": "warning",
101
+        "text_thickness": "warning",
102
+        "through_hole_pad_without_hole": "error",
103
+        "too_many_vias": "error",
104
+        "track_dangling": "warning",
105
+        "track_width": "error",
106
+        "tracks_crossing": "error",
107
+        "unconnected_items": "error",
108
+        "unresolved_variable": "error",
109
+        "via_dangling": "warning",
110
+        "zones_intersect": "error"
111
+      },
112
+      "rules": {
113
+        "max_error": 0.005,
114
+        "min_clearance": 0.0,
115
+        "min_connection": 0.0,
116
+        "min_copper_edge_clearance": 0.0,
117
+        "min_hole_clearance": 0.25,
118
+        "min_hole_to_hole": 0.25,
119
+        "min_microvia_diameter": 0.19999999999999998,
120
+        "min_microvia_drill": 0.09999999999999999,
121
+        "min_resolved_spokes": 2,
122
+        "min_silk_clearance": 0.0,
123
+        "min_text_height": 0.7999999999999999,
124
+        "min_text_thickness": 0.08,
125
+        "min_through_hole_diameter": 0.3,
126
+        "min_track_width": 0.0,
127
+        "min_via_annular_width": 0.09999999999999999,
128
+        "min_via_diameter": 0.5,
129
+        "solder_mask_clearance": 0.0,
130
+        "solder_mask_min_width": 0.0,
131
+        "solder_mask_to_copper_clearance": 0.0,
132
+        "use_height_for_length_calcs": true
133
+      },
134
+      "teardrop_options": [
135
+        {
136
+          "td_allow_use_two_tracks": true,
137
+          "td_curve_segcount": 5,
138
+          "td_on_pad_in_zone": false,
139
+          "td_onpadsmd": true,
140
+          "td_onroundshapesonly": false,
141
+          "td_ontrackend": false,
142
+          "td_onviapad": true
143
+        }
144
+      ],
145
+      "teardrop_parameters": [
146
+        {
147
+          "td_curve_segcount": 0,
148
+          "td_height_ratio": 1.0,
149
+          "td_length_ratio": 0.5,
150
+          "td_maxheight": 2.0,
151
+          "td_maxlen": 1.0,
152
+          "td_target_name": "td_round_shape",
153
+          "td_width_to_size_filter_ratio": 0.9
154
+        },
155
+        {
156
+          "td_curve_segcount": 0,
157
+          "td_height_ratio": 1.0,
158
+          "td_length_ratio": 0.5,
159
+          "td_maxheight": 2.0,
160
+          "td_maxlen": 1.0,
161
+          "td_target_name": "td_rect_shape",
162
+          "td_width_to_size_filter_ratio": 0.9
163
+        },
164
+        {
165
+          "td_curve_segcount": 0,
166
+          "td_height_ratio": 1.0,
167
+          "td_length_ratio": 0.5,
168
+          "td_maxheight": 2.0,
169
+          "td_maxlen": 1.0,
170
+          "td_target_name": "td_track_end",
171
+          "td_width_to_size_filter_ratio": 0.9
172
+        }
173
+      ],
174
+      "track_widths": [
175
+        0.0,
176
+        1.0,
177
+        2.0
178
+      ],
179
+      "via_dimensions": [
180
+        {
181
+          "diameter": 0.0,
182
+          "drill": 0.0
183
+        }
184
+      ],
185
+      "zones_allow_external_fillets": false
186
+    },
187
+    "layer_presets": [],
188
+    "viewports": []
189
+  },
190
+  "boards": [],
191
+  "cvpcb": {
192
+    "equivalence_files": []
193
+  },
194
+  "erc": {
195
+    "erc_exclusions": [],
196
+    "meta": {
197
+      "version": 0
198
+    },
199
+    "pin_map": [
200
+      [
201
+        0,
202
+        0,
203
+        0,
204
+        0,
205
+        0,
206
+        0,
207
+        1,
208
+        0,
209
+        0,
210
+        0,
211
+        0,
212
+        2
213
+      ],
214
+      [
215
+        0,
216
+        2,
217
+        0,
218
+        1,
219
+        0,
220
+        0,
221
+        1,
222
+        0,
223
+        2,
224
+        2,
225
+        2,
226
+        2
227
+      ],
228
+      [
229
+        0,
230
+        0,
231
+        0,
232
+        0,
233
+        0,
234
+        0,
235
+        1,
236
+        0,
237
+        1,
238
+        0,
239
+        1,
240
+        2
241
+      ],
242
+      [
243
+        0,
244
+        1,
245
+        0,
246
+        0,
247
+        0,
248
+        0,
249
+        1,
250
+        1,
251
+        2,
252
+        1,
253
+        1,
254
+        2
255
+      ],
256
+      [
257
+        0,
258
+        0,
259
+        0,
260
+        0,
261
+        0,
262
+        0,
263
+        1,
264
+        0,
265
+        0,
266
+        0,
267
+        0,
268
+        2
269
+      ],
270
+      [
271
+        0,
272
+        0,
273
+        0,
274
+        0,
275
+        0,
276
+        0,
277
+        0,
278
+        0,
279
+        0,
280
+        0,
281
+        0,
282
+        2
283
+      ],
284
+      [
285
+        1,
286
+        1,
287
+        1,
288
+        1,
289
+        1,
290
+        0,
291
+        1,
292
+        1,
293
+        1,
294
+        1,
295
+        1,
296
+        2
297
+      ],
298
+      [
299
+        0,
300
+        0,
301
+        0,
302
+        1,
303
+        0,
304
+        0,
305
+        1,
306
+        0,
307
+        0,
308
+        0,
309
+        0,
310
+        2
311
+      ],
312
+      [
313
+        0,
314
+        2,
315
+        1,
316
+        2,
317
+        0,
318
+        0,
319
+        1,
320
+        0,
321
+        2,
322
+        2,
323
+        2,
324
+        2
325
+      ],
326
+      [
327
+        0,
328
+        2,
329
+        0,
330
+        1,
331
+        0,
332
+        0,
333
+        1,
334
+        0,
335
+        2,
336
+        0,
337
+        0,
338
+        2
339
+      ],
340
+      [
341
+        0,
342
+        2,
343
+        1,
344
+        1,
345
+        0,
346
+        0,
347
+        1,
348
+        0,
349
+        2,
350
+        0,
351
+        0,
352
+        2
353
+      ],
354
+      [
355
+        2,
356
+        2,
357
+        2,
358
+        2,
359
+        2,
360
+        2,
361
+        2,
362
+        2,
363
+        2,
364
+        2,
365
+        2,
366
+        2
367
+      ]
368
+    ],
369
+    "rule_severities": {
370
+      "bus_definition_conflict": "error",
371
+      "bus_entry_needed": "error",
372
+      "bus_to_bus_conflict": "error",
373
+      "bus_to_net_conflict": "error",
374
+      "conflicting_netclasses": "error",
375
+      "different_unit_footprint": "error",
376
+      "different_unit_net": "error",
377
+      "duplicate_reference": "error",
378
+      "duplicate_sheet_names": "error",
379
+      "endpoint_off_grid": "warning",
380
+      "extra_units": "error",
381
+      "global_label_dangling": "warning",
382
+      "hier_label_mismatch": "error",
383
+      "label_dangling": "error",
384
+      "lib_symbol_issues": "warning",
385
+      "missing_bidi_pin": "warning",
386
+      "missing_input_pin": "warning",
387
+      "missing_power_pin": "error",
388
+      "missing_unit": "warning",
389
+      "multiple_net_names": "warning",
390
+      "net_not_bus_member": "warning",
391
+      "no_connect_connected": "warning",
392
+      "no_connect_dangling": "warning",
393
+      "pin_not_connected": "error",
394
+      "pin_not_driven": "error",
395
+      "pin_to_pin": "warning",
396
+      "power_pin_not_driven": "error",
397
+      "similar_labels": "warning",
398
+      "simulation_model_issue": "error",
399
+      "unannotated": "error",
400
+      "unit_value_mismatch": "error",
401
+      "unresolved_variable": "error",
402
+      "wire_dangling": "error"
403
+    }
404
+  },
405
+  "libraries": {
406
+    "pinned_footprint_libs": [],
407
+    "pinned_symbol_libs": []
408
+  },
409
+  "meta": {
410
+    "filename": "drumkit.kicad_pro",
411
+    "version": 1
412
+  },
413
+  "net_settings": {
414
+    "classes": [
415
+      {
416
+        "bus_width": 12,
417
+        "clearance": 0.2,
418
+        "diff_pair_gap": 0.25,
419
+        "diff_pair_via_gap": 0.25,
420
+        "diff_pair_width": 0.2,
421
+        "line_style": 0,
422
+        "microvia_diameter": 0.3,
423
+        "microvia_drill": 0.1,
424
+        "name": "Default",
425
+        "pcb_color": "rgba(0, 0, 0, 0.000)",
426
+        "schematic_color": "rgba(0, 0, 0, 0.000)",
427
+        "track_width": 0.25,
428
+        "via_diameter": 0.8,
429
+        "via_drill": 0.4,
430
+        "wire_width": 6
431
+      }
432
+    ],
433
+    "meta": {
434
+      "version": 3
435
+    },
436
+    "net_colors": null,
437
+    "netclass_assignments": null,
438
+    "netclass_patterns": []
439
+  },
440
+  "pcbnew": {
441
+    "last_paths": {
442
+      "gencad": "",
443
+      "idf": "",
444
+      "netlist": "",
445
+      "specctra_dsn": "",
446
+      "step": "",
447
+      "vrml": ""
448
+    },
449
+    "page_layout_descr_file": ""
450
+  },
451
+  "schematic": {
452
+    "annotate_start_num": 0,
453
+    "drawing": {
454
+      "dashed_lines_dash_length_ratio": 12.0,
455
+      "dashed_lines_gap_length_ratio": 3.0,
456
+      "default_line_thickness": 6.0,
457
+      "default_text_size": 50.0,
458
+      "field_names": [],
459
+      "intersheets_ref_own_page": false,
460
+      "intersheets_ref_prefix": "",
461
+      "intersheets_ref_short": false,
462
+      "intersheets_ref_show": false,
463
+      "intersheets_ref_suffix": "",
464
+      "junction_size_choice": 3,
465
+      "label_size_ratio": 0.375,
466
+      "pin_symbol_size": 25.0,
467
+      "text_offset_ratio": 0.15
468
+    },
469
+    "legacy_lib_dir": "",
470
+    "legacy_lib_list": [],
471
+    "meta": {
472
+      "version": 1
473
+    },
474
+    "net_format_name": "",
475
+    "page_layout_descr_file": "",
476
+    "plot_directory": "",
477
+    "spice_current_sheet_as_root": false,
478
+    "spice_external_command": "spice \"%I\"",
479
+    "spice_model_current_sheet_as_root": true,
480
+    "spice_save_all_currents": false,
481
+    "spice_save_all_voltages": false,
482
+    "subpart_first_id": 65,
483
+    "subpart_id_separator": 0
484
+  },
485
+  "sheets": [
486
+    [
487
+      "13d14c25-8baa-4714-9b30-86acf6c3cb37",
488
+      ""
489
+    ]
490
+  ],
491
+  "text_variables": {}
492
+}

+ 2748
- 0
pcb/drumkit.kicad_sch
File diff suppressed because it is too large
View File


+ 95516
- 0
pcb/fp-info-cache
File diff suppressed because it is too large
View File


+ 4
- 0
pcb/sym-lib-table View File

@@ -0,0 +1,4 @@
1
+(sym_lib_table
2
+  (version 7)
3
+  (lib (name "chinese_modules")(type "KiCad")(uri "${KIPRJMOD}/chinese_modules.kicad_sym")(options "")(descr ""))
4
+)

+ 5
- 5
src/buttons.c View File

@@ -24,11 +24,11 @@
24 24
 #define DEBOUNCE_DELAY_MS 50
25 25
 
26 26
 static const uint gpio_num[NUM_BTNS] = {
27
-    5, // BTN_A
28
-    6, // BTN_B
29
-    7, // BTN_C
30
-    8, // BTN_REC
31
-    11, // BTN_CLICK
27
+    8, // BTN_A
28
+    9, // BTN_B
29
+    12, // BTN_C
30
+    14, // BTN_REC
31
+    16, // BTN_CLICK
32 32
 };
33 33
 
34 34
 struct button_state {

+ 1
- 1
src/encoder.c View File

@@ -25,7 +25,7 @@
25 25
 #define ENCODER_MODE TWO03
26 26
 
27 27
 static const uint gpio_num[2] = {
28
-    9, 10
28
+    17, 18
29 29
 };
30 30
 
31 31
 static const int8_t KNOBDIR[] = {

+ 1
- 1
src/lcd.c View File

@@ -25,7 +25,7 @@
25 25
 #include "ssd1306.h"
26 26
 #include "lcd.h"
27 27
 
28
-#define LCD_I2C i2c1
28
+#define LCD_I2C i2c0
29 29
 static const uint gpio_num[2] = { 0, 1 };
30 30
 #define LCD_ADDR 0x3C
31 31
 

+ 2
- 2
src/led.c View File

@@ -22,11 +22,11 @@
22 22
 #include "led.h"
23 23
 
24 24
 static const uint led_gpio_num[LED_COUNT] = {
25
-    12, 13, 14, 15,
25
+    10, 11, 13, 15,
26 26
 };
27 27
 
28 28
 static const uint ch_gpio_num[NUM_CHANNELS] = {
29
-    2, 3, 4,
29
+    22, 26, 27,
30 30
 };
31 31
 
32 32
 void led_init(void) {

Loading…
Cancel
Save