Browse Source

add 3d model to prototype pcb

Thomas Buck 1 month ago
parent
commit
e1ccb060a5
12 changed files with 22122 additions and 9542 deletions
  1. 0
    6
      .github/workflows/docs.yml
  2. 6
    0
      README.md
  3. 14
    10
      docs/generate_docs.sh
  4. 10476
    2447
      pcb/drumkit.kicad_pcb
  5. 109
    12
      pcb/drumkit.kicad_pro
  6. 8095
    2956
      pcb/drumkit.kicad_sch
  7. 3403
    4110
      pcb/fp-info-cache
  8. 1
    0
      pcb/fp-lib-table
  9. 1
    0
      pcb/sym-lib-table
  10. 1
    1
      pcb2/KiCad-RP-Pico
  11. 8
    0
      pcb2/lars2.kicad_pcb
  12. 8
    0
      pcb2/lars2.kicad_sch

+ 0
- 6
.github/workflows/docs.yml View File

@@ -64,12 +64,6 @@ jobs:
64 64
           curl -sSL $url | tar -xz --directory=./mdbook
65 65
           echo `pwd`/mdbook >> $GITHUB_PATH
66 66
 
67
-      - name: Generate Plots
68
-        run: pcb/generate_plot.sh
69
-
70
-      - name: Render STLs
71
-        run: 3dprint/generate_stls.sh
72
-
73 67
       - name: Build Book
74 68
         run: docs/generate_docs.sh build
75 69
 

+ 6
- 0
README.md View File

@@ -42,6 +42,10 @@ You can find the [documentation here on GitHub pages](https://xythobuz.github.io
42 42
 The docs are built using [mdbook](https://github.com/rust-lang/mdBook), licensed as `MPL-2.0`.
43 43
 Get the [latest release from GitHub](https://github.com/rust-lang/mdBook/releases) for a pre-built binary if you want to test changes to the docs locally.
44 44
 
45
+    ./pcb/generate_plot.sh
46
+    ./pcb2/generate_plot.sh
47
+    ./3dprint/generate_stls.sh
48
+
45 49
     ./docs/generate_docs.sh serve
46 50
 
47 51
 This will open your browser to a local development instance of the docs.
@@ -106,6 +110,8 @@ Some code in `docs/src/js/3d.js` is derived from [a blog post of Michal Jirků](
106 110
 The schematic and PCB design of this project is licensed under the [CERN Open Hardware Licence Version 2 - Strongly Reciprocal (CERN-OHL-S-2.0+)](https://ohwr.org/cern_ohl_s_v2.txt) or any later version.
107 111
 A copy of the license can be found in `LICENSE`.
108 112
 
113
+The PCB designs use a [KiCad-RP-Pico based](https://github.com/ncarandini/KiCad-RP-Pico) symbol and footprint library, licensed as `CC-BY-SA 4.0`.
114
+
109 115
      ------------------------------------------------------------------------------
110 116
     | This source describes Open Hardware and is licensed under the CERN-OHL-S v2  |
111 117
     | or any later version.                                                        |

+ 14
- 10
docs/generate_docs.sh View File

@@ -31,22 +31,26 @@ INPCB="../pcb/drumkit.kicad_pcb ../pcb2/lars2.kicad_pcb"
31 31
 
32 32
 cd "$(dirname "$0")"
33 33
 
34
-#echo "Generating plots"
34
+if [ "$1" = "build" ] ; then
35
+    echo "Generating plots"
36
+    ../pcb/generate_plot.sh
37
+    echo
38
+
39
+    echo "Generating plots 2"
40
+    ../pcb2/generate_plot.sh
41
+    echo
42
+
43
+    echo "Generating stls"
44
+    ../3dprint/generate_stls.sh
45
+    echo
46
+fi
47
+
35 48
 rm -rf src/plot
36
-#../pcb/generate_plot.sh
37 49
 cp -r ../pcb/plot src
38
-#echo
39
-
40
-#echo "Generating plots 2"
41
-#../pcb/generate_plot.sh
42 50
 cp -r ../pcb2/plot/* src/plot/
43
-#echo
44 51
 
45
-#echo "Generating stls"
46 52
 rm -rf src/stl
47
-#../3dprint/generate_stls.sh
48 53
 cp -r ../3dprint/stl src
49
-#echo
50 54
 
51 55
 INSTL=`ls ../3dprint/stl/*.stl`
52 56
 

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


+ 109
- 12
pcb/drumkit.kicad_pro View File

@@ -3,14 +3,17 @@
3 3
     "3dviewports": [],
4 4
     "design_settings": {
5 5
       "defaults": {
6
-        "board_outline_line_width": 0.09999999999999999,
7
-        "copper_line_width": 0.19999999999999998,
6
+        "apply_defaults_to_fp_fields": false,
7
+        "apply_defaults_to_fp_shapes": false,
8
+        "apply_defaults_to_fp_text": false,
9
+        "board_outline_line_width": 0.1,
10
+        "copper_line_width": 0.2,
8 11
         "copper_text_italic": false,
9 12
         "copper_text_size_h": 1.5,
10 13
         "copper_text_size_v": 1.5,
11 14
         "copper_text_thickness": 0.3,
12 15
         "copper_text_upright": false,
13
-        "courtyard_line_width": 0.049999999999999996,
16
+        "courtyard_line_width": 0.05,
14 17
         "dimension_precision": 4,
15 18
         "dimension_units": 3,
16 19
         "dimensions": {
@@ -21,7 +24,7 @@
21 24
           "text_position": 0,
22 25
           "units_format": 1
23 26
         },
24
-        "fab_line_width": 0.09999999999999999,
27
+        "fab_line_width": 0.1,
25 28
         "fab_text_italic": false,
26 29
         "fab_text_size_h": 1.0,
27 30
         "fab_text_size_v": 1.0,
@@ -72,6 +75,7 @@
72 75
         "duplicate_footprints": "warning",
73 76
         "extra_footprint": "warning",
74 77
         "footprint": "error",
78
+        "footprint_symbol_mismatch": "warning",
75 79
         "footprint_type_mismatch": "ignore",
76 80
         "hole_clearance": "error",
77 81
         "hole_near_hole": "error",
@@ -116,15 +120,15 @@
116 120
         "min_copper_edge_clearance": 0.0,
117 121
         "min_hole_clearance": 0.25,
118 122
         "min_hole_to_hole": 0.25,
119
-        "min_microvia_diameter": 0.19999999999999998,
120
-        "min_microvia_drill": 0.09999999999999999,
123
+        "min_microvia_diameter": 0.2,
124
+        "min_microvia_drill": 0.1,
121 125
         "min_resolved_spokes": 2,
122 126
         "min_silk_clearance": 0.0,
123
-        "min_text_height": 0.7999999999999999,
127
+        "min_text_height": 0.8,
124 128
         "min_text_thickness": 0.08,
125 129
         "min_through_hole_diameter": 0.3,
126 130
         "min_track_width": 0.0,
127
-        "min_via_annular_width": 0.09999999999999999,
131
+        "min_via_annular_width": 0.1,
128 132
         "min_via_diameter": 0.5,
129 133
         "solder_mask_clearance": 0.0,
130 134
         "solder_mask_min_width": 0.0,
@@ -133,9 +137,6 @@
133 137
       },
134 138
       "teardrop_options": [
135 139
         {
136
-          "td_allow_use_two_tracks": true,
137
-          "td_curve_segcount": 5,
138
-          "td_on_pad_in_zone": false,
139 140
           "td_onpadsmd": true,
140 141
           "td_onroundshapesonly": false,
141 142
           "td_ontrackend": false,
@@ -144,29 +145,35 @@
144 145
       ],
145 146
       "teardrop_parameters": [
146 147
         {
148
+          "td_allow_use_two_tracks": true,
147 149
           "td_curve_segcount": 0,
148 150
           "td_height_ratio": 1.0,
149 151
           "td_length_ratio": 0.5,
150 152
           "td_maxheight": 2.0,
151 153
           "td_maxlen": 1.0,
154
+          "td_on_pad_in_zone": false,
152 155
           "td_target_name": "td_round_shape",
153 156
           "td_width_to_size_filter_ratio": 0.9
154 157
         },
155 158
         {
159
+          "td_allow_use_two_tracks": true,
156 160
           "td_curve_segcount": 0,
157 161
           "td_height_ratio": 1.0,
158 162
           "td_length_ratio": 0.5,
159 163
           "td_maxheight": 2.0,
160 164
           "td_maxlen": 1.0,
165
+          "td_on_pad_in_zone": false,
161 166
           "td_target_name": "td_rect_shape",
162 167
           "td_width_to_size_filter_ratio": 0.9
163 168
         },
164 169
         {
170
+          "td_allow_use_two_tracks": true,
165 171
           "td_curve_segcount": 0,
166 172
           "td_height_ratio": 1.0,
167 173
           "td_length_ratio": 0.5,
168 174
           "td_maxheight": 2.0,
169 175
           "td_maxlen": 1.0,
176
+          "td_on_pad_in_zone": false,
170 177
           "td_target_name": "td_track_end",
171 178
           "td_width_to_size_filter_ratio": 0.9
172 179
         }
@@ -176,6 +183,32 @@
176 183
         1.0,
177 184
         2.0
178 185
       ],
186
+      "tuning_pattern_settings": {
187
+        "diff_pair_defaults": {
188
+          "corner_radius_percentage": 80,
189
+          "corner_style": 1,
190
+          "max_amplitude": 1.0,
191
+          "min_amplitude": 0.2,
192
+          "single_sided": false,
193
+          "spacing": 1.0
194
+        },
195
+        "diff_pair_skew_defaults": {
196
+          "corner_radius_percentage": 80,
197
+          "corner_style": 1,
198
+          "max_amplitude": 1.0,
199
+          "min_amplitude": 0.2,
200
+          "single_sided": false,
201
+          "spacing": 0.6
202
+        },
203
+        "single_track_defaults": {
204
+          "corner_radius_percentage": 80,
205
+          "corner_style": 1,
206
+          "max_amplitude": 1.0,
207
+          "min_amplitude": 0.2,
208
+          "single_sided": false,
209
+          "spacing": 0.6
210
+        }
211
+      },
179 212
       "via_dimensions": [
180 213
         {
181 214
           "diameter": 0.0,
@@ -460,6 +493,64 @@
460 493
   },
461 494
   "schematic": {
462 495
     "annotate_start_num": 0,
496
+    "bom_fmt_presets": [],
497
+    "bom_fmt_settings": {
498
+      "field_delimiter": ",",
499
+      "keep_line_breaks": false,
500
+      "keep_tabs": false,
501
+      "name": "CSV",
502
+      "ref_delimiter": ",",
503
+      "ref_range_delimiter": "",
504
+      "string_delimiter": "\""
505
+    },
506
+    "bom_presets": [],
507
+    "bom_settings": {
508
+      "exclude_dnp": false,
509
+      "fields_ordered": [
510
+        {
511
+          "group_by": false,
512
+          "label": "Reference",
513
+          "name": "Reference",
514
+          "show": true
515
+        },
516
+        {
517
+          "group_by": true,
518
+          "label": "Value",
519
+          "name": "Value",
520
+          "show": true
521
+        },
522
+        {
523
+          "group_by": false,
524
+          "label": "Datasheet",
525
+          "name": "Datasheet",
526
+          "show": true
527
+        },
528
+        {
529
+          "group_by": false,
530
+          "label": "Footprint",
531
+          "name": "Footprint",
532
+          "show": true
533
+        },
534
+        {
535
+          "group_by": false,
536
+          "label": "Qty",
537
+          "name": "${QUANTITY}",
538
+          "show": true
539
+        },
540
+        {
541
+          "group_by": true,
542
+          "label": "DNP",
543
+          "name": "${DNP}",
544
+          "show": true
545
+        }
546
+      ],
547
+      "filter_string": "",
548
+      "group_symbols": true,
549
+      "name": "Grouped By Value",
550
+      "sort_asc": true,
551
+      "sort_field": "Reference"
552
+    },
553
+    "connection_grid_size": 50.0,
463 554
     "drawing": {
464 555
       "dashed_lines_dash_length_ratio": 12.0,
465 556
       "dashed_lines_gap_length_ratio": 3.0,
@@ -473,6 +564,11 @@
473 564
       "intersheets_ref_suffix": "",
474 565
       "junction_size_choice": 3,
475 566
       "label_size_ratio": 0.375,
567
+      "operating_point_overlay_i_precision": 3,
568
+      "operating_point_overlay_i_range": "~A",
569
+      "operating_point_overlay_v_precision": 3,
570
+      "operating_point_overlay_v_range": "~V",
571
+      "overbar_offset_ratio": 1.23,
476 572
       "pin_symbol_size": 25.0,
477 573
       "text_offset_ratio": 0.15
478 574
     },
@@ -488,6 +584,7 @@
488 584
     "spice_external_command": "spice \"%I\"",
489 585
     "spice_model_current_sheet_as_root": true,
490 586
     "spice_save_all_currents": false,
587
+    "spice_save_all_dissipations": false,
491 588
     "spice_save_all_voltages": false,
492 589
     "subpart_first_id": 65,
493 590
     "subpart_id_separator": 0
@@ -495,7 +592,7 @@
495 592
   "sheets": [
496 593
     [
497 594
       "13d14c25-8baa-4714-9b30-86acf6c3cb37",
498
-      ""
595
+      "Root"
499 596
     ]
500 597
   ],
501 598
   "text_variables": {}

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


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


+ 1
- 0
pcb/fp-lib-table View File

@@ -1,4 +1,5 @@
1 1
 (fp_lib_table
2 2
   (version 7)
3 3
   (lib (name "chinese_modules")(type "KiCad")(uri "${KIPRJMOD}/chinese_modules.pretty")(options "")(descr ""))
4
+  (lib (name "KiCad-RP-Pico")(type "KiCad")(uri "${KIPRJMOD}/../pcb2/KiCad-RP-Pico/RP-Pico Libraries/MCU_RaspberryPi_and_Boards.pretty")(options "")(descr ""))
4 5
 )

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

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

+ 1
- 1
pcb2/KiCad-RP-Pico

@@ -1 +1 @@
1
-Subproject commit 2ad50bdb5813614a2bb7c51d5f8d98d08ba826eb
1
+Subproject commit 4b791699a977e4be4238a71f178a97b15453aca6

+ 8
- 0
pcb2/lars2.kicad_pcb View File

@@ -7,6 +7,14 @@
7 7
 		(legacy_teardrops no)
8 8
 	)
9 9
 	(paper "A4")
10
+	(title_block
11
+		(title "LARS V2")
12
+		(date "2024-04-01")
13
+		(rev "1")
14
+		(comment 1 "https://git.xythobuz.de/thomas/drumkit")
15
+		(comment 2 "Licensed under the CERN-OHL-S-2.0+")
16
+		(comment 4 "Copyright (c) 2024 Kauzerei, Thomas Buck")
17
+	)
10 18
 	(layers
11 19
 		(0 "F.Cu" signal)
12 20
 		(31 "B.Cu" signal)

+ 8
- 0
pcb2/lars2.kicad_sch View File

@@ -4,6 +4,14 @@
4 4
 	(generator_version "8.0")
5 5
 	(uuid "a25473f4-1652-4b35-af21-cda37f55b27b")
6 6
 	(paper "A4")
7
+	(title_block
8
+		(title "LARS V2")
9
+		(date "2024-04-01")
10
+		(rev "1")
11
+		(comment 1 "https://git.xythobuz.de/thomas/drumkit")
12
+		(comment 2 "Licensed under the CERN-OHL-S-2.0+")
13
+		(comment 4 "Copyright (c) 2024 Kauzerei, Thomas Buck")
14
+	)
7 15
 	(lib_symbols
8 16
 		(symbol "KiCad-RP-Pico:Pico"
9 17
 			(exclude_from_sim no)

Loading…
Cancel
Save