Compare commits
No commits in common. "main" and "schematic" have entirely different histories.
15 changed files with 6440 additions and 52284 deletions
2
.gitattributes
vendored
2
.gitattributes
vendored
|
|
@ -1,2 +0,0 @@
|
||||||
*.kicad_pro filter=kicad_project
|
|
||||||
*.kicad_sch filter=kicad_sch
|
|
||||||
24
.gitignore
vendored
24
.gitignore
vendored
|
|
@ -1,25 +1 @@
|
||||||
# For PCBs designed using KiCad: https://www.kicad.org/
|
|
||||||
# Format documentation: https://kicad.org/help/file-formats/
|
|
||||||
|
|
||||||
# Temporary files
|
|
||||||
*.000
|
|
||||||
*.bak
|
|
||||||
*.bck
|
|
||||||
*.kicad_pcb-bak
|
|
||||||
*.kicad_sch-bak
|
|
||||||
*-backups
|
*-backups
|
||||||
*.kicad_prl
|
|
||||||
*.sch-bak
|
|
||||||
*~
|
|
||||||
_autosave-*
|
|
||||||
*.tmp
|
|
||||||
*-save.pro
|
|
||||||
*-save.kicad_pcb
|
|
||||||
fp-info-cache
|
|
||||||
|
|
||||||
# Netlist files (exported from Eeschema)
|
|
||||||
*.net
|
|
||||||
|
|
||||||
# Autorouter files (exported from Pcbnew)
|
|
||||||
*.dsn
|
|
||||||
*.ses
|
|
||||||
|
|
|
||||||
|
|
@ -1,89 +0,0 @@
|
||||||
$ 1 0.000002834467120181406 382.76258214399064 99 5 43 5e-11
|
|
||||||
R -208 144 -208 112 0 0 40 12 0 0 0.5
|
|
||||||
R -208 336 -208 368 0 0 40 -11.8 0 0 0.5
|
|
||||||
r -208 336 -208 288 0 47000
|
|
||||||
174 -208 176 -208 240 1 100000 0.8168000000000001 Coarse Pitch
|
|
||||||
w -208 176 -208 144 0
|
|
||||||
w -208 240 -208 288 0
|
|
||||||
r -160 208 -96 208 0 100000
|
|
||||||
w -160 208 -192 208 0
|
|
||||||
350 -80 208 -16 208 0 10000 3605 -40 150 0.3416 Temperature
|
|
||||||
w -80 208 -96 208 0
|
|
||||||
w -80 496 -96 496 0
|
|
||||||
350 -80 496 -16 496 0 10000 3605 -40 150 0.3416 Temperature
|
|
||||||
w -160 496 -192 496 0
|
|
||||||
r -160 496 -96 496 0 1000000
|
|
||||||
w -208 528 -208 576 0
|
|
||||||
w -208 464 -208 432 0
|
|
||||||
174 -208 464 -208 528 1 100000 0.9950000000000001 Fine Pitch
|
|
||||||
r -208 624 -208 576 0 47000
|
|
||||||
R -208 624 -208 656 0 0 40 -11.8 0 0 0.5
|
|
||||||
g -304 448 -304 416 0 0
|
|
||||||
w -16 208 -16 496 0
|
|
||||||
w -16 496 -16 560 0
|
|
||||||
w -16 560 32 560 0
|
|
||||||
t 144 528 176 528 3 1 0.6276985517353669 -4.6582847020577205 99.1 spice-default
|
|
||||||
t 32 560 96 560 2 -1 11.778907914523595 -0.6487906372117721 99.1 spice-default
|
|
||||||
R 96 576 96 640 0 0 40 -11.8 0 0 0.5
|
|
||||||
R 96 464 96 432 0 0 40 12 0 0 0.5
|
|
||||||
r 96 528 96 480 0 1000000
|
|
||||||
w 96 480 96 464 0
|
|
||||||
w 96 528 96 544 0
|
|
||||||
w 96 528 144 528 0
|
|
||||||
g 176 576 176 592 0 0
|
|
||||||
w 176 576 176 544 0
|
|
||||||
r 176 512 176 432 0 1000
|
|
||||||
w 176 432 240 432 0
|
|
||||||
w 240 432 240 528 0
|
|
||||||
c 240 528 240 576 0 1e-8 5.289447208356786 0
|
|
||||||
g 240 576 240 592 0 0
|
|
||||||
a 352 512 432 512 9 15 -15 1000000 5.289447208356786 1.7999302126429169 100000
|
|
||||||
w 240 528 352 528 0
|
|
||||||
r 336 576 432 576 0 200000
|
|
||||||
w 432 512 432 576 0
|
|
||||||
r 336 576 336 640 0 100000
|
|
||||||
g 336 640 336 656 0 0
|
|
||||||
w 352 496 336 496 0
|
|
||||||
w 336 496 336 576 0
|
|
||||||
r 336 496 336 416 0 100000
|
|
||||||
R 336 416 336 384 0 0 40 12 0 0 0.5
|
|
||||||
d 416 352 352 352 2 1N4148
|
|
||||||
w 432 512 432 352 0
|
|
||||||
w 432 352 416 352 0
|
|
||||||
w 240 432 240 352 0
|
|
||||||
w 240 352 240 224 0
|
|
||||||
r -16 560 -16 608 0 1500
|
|
||||||
174 -16 608 -16 672 1 2000 0.12380000000000002 Trimpot RV4
|
|
||||||
w -16 672 16 672 0
|
|
||||||
w 16 672 16 640 0
|
|
||||||
w 16 640 0 640 0
|
|
||||||
g -16 672 -16 688 0 0
|
|
||||||
a 272 240 368 240 9 15 -15 1000000 5.289394314413642 5.289447208356786 100000
|
|
||||||
w 240 224 272 224 0
|
|
||||||
w 368 240 368 288 0
|
|
||||||
w 368 288 272 288 0
|
|
||||||
w 272 288 272 256 0
|
|
||||||
c 368 240 416 240 0 0.000001 6.278135250073841 0.001
|
|
||||||
r 416 240 416 304 0 100000
|
|
||||||
g 416 304 416 320 0 0
|
|
||||||
a 496 256 608 256 9 15 -15 1000000 -0.9887133929299675 -0.9887409356601992 100000
|
|
||||||
w 496 240 416 240 0
|
|
||||||
r 496 320 608 320 0 10000
|
|
||||||
r 496 320 496 384 0 5600
|
|
||||||
w 496 272 496 320 0
|
|
||||||
g 496 384 496 400 0 0
|
|
||||||
w 608 256 608 320 0
|
|
||||||
w 608 256 640 256 0
|
|
||||||
w 240 352 352 352 0
|
|
||||||
r 512 528 512 592 0 10000
|
|
||||||
g 512 640 512 704 0 0
|
|
||||||
w 480 592 512 592 0
|
|
||||||
R 512 480 512 448 4 5 128 5 0 0 0.5
|
|
||||||
c 512 480 512 528 0 4.7e-10 4.999999999999499 0.001
|
|
||||||
r 512 592 512 640 0 100000
|
|
||||||
403 528 640 656 704 0 78_64_0_4099_10_0.00009765625_-1_2_78_3_Sync\ssource\sconditioned
|
|
||||||
R -208 432 -208 400 0 0 40 12 0 0 0.5
|
|
||||||
o 74 128 0 12299 12.779004380092134 0.0001 0 2 74 3 Saw\sOUT
|
|
||||||
o 51 128 0 4107 20 0.05 1 2 51 3 Saw\soscillator\score
|
|
||||||
o 68 128 0 4107 20 0.00009765625 2 2 68 3 Saw\sAC\soffset\sde-biased
|
|
||||||
38 79 F1 3 20 500 -1 Sync\sSignal\sFrequency
|
|
||||||
|
|
@ -1,102 +0,0 @@
|
||||||
(version 1)
|
|
||||||
#Kicad 7
|
|
||||||
|
|
||||||
# 2-layer, 1oz copper
|
|
||||||
(rule "Minimum Trace Width (outer layer)"
|
|
||||||
(constraint track_width (min 5mil))
|
|
||||||
(layer outer)
|
|
||||||
(condition "A.Type == 'track'"))
|
|
||||||
|
|
||||||
(rule "Minimum Trace Spacing (outer layer)"
|
|
||||||
(constraint clearance (min 5mil))
|
|
||||||
(layer outer)
|
|
||||||
(condition "A.Type == 'track' && B.Type == A.Type"))
|
|
||||||
|
|
||||||
# 4-layer
|
|
||||||
(rule "Minimum Trace Width and Spacing (inner layer)"
|
|
||||||
(constraint track_width (min 3.5mil))
|
|
||||||
(layer inner)
|
|
||||||
(condition "A.Type == 'track'"))
|
|
||||||
|
|
||||||
(rule "Minimum Trace Spacing (inner layer)"
|
|
||||||
(constraint clearance (min 3.5mil))
|
|
||||||
(layer inner)
|
|
||||||
(condition "A.Type == 'track' && B.Type == A.Type"))
|
|
||||||
|
|
||||||
# silkscreen (Kicad 7 only)
|
|
||||||
(rule "Minimum Text"
|
|
||||||
(constraint text_thickness (min 0.15mm))
|
|
||||||
(constraint text_height (min 1mm))
|
|
||||||
(layer "?.Silkscreen"))
|
|
||||||
|
|
||||||
(rule "Pad to Silkscreen"
|
|
||||||
(constraint silk_clearance (min 0.15mm))
|
|
||||||
(layer outer)
|
|
||||||
(condition "A.Type == 'pad' && (B.Type == 'text' || B.Type == 'graphic')"))
|
|
||||||
|
|
||||||
# edge clearance
|
|
||||||
(rule "Trace to Outline"
|
|
||||||
(constraint edge_clearance (min 0.2mm))
|
|
||||||
(condition "A.Type == 'track'"))
|
|
||||||
|
|
||||||
# This would override board outline and milled areas
|
|
||||||
#(rule "Trace to V-Cut"
|
|
||||||
# (constraint clearance (min 0.4mm))
|
|
||||||
# (condition "A.Type == 'track' && B.Layer == 'Edge.Cuts'"))
|
|
||||||
|
|
||||||
# drill/hole size
|
|
||||||
(rule "drill hole size (mechanical)"
|
|
||||||
(constraint hole_size (min 0.2mm) (max 6.3mm)))
|
|
||||||
|
|
||||||
(rule "Minimum Via Hole Size"
|
|
||||||
(constraint hole_size (min 0.2mm))
|
|
||||||
(condition "A.Type == 'via'"))
|
|
||||||
|
|
||||||
(rule "Minimum Via Diameter"
|
|
||||||
(constraint via_diameter (min 0.45mm))
|
|
||||||
(condition "A.Type == 'via'"))
|
|
||||||
|
|
||||||
(rule "PTH Hole Size"
|
|
||||||
(constraint hole_size (min 0.2mm) (max 6.35mm))
|
|
||||||
(condition "A.isPlated()"))
|
|
||||||
|
|
||||||
(rule "Minimum Non-plated Hole Size"
|
|
||||||
(constraint hole_size (min 0.5mm))
|
|
||||||
(condition "A.Type == 'pad' && !A.isPlated()"))
|
|
||||||
|
|
||||||
(rule "Minimum Castellated Hole Size"
|
|
||||||
(constraint hole_size (min 0.6mm))
|
|
||||||
(condition "A.Type == 'pad' && A.Fabrication_Property == 'Castellated pad'"))
|
|
||||||
|
|
||||||
# clearance
|
|
||||||
(rule "hole to hole clearance (different nets)"
|
|
||||||
(constraint hole_to_hole (min 0.5mm))
|
|
||||||
(condition "A.Net != B.Net"))
|
|
||||||
|
|
||||||
(rule "via to track clearance"
|
|
||||||
(constraint hole_clearance (min 0.254mm))
|
|
||||||
(condition "A.Type == 'via' && B.Type == 'track'"))
|
|
||||||
|
|
||||||
(rule "via to via clearance (same nets)"
|
|
||||||
(constraint hole_to_hole (min 0.254mm))
|
|
||||||
(condition "A.Type == 'via' && B.Type == A.Type && A.Net == B.Net"))
|
|
||||||
|
|
||||||
(rule "pad to pad clearance (with hole, different nets)"
|
|
||||||
(constraint hole_to_hole (min 0.5mm))
|
|
||||||
(condition "A.Type == 'pad' && B.Type == A.Type && A.Net != B.Net"))
|
|
||||||
|
|
||||||
(rule "pad to pad clearance (without hole, different nets)"
|
|
||||||
(constraint clearance (min 0.127mm))
|
|
||||||
(condition "A.Type == 'pad' && B.Type == A.Type && A.Net != B.Net"))
|
|
||||||
|
|
||||||
(rule "NPTH to Track clearance)"
|
|
||||||
(constraint hole_clearance (min 0.254mm))
|
|
||||||
(condition "A.Pad_Type == 'NPTH, mechanical' && B.Type == 'track'"))
|
|
||||||
|
|
||||||
(rule "PTH to Track clearance)"
|
|
||||||
(constraint hole_clearance (min 0.33mm))
|
|
||||||
(condition "A.isPlated() && B.Type == 'track'"))
|
|
||||||
|
|
||||||
(rule "Pad to Track clearance)"
|
|
||||||
(constraint clearance (min 0.2mm))
|
|
||||||
(condition "A.isPlated() && B.Type == 'track'"))
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,14 +1,12 @@
|
||||||
{
|
{
|
||||||
"board": {
|
"board": {
|
||||||
"active_layer": 36,
|
"active_layer": 0,
|
||||||
"active_layer_preset": "",
|
"active_layer_preset": "",
|
||||||
"auto_track_width": false,
|
"auto_track_width": true,
|
||||||
"hidden_netclasses": [],
|
|
||||||
"hidden_nets": [],
|
"hidden_nets": [],
|
||||||
"high_contrast_mode": 0,
|
"high_contrast_mode": 0,
|
||||||
"net_color_mode": 1,
|
"net_color_mode": 1,
|
||||||
"opacity": {
|
"opacity": {
|
||||||
"images": 0.6,
|
|
||||||
"pads": 1.0,
|
"pads": 1.0,
|
||||||
"tracks": 1.0,
|
"tracks": 1.0,
|
||||||
"vias": 1.0,
|
"vias": 1.0,
|
||||||
|
|
|
||||||
|
|
@ -1,193 +1,29 @@
|
||||||
{
|
{
|
||||||
"board": {
|
"board": {
|
||||||
"3dviewports": [],
|
|
||||||
"design_settings": {
|
"design_settings": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
"board_outline_line_width": 0.09999999999999999,
|
"board_outline_line_width": 0.1,
|
||||||
"copper_line_width": 0.19999999999999998,
|
"copper_line_width": 0.2,
|
||||||
"copper_text_italic": false,
|
|
||||||
"copper_text_size_h": 1.5,
|
"copper_text_size_h": 1.5,
|
||||||
"copper_text_size_v": 1.5,
|
"copper_text_size_v": 1.5,
|
||||||
"copper_text_thickness": 0.3,
|
"copper_text_thickness": 0.3,
|
||||||
"copper_text_upright": false,
|
|
||||||
"courtyard_line_width": 0.049999999999999996,
|
|
||||||
"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.09999999999999999,
|
|
||||||
"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.15,
|
"other_line_width": 0.15,
|
||||||
"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": 1.42,
|
|
||||||
"height": 2.13,
|
|
||||||
"width": 2.13
|
|
||||||
},
|
|
||||||
"silk_line_width": 0.15,
|
"silk_line_width": 0.15,
|
||||||
"silk_text_italic": false,
|
|
||||||
"silk_text_size_h": 1.0,
|
"silk_text_size_h": 1.0,
|
||||||
"silk_text_size_v": 1.0,
|
"silk_text_size_v": 1.0,
|
||||||
"silk_text_thickness": 0.15,
|
"silk_text_thickness": 0.15
|
||||||
"silk_text_upright": false,
|
|
||||||
"zones": {
|
|
||||||
"45_degree_only": false,
|
|
||||||
"min_clearance": 0.508
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"diff_pair_dimensions": [
|
"diff_pair_dimensions": [],
|
||||||
{
|
|
||||||
"gap": 0.0,
|
|
||||||
"via_gap": 0.0,
|
|
||||||
"width": 0.0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"drc_exclusions": [],
|
"drc_exclusions": [],
|
||||||
"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_type_mismatch": "error",
|
|
||||||
"hole_clearance": "error",
|
|
||||||
"hole_near_hole": "error",
|
|
||||||
"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": "warning",
|
|
||||||
"missing_footprint": "warning",
|
|
||||||
"net_conflict": "warning",
|
|
||||||
"npth_inside_courtyard": "ignore",
|
|
||||||
"padstack": "error",
|
|
||||||
"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": {
|
"rules": {
|
||||||
"allow_blind_buried_vias": false,
|
|
||||||
"allow_microvias": false,
|
|
||||||
"max_error": 0.005,
|
|
||||||
"min_clearance": 0.19999999999999998,
|
|
||||||
"min_connection": 0.0,
|
|
||||||
"min_copper_edge_clearance": 0.0,
|
"min_copper_edge_clearance": 0.0,
|
||||||
"min_hole_clearance": 0.25,
|
|
||||||
"min_hole_to_hole": 0.25,
|
|
||||||
"min_microvia_diameter": 0.19999999999999998,
|
|
||||||
"min_microvia_drill": 0.09999999999999999,
|
|
||||||
"min_resolved_spokes": 2,
|
|
||||||
"min_silk_clearance": 0.049999999999999996,
|
|
||||||
"min_text_height": 1.0,
|
|
||||||
"min_text_thickness": 0.153,
|
|
||||||
"min_through_hole_diameter": 0.3,
|
|
||||||
"min_track_width": 0.19999999999999998,
|
|
||||||
"min_via_annular_width": 0.08,
|
|
||||||
"min_via_diameter": 0.44999999999999996,
|
|
||||||
"solder_mask_clearance": 0.0,
|
"solder_mask_clearance": 0.0,
|
||||||
"solder_mask_min_width": 0.0,
|
"solder_mask_min_width": 0.0
|
||||||
"solder_mask_to_copper_clearance": 0.0,
|
|
||||||
"use_height_for_length_calcs": true
|
|
||||||
},
|
},
|
||||||
"teardrop_options": [
|
"track_widths": [],
|
||||||
{
|
"via_dimensions": []
|
||||||
"td_allow_use_two_tracks": true,
|
|
||||||
"td_curve_segcount": 5,
|
|
||||||
"td_on_pad_in_zone": false,
|
|
||||||
"td_onpadsmd": true,
|
|
||||||
"td_onroundshapesonly": false,
|
|
||||||
"td_ontrackend": false,
|
|
||||||
"td_onviapad": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"teardrop_parameters": [
|
|
||||||
{
|
|
||||||
"td_curve_segcount": 0,
|
|
||||||
"td_height_ratio": 1.0,
|
|
||||||
"td_length_ratio": 0.5,
|
|
||||||
"td_maxheight": 2.0,
|
|
||||||
"td_maxlen": 1.0,
|
|
||||||
"td_target_name": "td_round_shape",
|
|
||||||
"td_width_to_size_filter_ratio": 0.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"td_curve_segcount": 0,
|
|
||||||
"td_height_ratio": 1.0,
|
|
||||||
"td_length_ratio": 0.5,
|
|
||||||
"td_maxheight": 2.0,
|
|
||||||
"td_maxlen": 1.0,
|
|
||||||
"td_target_name": "td_rect_shape",
|
|
||||||
"td_width_to_size_filter_ratio": 0.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"td_curve_segcount": 0,
|
|
||||||
"td_height_ratio": 1.0,
|
|
||||||
"td_length_ratio": 0.5,
|
|
||||||
"td_maxheight": 2.0,
|
|
||||||
"td_maxlen": 1.0,
|
|
||||||
"td_target_name": "td_track_end",
|
|
||||||
"td_width_to_size_filter_ratio": 0.9
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"track_widths": [
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"via_dimensions": [
|
|
||||||
{
|
|
||||||
"diameter": 0.0,
|
|
||||||
"drill": 0.0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"zones_allow_external_fillets": false,
|
|
||||||
"zones_use_no_outline": true
|
|
||||||
},
|
},
|
||||||
"layer_presets": [],
|
"layer_presets": []
|
||||||
"viewports": []
|
|
||||||
},
|
},
|
||||||
"boards": [],
|
"boards": [],
|
||||||
"cvpcb": {
|
"cvpcb": {
|
||||||
|
|
@ -371,23 +207,18 @@
|
||||||
"rule_severities": {
|
"rule_severities": {
|
||||||
"bus_definition_conflict": "error",
|
"bus_definition_conflict": "error",
|
||||||
"bus_entry_needed": "error",
|
"bus_entry_needed": "error",
|
||||||
|
"bus_label_syntax": "error",
|
||||||
"bus_to_bus_conflict": "error",
|
"bus_to_bus_conflict": "error",
|
||||||
"bus_to_net_conflict": "error",
|
"bus_to_net_conflict": "error",
|
||||||
"conflicting_netclasses": "error",
|
|
||||||
"different_unit_footprint": "error",
|
"different_unit_footprint": "error",
|
||||||
"different_unit_net": "error",
|
"different_unit_net": "error",
|
||||||
"duplicate_reference": "error",
|
"duplicate_reference": "error",
|
||||||
"duplicate_sheet_names": "error",
|
"duplicate_sheet_names": "error",
|
||||||
"endpoint_off_grid": "warning",
|
|
||||||
"extra_units": "error",
|
"extra_units": "error",
|
||||||
"global_label_dangling": "warning",
|
"global_label_dangling": "warning",
|
||||||
"hier_label_mismatch": "error",
|
"hier_label_mismatch": "error",
|
||||||
"label_dangling": "error",
|
"label_dangling": "error",
|
||||||
"lib_symbol_issues": "warning",
|
"lib_symbol_issues": "warning",
|
||||||
"missing_bidi_pin": "warning",
|
|
||||||
"missing_input_pin": "warning",
|
|
||||||
"missing_power_pin": "error",
|
|
||||||
"missing_unit": "warning",
|
|
||||||
"multiple_net_names": "warning",
|
"multiple_net_names": "warning",
|
||||||
"net_not_bus_member": "warning",
|
"net_not_bus_member": "warning",
|
||||||
"no_connect_connected": "warning",
|
"no_connect_connected": "warning",
|
||||||
|
|
@ -397,7 +228,6 @@
|
||||||
"pin_to_pin": "warning",
|
"pin_to_pin": "warning",
|
||||||
"power_pin_not_driven": "error",
|
"power_pin_not_driven": "error",
|
||||||
"similar_labels": "warning",
|
"similar_labels": "warning",
|
||||||
"simulation_model_issue": "ignore",
|
|
||||||
"unannotated": "error",
|
"unannotated": "error",
|
||||||
"unit_value_mismatch": "error",
|
"unit_value_mismatch": "error",
|
||||||
"unresolved_variable": "error",
|
"unresolved_variable": "error",
|
||||||
|
|
@ -415,7 +245,7 @@
|
||||||
"net_settings": {
|
"net_settings": {
|
||||||
"classes": [
|
"classes": [
|
||||||
{
|
{
|
||||||
"bus_width": 12,
|
"bus_width": 12.0,
|
||||||
"clearance": 0.2,
|
"clearance": 0.2,
|
||||||
"diff_pair_gap": 0.25,
|
"diff_pair_gap": 0.25,
|
||||||
"diff_pair_via_gap": 0.25,
|
"diff_pair_via_gap": 0.25,
|
||||||
|
|
@ -429,15 +259,13 @@
|
||||||
"track_width": 0.25,
|
"track_width": 0.25,
|
||||||
"via_diameter": 0.8,
|
"via_diameter": 0.8,
|
||||||
"via_drill": 0.4,
|
"via_drill": 0.4,
|
||||||
"wire_width": 6
|
"wire_width": 6.0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": 3
|
"version": 2
|
||||||
},
|
},
|
||||||
"net_colors": null,
|
"net_colors": null
|
||||||
"netclass_assignments": null,
|
|
||||||
"netclass_patterns": []
|
|
||||||
},
|
},
|
||||||
"pcbnew": {
|
"pcbnew": {
|
||||||
"last_paths": {
|
"last_paths": {
|
||||||
|
|
@ -453,8 +281,6 @@
|
||||||
"schematic": {
|
"schematic": {
|
||||||
"annotate_start_num": 0,
|
"annotate_start_num": 0,
|
||||||
"drawing": {
|
"drawing": {
|
||||||
"dashed_lines_dash_length_ratio": 12.0,
|
|
||||||
"dashed_lines_gap_length_ratio": 3.0,
|
|
||||||
"default_line_thickness": 6.0,
|
"default_line_thickness": 6.0,
|
||||||
"default_text_size": 50.0,
|
"default_text_size": 50.0,
|
||||||
"field_names": [],
|
"field_names": [],
|
||||||
|
|
@ -486,11 +312,7 @@
|
||||||
"page_layout_descr_file": "",
|
"page_layout_descr_file": "",
|
||||||
"plot_directory": "",
|
"plot_directory": "",
|
||||||
"spice_adjust_passive_values": false,
|
"spice_adjust_passive_values": false,
|
||||||
"spice_current_sheet_as_root": false,
|
|
||||||
"spice_external_command": "spice \"%I\"",
|
"spice_external_command": "spice \"%I\"",
|
||||||
"spice_model_current_sheet_as_root": true,
|
|
||||||
"spice_save_all_currents": false,
|
|
||||||
"spice_save_all_voltages": false,
|
|
||||||
"subpart_first_id": 65,
|
"subpart_first_id": 65,
|
||||||
"subpart_id_separator": 0
|
"subpart_id_separator": 0
|
||||||
},
|
},
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,102 +0,0 @@
|
||||||
(version 1)
|
|
||||||
#Kicad 7
|
|
||||||
|
|
||||||
# 2-layer, 1oz copper
|
|
||||||
(rule "Minimum Trace Width (outer layer)"
|
|
||||||
(constraint track_width (min 5mil))
|
|
||||||
(layer outer)
|
|
||||||
(condition "A.Type == 'track'"))
|
|
||||||
|
|
||||||
(rule "Minimum Trace Spacing (outer layer)"
|
|
||||||
(constraint clearance (min 5mil))
|
|
||||||
(layer outer)
|
|
||||||
(condition "A.Type == 'track' && B.Type == A.Type"))
|
|
||||||
|
|
||||||
# 4-layer
|
|
||||||
(rule "Minimum Trace Width and Spacing (inner layer)"
|
|
||||||
(constraint track_width (min 3.5mil))
|
|
||||||
(layer inner)
|
|
||||||
(condition "A.Type == 'track'"))
|
|
||||||
|
|
||||||
(rule "Minimum Trace Spacing (inner layer)"
|
|
||||||
(constraint clearance (min 3.5mil))
|
|
||||||
(layer inner)
|
|
||||||
(condition "A.Type == 'track' && B.Type == A.Type"))
|
|
||||||
|
|
||||||
# silkscreen (Kicad 7 only)
|
|
||||||
(rule "Minimum Text"
|
|
||||||
(constraint text_thickness (min 0.15mm))
|
|
||||||
(constraint text_height (min 1mm))
|
|
||||||
(layer "?.Silkscreen"))
|
|
||||||
|
|
||||||
(rule "Pad to Silkscreen"
|
|
||||||
(constraint silk_clearance (min 0.15mm))
|
|
||||||
(layer outer)
|
|
||||||
(condition "A.Type == 'pad' && (B.Type == 'text' || B.Type == 'graphic')"))
|
|
||||||
|
|
||||||
# edge clearance
|
|
||||||
(rule "Trace to Outline"
|
|
||||||
(constraint edge_clearance (min 0.2mm))
|
|
||||||
(condition "A.Type == 'track'"))
|
|
||||||
|
|
||||||
# This would override board outline and milled areas
|
|
||||||
#(rule "Trace to V-Cut"
|
|
||||||
# (constraint clearance (min 0.4mm))
|
|
||||||
# (condition "A.Type == 'track' && B.Layer == 'Edge.Cuts'"))
|
|
||||||
|
|
||||||
# drill/hole size
|
|
||||||
(rule "drill hole size (mechanical)"
|
|
||||||
(constraint hole_size (min 0.2mm) (max 6.3mm)))
|
|
||||||
|
|
||||||
(rule "Minimum Via Hole Size"
|
|
||||||
(constraint hole_size (min 0.2mm))
|
|
||||||
(condition "A.Type == 'via'"))
|
|
||||||
|
|
||||||
(rule "Minimum Via Diameter"
|
|
||||||
(constraint via_diameter (min 0.45mm))
|
|
||||||
(condition "A.Type == 'via'"))
|
|
||||||
|
|
||||||
(rule "PTH Hole Size"
|
|
||||||
(constraint hole_size (min 0.2mm) (max 6.35mm))
|
|
||||||
(condition "A.isPlated()"))
|
|
||||||
|
|
||||||
(rule "Minimum Non-plated Hole Size"
|
|
||||||
(constraint hole_size (min 0.5mm))
|
|
||||||
(condition "A.Type == 'pad' && !A.isPlated()"))
|
|
||||||
|
|
||||||
(rule "Minimum Castellated Hole Size"
|
|
||||||
(constraint hole_size (min 0.6mm))
|
|
||||||
(condition "A.Type == 'pad' && A.Fabrication_Property == 'Castellated pad'"))
|
|
||||||
|
|
||||||
# clearance
|
|
||||||
(rule "hole to hole clearance (different nets)"
|
|
||||||
(constraint hole_to_hole (min 0.5mm))
|
|
||||||
(condition "A.Net != B.Net"))
|
|
||||||
|
|
||||||
(rule "via to track clearance"
|
|
||||||
(constraint hole_clearance (min 0.254mm))
|
|
||||||
(condition "A.Type == 'via' && B.Type == 'track'"))
|
|
||||||
|
|
||||||
(rule "via to via clearance (same nets)"
|
|
||||||
(constraint hole_to_hole (min 0.254mm))
|
|
||||||
(condition "A.Type == 'via' && B.Type == A.Type && A.Net == B.Net"))
|
|
||||||
|
|
||||||
(rule "pad to pad clearance (with hole, different nets)"
|
|
||||||
(constraint hole_to_hole (min 0.5mm))
|
|
||||||
(condition "A.Type == 'pad' && B.Type == A.Type && A.Net != B.Net"))
|
|
||||||
|
|
||||||
(rule "pad to pad clearance (without hole, different nets)"
|
|
||||||
(constraint clearance (min 0.127mm))
|
|
||||||
(condition "A.Type == 'pad' && B.Type == A.Type && A.Net != B.Net"))
|
|
||||||
|
|
||||||
(rule "NPTH to Track clearance)"
|
|
||||||
(constraint hole_clearance (min 0.254mm))
|
|
||||||
(condition "A.Pad_Type == 'NPTH, mechanical' && B.Type == 'track'"))
|
|
||||||
|
|
||||||
(rule "PTH to Track clearance)"
|
|
||||||
(constraint hole_clearance (min 0.33mm))
|
|
||||||
(condition "A.isPlated() && B.Type == 'track'"))
|
|
||||||
|
|
||||||
(rule "Pad to Track clearance)"
|
|
||||||
(constraint clearance (min 0.2mm))
|
|
||||||
(condition "A.isPlated() && B.Type == 'track'"))
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,77 +0,0 @@
|
||||||
{
|
|
||||||
"board": {
|
|
||||||
"active_layer": 37,
|
|
||||||
"active_layer_preset": "All Layers",
|
|
||||||
"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
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"filename": "Fireball_panel.kicad_prl",
|
|
||||||
"version": 3
|
|
||||||
},
|
|
||||||
"project": {
|
|
||||||
"files": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,504 +0,0 @@
|
||||||
{
|
|
||||||
"board": {
|
|
||||||
"3dviewports": [],
|
|
||||||
"design_settings": {
|
|
||||||
"defaults": {
|
|
||||||
"board_outline_line_width": 0.09999999999999999,
|
|
||||||
"copper_line_width": 0.19999999999999998,
|
|
||||||
"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.049999999999999996,
|
|
||||||
"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.09999999999999999,
|
|
||||||
"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.15,
|
|
||||||
"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": 1.42,
|
|
||||||
"height": 2.13,
|
|
||||||
"width": 2.13
|
|
||||||
},
|
|
||||||
"silk_line_width": 0.15,
|
|
||||||
"silk_text_italic": false,
|
|
||||||
"silk_text_size_h": 1.0,
|
|
||||||
"silk_text_size_v": 1.0,
|
|
||||||
"silk_text_thickness": 0.15,
|
|
||||||
"silk_text_upright": false,
|
|
||||||
"zones": {
|
|
||||||
"45_degree_only": false,
|
|
||||||
"min_clearance": 0.508
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"diff_pair_dimensions": [
|
|
||||||
{
|
|
||||||
"gap": 0.0,
|
|
||||||
"via_gap": 0.0,
|
|
||||||
"width": 0.0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"drc_exclusions": [],
|
|
||||||
"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_type_mismatch": "error",
|
|
||||||
"hole_clearance": "error",
|
|
||||||
"hole_near_hole": "error",
|
|
||||||
"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": "warning",
|
|
||||||
"missing_footprint": "warning",
|
|
||||||
"net_conflict": "warning",
|
|
||||||
"npth_inside_courtyard": "ignore",
|
|
||||||
"padstack": "error",
|
|
||||||
"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": {
|
|
||||||
"allow_blind_buried_vias": false,
|
|
||||||
"allow_microvias": false,
|
|
||||||
"max_error": 0.005,
|
|
||||||
"min_clearance": 0.19999999999999998,
|
|
||||||
"min_connection": 0.0,
|
|
||||||
"min_copper_edge_clearance": 0.0,
|
|
||||||
"min_hole_clearance": 0.25,
|
|
||||||
"min_hole_to_hole": 0.25,
|
|
||||||
"min_microvia_diameter": 0.19999999999999998,
|
|
||||||
"min_microvia_drill": 0.09999999999999999,
|
|
||||||
"min_resolved_spokes": 2,
|
|
||||||
"min_silk_clearance": 0.049999999999999996,
|
|
||||||
"min_text_height": 1.0,
|
|
||||||
"min_text_thickness": 0.153,
|
|
||||||
"min_through_hole_diameter": 0.3,
|
|
||||||
"min_track_width": 0.19999999999999998,
|
|
||||||
"min_via_annular_width": 0.08,
|
|
||||||
"min_via_diameter": 0.44999999999999996,
|
|
||||||
"solder_mask_clearance": 0.0,
|
|
||||||
"solder_mask_min_width": 0.0,
|
|
||||||
"solder_mask_to_copper_clearance": 0.0,
|
|
||||||
"use_height_for_length_calcs": true
|
|
||||||
},
|
|
||||||
"teardrop_options": [
|
|
||||||
{
|
|
||||||
"td_allow_use_two_tracks": true,
|
|
||||||
"td_curve_segcount": 5,
|
|
||||||
"td_on_pad_in_zone": false,
|
|
||||||
"td_onpadsmd": true,
|
|
||||||
"td_onroundshapesonly": false,
|
|
||||||
"td_ontrackend": false,
|
|
||||||
"td_onviapad": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"teardrop_parameters": [
|
|
||||||
{
|
|
||||||
"td_curve_segcount": 0,
|
|
||||||
"td_height_ratio": 1.0,
|
|
||||||
"td_length_ratio": 0.5,
|
|
||||||
"td_maxheight": 2.0,
|
|
||||||
"td_maxlen": 1.0,
|
|
||||||
"td_target_name": "td_round_shape",
|
|
||||||
"td_width_to_size_filter_ratio": 0.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"td_curve_segcount": 0,
|
|
||||||
"td_height_ratio": 1.0,
|
|
||||||
"td_length_ratio": 0.5,
|
|
||||||
"td_maxheight": 2.0,
|
|
||||||
"td_maxlen": 1.0,
|
|
||||||
"td_target_name": "td_rect_shape",
|
|
||||||
"td_width_to_size_filter_ratio": 0.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"td_curve_segcount": 0,
|
|
||||||
"td_height_ratio": 1.0,
|
|
||||||
"td_length_ratio": 0.5,
|
|
||||||
"td_maxheight": 2.0,
|
|
||||||
"td_maxlen": 1.0,
|
|
||||||
"td_target_name": "td_track_end",
|
|
||||||
"td_width_to_size_filter_ratio": 0.9
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"track_widths": [
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"via_dimensions": [
|
|
||||||
{
|
|
||||||
"diameter": 0.0,
|
|
||||||
"drill": 0.0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"zones_allow_external_fillets": false,
|
|
||||||
"zones_use_no_outline": true
|
|
||||||
},
|
|
||||||
"layer_presets": [],
|
|
||||||
"viewports": []
|
|
||||||
},
|
|
||||||
"boards": [],
|
|
||||||
"cvpcb": {
|
|
||||||
"equivalence_files": []
|
|
||||||
},
|
|
||||||
"erc": {
|
|
||||||
"erc_exclusions": [],
|
|
||||||
"meta": {
|
|
||||||
"version": 0
|
|
||||||
},
|
|
||||||
"pin_map": [
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
2,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
2,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
2,
|
|
||||||
1,
|
|
||||||
2,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
2,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
2,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
0,
|
|
||||||
2,
|
|
||||||
1,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
2,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
2
|
|
||||||
],
|
|
||||||
[
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2,
|
|
||||||
2
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"rule_severities": {
|
|
||||||
"bus_definition_conflict": "error",
|
|
||||||
"bus_entry_needed": "error",
|
|
||||||
"bus_to_bus_conflict": "error",
|
|
||||||
"bus_to_net_conflict": "error",
|
|
||||||
"conflicting_netclasses": "error",
|
|
||||||
"different_unit_footprint": "error",
|
|
||||||
"different_unit_net": "error",
|
|
||||||
"duplicate_reference": "error",
|
|
||||||
"duplicate_sheet_names": "error",
|
|
||||||
"endpoint_off_grid": "warning",
|
|
||||||
"extra_units": "error",
|
|
||||||
"global_label_dangling": "warning",
|
|
||||||
"hier_label_mismatch": "error",
|
|
||||||
"label_dangling": "error",
|
|
||||||
"lib_symbol_issues": "warning",
|
|
||||||
"missing_bidi_pin": "warning",
|
|
||||||
"missing_input_pin": "warning",
|
|
||||||
"missing_power_pin": "error",
|
|
||||||
"missing_unit": "warning",
|
|
||||||
"multiple_net_names": "warning",
|
|
||||||
"net_not_bus_member": "warning",
|
|
||||||
"no_connect_connected": "warning",
|
|
||||||
"no_connect_dangling": "warning",
|
|
||||||
"pin_not_connected": "error",
|
|
||||||
"pin_not_driven": "error",
|
|
||||||
"pin_to_pin": "warning",
|
|
||||||
"power_pin_not_driven": "error",
|
|
||||||
"similar_labels": "warning",
|
|
||||||
"simulation_model_issue": "ignore",
|
|
||||||
"unannotated": "error",
|
|
||||||
"unit_value_mismatch": "error",
|
|
||||||
"unresolved_variable": "error",
|
|
||||||
"wire_dangling": "error"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"libraries": {
|
|
||||||
"pinned_footprint_libs": [],
|
|
||||||
"pinned_symbol_libs": []
|
|
||||||
},
|
|
||||||
"meta": {
|
|
||||||
"filename": "Fireball_panel.kicad_pro",
|
|
||||||
"version": 1
|
|
||||||
},
|
|
||||||
"net_settings": {
|
|
||||||
"classes": [
|
|
||||||
{
|
|
||||||
"bus_width": 12,
|
|
||||||
"clearance": 0.2,
|
|
||||||
"diff_pair_gap": 0.25,
|
|
||||||
"diff_pair_via_gap": 0.25,
|
|
||||||
"diff_pair_width": 0.2,
|
|
||||||
"line_style": 0,
|
|
||||||
"microvia_diameter": 0.3,
|
|
||||||
"microvia_drill": 0.1,
|
|
||||||
"name": "Default",
|
|
||||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
|
||||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
|
||||||
"track_width": 0.25,
|
|
||||||
"via_diameter": 0.8,
|
|
||||||
"via_drill": 0.4,
|
|
||||||
"wire_width": 6
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"meta": {
|
|
||||||
"version": 3
|
|
||||||
},
|
|
||||||
"net_colors": null,
|
|
||||||
"netclass_assignments": null,
|
|
||||||
"netclass_patterns": []
|
|
||||||
},
|
|
||||||
"pcbnew": {
|
|
||||||
"last_paths": {
|
|
||||||
"gencad": "",
|
|
||||||
"idf": "",
|
|
||||||
"netlist": "",
|
|
||||||
"specctra_dsn": "",
|
|
||||||
"step": "",
|
|
||||||
"vrml": ""
|
|
||||||
},
|
|
||||||
"page_layout_descr_file": ""
|
|
||||||
},
|
|
||||||
"schematic": {
|
|
||||||
"annotate_start_num": 0,
|
|
||||||
"drawing": {
|
|
||||||
"dashed_lines_dash_length_ratio": 12.0,
|
|
||||||
"dashed_lines_gap_length_ratio": 3.0,
|
|
||||||
"default_line_thickness": 6.0,
|
|
||||||
"default_text_size": 50.0,
|
|
||||||
"field_names": [],
|
|
||||||
"intersheets_ref_own_page": false,
|
|
||||||
"intersheets_ref_prefix": "",
|
|
||||||
"intersheets_ref_short": false,
|
|
||||||
"intersheets_ref_show": false,
|
|
||||||
"intersheets_ref_suffix": "",
|
|
||||||
"junction_size_choice": 3,
|
|
||||||
"label_size_ratio": 0.375,
|
|
||||||
"pin_symbol_size": 25.0,
|
|
||||||
"text_offset_ratio": 0.15
|
|
||||||
},
|
|
||||||
"legacy_lib_dir": "",
|
|
||||||
"legacy_lib_list": [],
|
|
||||||
"meta": {
|
|
||||||
"version": 1
|
|
||||||
},
|
|
||||||
"net_format_name": "",
|
|
||||||
"ngspice": {
|
|
||||||
"fix_include_paths": true,
|
|
||||||
"fix_passive_vals": false,
|
|
||||||
"meta": {
|
|
||||||
"version": 0
|
|
||||||
},
|
|
||||||
"model_mode": 0,
|
|
||||||
"workbook_filename": ""
|
|
||||||
},
|
|
||||||
"page_layout_descr_file": "",
|
|
||||||
"plot_directory": "",
|
|
||||||
"spice_adjust_passive_values": false,
|
|
||||||
"spice_current_sheet_as_root": false,
|
|
||||||
"spice_external_command": "spice \"%I\"",
|
|
||||||
"spice_model_current_sheet_as_root": true,
|
|
||||||
"spice_save_all_currents": false,
|
|
||||||
"spice_save_all_voltages": false,
|
|
||||||
"subpart_first_id": 65,
|
|
||||||
"subpart_id_separator": 0
|
|
||||||
},
|
|
||||||
"sheets": [
|
|
||||||
[
|
|
||||||
"d890881c-526d-4dda-9f12-a86a28e63d51",
|
|
||||||
""
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"text_variables": {}
|
|
||||||
}
|
|
||||||
|
|
@ -1,330 +0,0 @@
|
||||||
// sockets:
|
|
||||||
// saw out
|
|
||||||
// square out
|
|
||||||
// triangle out
|
|
||||||
// fm in
|
|
||||||
// CV in
|
|
||||||
// PWM duty
|
|
||||||
|
|
||||||
// pots (all p160s):
|
|
||||||
// coarse tuning
|
|
||||||
// fine tuning
|
|
||||||
// FM attenuation
|
|
||||||
// PWM duty
|
|
||||||
// PWM duty attenuation
|
|
||||||
|
|
||||||
|
|
||||||
/* [Default values] */
|
|
||||||
// Line segments for circles
|
|
||||||
FN = 100; // [1:1:360]
|
|
||||||
// Unit size (mm)
|
|
||||||
U = 44.45;
|
|
||||||
// Horizontal pitch size (mm)
|
|
||||||
HP = 5.08; // 5.08, must explicitly account for margin at edges
|
|
||||||
// Futura Light typeface for labels
|
|
||||||
default_label_font = "Futura Md BT:style=Medium";
|
|
||||||
font_for_title = "QuentinEF:style=Medium";
|
|
||||||
title_font_size = 12;
|
|
||||||
label_font_size = 5;
|
|
||||||
|
|
||||||
$fn=FN;
|
|
||||||
|
|
||||||
/* [Panel] */
|
|
||||||
// Height of module (mm) - Would not change this if you are using Eurorack
|
|
||||||
height = 128.5; // A little less then 3U
|
|
||||||
// Thickness of module (mm) - Would not change this if you are using Eurorack
|
|
||||||
thickness = 2; // Website specifies a thickness of 2mm - but adjust to fit printer specs - often the first layer will be thinner than this
|
|
||||||
printer_z_fix = 0.2; // this gets added to the base panel's thickness to account for squishing
|
|
||||||
|
|
||||||
// for inset labels, translating to this height controls label depth
|
|
||||||
label_inset_height = thickness-1;
|
|
||||||
|
|
||||||
// Width of module (HP)
|
|
||||||
width = 14; // [1:1:84]
|
|
||||||
|
|
||||||
/* [Holes] */
|
|
||||||
// Four hole threshold (HP)
|
|
||||||
four_hole_threshold = 10;
|
|
||||||
// Center two holes
|
|
||||||
two_holes_type = "opposite"; // [center, opposite, mirror]
|
|
||||||
// Hole radius (mm)
|
|
||||||
hole_r = 1.7;
|
|
||||||
// Hole distance from the side (HP)
|
|
||||||
hole_dist_side = hp_mm(1.5);
|
|
||||||
// Hole distance from the top (mm)
|
|
||||||
hole_dist_top = 2.5;
|
|
||||||
|
|
||||||
rail_clearance = 9; // mm from very top/bottom edge and where it is safe to put reinforcing walls; i.e. the thickness of the rail + a safety margin
|
|
||||||
|
|
||||||
width_mm = 70.8; // 14HP×5.08mm = 71.12; ES for 14HP is 70.8
|
|
||||||
first_row = 25.65; //mm
|
|
||||||
second_row = 47.25; //mm
|
|
||||||
third_row = 65.75; //mm
|
|
||||||
fourth_row = 88.25; //mm
|
|
||||||
fifth_row = 108.75; //mm
|
|
||||||
// Center adjust to shift left and right columns toward the center
|
|
||||||
center_adjust = 2.5; //mm
|
|
||||||
first_col = 10.1+center_adjust; //mm
|
|
||||||
second_col = width_mm/2; //mm
|
|
||||||
third_col = 60.7-center_adjust; //mm
|
|
||||||
cv_in = [first_col, first_row, 0];
|
|
||||||
c_tune = [second_col, first_row, 0];
|
|
||||||
|
|
||||||
//Second row interface placement
|
|
||||||
f_tune = [second_col, second_row, 0];
|
|
||||||
|
|
||||||
//Third row interface placement
|
|
||||||
sync_in = [first_col, third_row, 0];
|
|
||||||
fm_lvl = [second_col, third_row, 0];
|
|
||||||
saw_out = [third_col, third_row, 0];
|
|
||||||
|
|
||||||
//Fourth row interface placement
|
|
||||||
fm_in = [first_col, fourth_row, 0];
|
|
||||||
pwm_cv_lvl = [second_col, fourth_row, 0];
|
|
||||||
triangle_out = [third_col, fourth_row, 0];
|
|
||||||
|
|
||||||
//Fifth row interface placement
|
|
||||||
pwm_in = [first_col, fifth_row, 0];
|
|
||||||
pwm_duty = [second_col, fifth_row, 0];
|
|
||||||
square_out = [third_col, fifth_row, 0];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//left_rib_x = thickness * 1;
|
|
||||||
//right_rib_x = width_mm - thickness*2;
|
|
||||||
|
|
||||||
// draw panel, subtract holes
|
|
||||||
union() {
|
|
||||||
difference(){
|
|
||||||
color([.1,.1,.1])
|
|
||||||
panel(width);
|
|
||||||
|
|
||||||
// waves out
|
|
||||||
translate(saw_out) audio_jack_3_5mm(); // saw out
|
|
||||||
translate(triangle_out) audio_jack_3_5mm(); // triangle out
|
|
||||||
translate(square_out) audio_jack_3_5mm(); // square out
|
|
||||||
|
|
||||||
// input sockets
|
|
||||||
translate(cv_in) audio_jack_3_5mm(); // CV in
|
|
||||||
translate(sync_in) audio_jack_3_5mm(); // hard sync in
|
|
||||||
translate(fm_in) audio_jack_3_5mm(); // FM in
|
|
||||||
translate(pwm_in) audio_jack_3_5mm(); // PWM duty in
|
|
||||||
|
|
||||||
// pots
|
|
||||||
translate(fm_lvl) pot_p160(anchor_hole="both"); // fm lvl
|
|
||||||
translate(pwm_cv_lvl) pot_p160(anchor_hole="both"); // pwm lvl
|
|
||||||
translate(pwm_duty) pot_p160(anchor_hole="both"); // pwm duty
|
|
||||||
|
|
||||||
translate(c_tune) pot_p160(anchor_hole="both"); // coarse tuning
|
|
||||||
translate(f_tune) pot_p160(anchor_hole="both"); // fine tuning
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ribs
|
|
||||||
// translate([left_rib_x, rail_clearance, 0])
|
|
||||||
// v_wall(h=4, l=height-rail_clearance*2-thickness);
|
|
||||||
// translate([right_rib_x, rail_clearance, 0])
|
|
||||||
// v_wall(h=4, l=height-rail_clearance*2-thickness);
|
|
||||||
|
|
||||||
// top horizontal rib
|
|
||||||
// translate([left_rib_x, height-rail_clearance-thickness, 0])
|
|
||||||
// h_wall(h=4, l=right_rib_x);
|
|
||||||
|
|
||||||
// middle horizontal rib
|
|
||||||
// translate([left_rib_x, top_row-rail_clearance-thickness, 0])
|
|
||||||
// h_wall(h=1.6, l=right_rib_x);
|
|
||||||
|
|
||||||
// middle-bottom h rib
|
|
||||||
// translate([left_rib_x, rail_clearance+15+thickness, 0])
|
|
||||||
// h_wall(h=1.6, l=right_rib_x);
|
|
||||||
|
|
||||||
// bottom horizontal rib
|
|
||||||
// translate([left_rib_x, rail_clearance, 0])
|
|
||||||
// h_wall(h=4, l=right_rib_x);
|
|
||||||
|
|
||||||
// one more vertical to mount the circuit board to, dead center
|
|
||||||
// translate([width_mm/2-thickness/2, rail_clearance+15+thickness, 0])
|
|
||||||
// v_wall(h=4, l=top_row-rail_clearance*2-thickness-15);
|
|
||||||
|
|
||||||
// PCB holder
|
|
||||||
// translate([width_mm/2-thickness/2+1.15/2, rail_clearance+15+thickness, 0])
|
|
||||||
// pcb_holder(h=10, l=top_row-rail_clearance*2-15-thickness, th=1.15, wall_thickness=1);
|
|
||||||
|
|
||||||
// lower h-rib reinforcer
|
|
||||||
|
|
||||||
|
|
||||||
// color([1,0,0])
|
|
||||||
// translate([62,height-10,thickness-.1])
|
|
||||||
// scale([.175/4.5,.175/4.5,0.015])
|
|
||||||
// Create title png from this URL using size = 200:
|
|
||||||
// https://www.myfonts.com/collections/quentin-font-urw?tab=individualStyles
|
|
||||||
// surface("FIREBALL VCO.png", center=true, invert=false);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
module make_surface(filename, h) {
|
|
||||||
for (a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])
|
|
||||||
linear_extrude(height=a/h, convexity=10)
|
|
||||||
projection(cut = true)
|
|
||||||
surface(filename, center=true);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// h[p]
|
|
||||||
module panel(h) {
|
|
||||||
width_mm = hp_mm(h);
|
|
||||||
difference() {
|
|
||||||
// translate([0, 0, -printer_z_fix])
|
|
||||||
cube(size = [width_mm, height, thickness+printer_z_fix]);
|
|
||||||
|
|
||||||
if (h < four_hole_threshold) {
|
|
||||||
if (two_holes_type == "center") {
|
|
||||||
translate([width_mm/2, hole_dist_top, -1])
|
|
||||||
cylinder(r=hole_r, h=thickness*2);
|
|
||||||
|
|
||||||
translate([width_mm/2, height-hole_dist_top, -1])
|
|
||||||
cylinder(r=hole_r, h=thickness*2);
|
|
||||||
} else if (two_holes_type == "opposite") {
|
|
||||||
translate([hole_dist_side, hole_dist_top, -1])
|
|
||||||
cylinder(r=hole_r, h=thickness*2);
|
|
||||||
|
|
||||||
translate([width_mm - hole_dist_side, height-hole_dist_top, -1])
|
|
||||||
cylinder(r=hole_r, h=thickness*2);
|
|
||||||
} else if (two_holes_type == "mirror") {
|
|
||||||
translate([hole_dist_side, hole_dist_top, -1])
|
|
||||||
cylinder(r=hole_r, h=thickness*2);
|
|
||||||
|
|
||||||
translate([hole_dist_side, height-hole_dist_top, -1])
|
|
||||||
cylinder(r=hole_r, h=thickness*2);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
translate([hole_dist_side, hole_dist_top, -1])
|
|
||||||
cylinder(r=hole_r, h=thickness*2);
|
|
||||||
|
|
||||||
translate([hole_dist_side, height - hole_dist_top, -1])
|
|
||||||
cylinder(r=hole_r, h=thickness*2);
|
|
||||||
|
|
||||||
translate([width_mm - hole_dist_side, hole_dist_top, -1])
|
|
||||||
cylinder(r=hole_r, h=thickness*2);
|
|
||||||
|
|
||||||
translate([width_mm - hole_dist_side, height - hole_dist_top, -1])
|
|
||||||
cylinder(r=hole_r, h=thickness*2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// http://www.rean-connectors.com/en/products/din-chassis-connectors/nys325
|
|
||||||
module nys325_midi_socket() {
|
|
||||||
cylinder(r=7.55, h=thickness*2+1);
|
|
||||||
translate([0, 11.3, -1])
|
|
||||||
cylinder(r=1.6, h=thickness*2+1);
|
|
||||||
translate([0, -11.3, -1])
|
|
||||||
cylinder(r=1.6, h=thickness*2+1);
|
|
||||||
}
|
|
||||||
|
|
||||||
module audio_jack_3_5mm() {
|
|
||||||
translate([0, 0, -1]) cylinder(r=3, h=thickness*2+1);
|
|
||||||
}
|
|
||||||
|
|
||||||
module toggle_switch_6_8mm() {
|
|
||||||
translate([0, 0, -1]) cylinder(r=3.4, h=thickness*2+1);
|
|
||||||
}
|
|
||||||
// http://www.mouser.com/ds/2/414/Datasheet_RotaryPanelPot_P160series-1133272.pdf
|
|
||||||
module pot_p160(anchor_hole="left") {
|
|
||||||
translate([0, 0, -1]) cylinder(r=3.75, h=thickness*2);
|
|
||||||
// hole for anchor; with translate() ends up being h-1 deep
|
|
||||||
if (anchor_hole=="left" || anchor_hole=="both") {
|
|
||||||
translate([7.8, 0, 1]) cylinder(r=1.5, h=thickness);
|
|
||||||
}
|
|
||||||
if (anchor_hole=="right" || anchor_hole=="both") {
|
|
||||||
translate([-7.8, 0, 1]) cylinder(r=1.5, h=thickness);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module pot_wh148() {
|
|
||||||
translate([0, 0, -1]) cylinder(r=3.6, h=thickness*2);
|
|
||||||
// hole for anchor; with translate() ends up being h-1 deep
|
|
||||||
translate([7.8, 0, -1]) cylinder(r=1.3, h=thickness);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
module label(string, size=4, halign="center", height=thickness+1, font=default_label_font) {
|
|
||||||
color([1,0,0])
|
|
||||||
linear_extrude(height)
|
|
||||||
text(string, size, halign=halign, font=font);
|
|
||||||
}
|
|
||||||
|
|
||||||
module title(string, size=12, halign="center", font=font_for_title) {
|
|
||||||
color([1,0,0])
|
|
||||||
linear_extrude(thickness+1)
|
|
||||||
text(string, size, halign=halign, font=font);
|
|
||||||
}
|
|
||||||
|
|
||||||
// draw a "vertical" wall
|
|
||||||
// h = z height, i.e. how tall the wall is coming out of the panel
|
|
||||||
// l = length of the wall along the panel
|
|
||||||
module v_wall(h, l, th=thickness) {
|
|
||||||
translate([0, 0, -h]) cube(size = [th, l, h]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// draw a horizontal wall (across the panel)
|
|
||||||
// h = z height, how far the wall comes out of the panel
|
|
||||||
// l = length of the wall along the panel
|
|
||||||
module h_wall(h, l, th=thickness) {
|
|
||||||
translate([0, 0, -h]) cube(size = [l, th, h]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// draws two walls in parallel, close together so a PCB can fit between
|
|
||||||
// h = how deep to make the walls; a little extra is probably good
|
|
||||||
// l = length of the side of the board that will be seated in the slit, with tolerances
|
|
||||||
// th = thickness of the PCB, with tolerances
|
|
||||||
// wall_thickness = how thick to make each wall of the holder
|
|
||||||
// e.g.: Radio Shaek is 51mm x 70mm and 1.2mm thick
|
|
||||||
module pcb_holder(h, l, th, wall_thickness=thickness) {
|
|
||||||
translate([0-(wall_thickness+th)/2, 0, 0])
|
|
||||||
v_wall(h, l, wall_thickness);
|
|
||||||
|
|
||||||
translate([(wall_thickness+th)/2, 0, 0])
|
|
||||||
v_wall(h, l, wall_thickness);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// https://www.elfa.se/Web/Downloads/_t/ds/els-511sygwa-s530-e1_eng_tds.pdf
|
|
||||||
module x1_7seg_14_22mm_display() {
|
|
||||||
cube([12.25, 19.25, thickness]);
|
|
||||||
}
|
|
||||||
|
|
||||||
module x2_7seg_14_22mm_display() {
|
|
||||||
cube([25, 19.25, thickness]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// https://www.elfa.se/Web/Downloads/2e/wa/qmCC56-12EWA.pdf
|
|
||||||
module x4_7seg_14_22mm_display() {
|
|
||||||
cube([50.5, 19.25, thickness]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// https://cdn.sparkfun.com/datasheets/Components/Switches/MX%20Series.pdf
|
|
||||||
module cherry_mx_button() {
|
|
||||||
union(){
|
|
||||||
cube([14,14,thickness]);
|
|
||||||
|
|
||||||
translate([-1,1,0])
|
|
||||||
cube([14+2*1,thickness,thickness]);
|
|
||||||
|
|
||||||
translate([-1,14-1-3,0])
|
|
||||||
cube([14+2*1,3,thickness]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 1U = 1.75" = 44.45mm
|
|
||||||
// 1HP = 1/5" = 5.08mm
|
|
||||||
|
|
||||||
// u[nits]
|
|
||||||
function units_mm(u) = u * U;
|
|
||||||
|
|
||||||
// h[p]
|
|
||||||
function hp_mm(h) = h * HP;
|
|
||||||
4790
Schematics/Fireball.kicad_sch
Normal file
4790
Schematics/Fireball.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
BIN
Schematics/Fireball_VCO.pdf
Normal file
BIN
Schematics/Fireball_VCO.pdf
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue