R reuter /

FB1_EINZ

CC BY-SA 4.0 Native

WLED mit PV-Lademodul und Dunkelerkennung mittels stromsparendem CMOS Logikgatter

Rendered
68 files · 110 MB at 300de01 Download ZIP
.gitignore 174 B
FB1-EINZ-2-Projekt_small.png 443 KB
README.md 85 B
Doku/
AO3401A.pdf 319 KB
bq25185.pdf 1.4 MB
C84817.pdf 51.5 KB
CD4093B.pdf 973 KB
d1_mini_esp32_-_pinout.pdf 1.7 MB
DORABO_2PIN.pdf 374 KB
DORABO_3PIN.pdf 369 KB
EINZ-Projekt.odt 29.6 KB
ESP32-S3_DATASHEET.pdf 1.1 MB
ina219(1).pdf 841 KB
MICRONE-Nanjing-Micro-One-Elec-ME6217C33M5G_C427602.pdf 244 KB
msedge_Am87wQ8KXk.png 69.8 KB
MT3608-DC-to-dc-Step-up-converte.png 523 KB
MT3608-Step-Up-Power-Module-Dimensions.png 41.5 KB
NAND-Verschaltung.png 36.6 KB
OKW_C7021071.pdf 348 KB
sluaax4.pdf 296 KB
spx3819.pdf 1.2 MB
SS29-D.PDF 762 KB
XIAO_ESP32S3_DB.pdf 92.0 KB
XIAO-REFERENCE-DESIGN.pdf 13.6 MB
Imports/BQ25185_Eval/
BQ25185_Daughterboard.kicad_sym 2.5 KB
BQ25185_Daughterboard.lib 530 B
Imports/BQ25185_Eval/3D/
Imports/BQ25185_Eval/BQ25185_Daughterboard.pretty/
BQ25185_Eval.kicad_mod 4.3 KB
Imports/kicad-esp32-wemos-d1-mini/
esp32-wemos-d1-mini.kicad_mod 11.5 KB
esp32-wemos-d1-mini.kicad_sym 8.2 KB
image.jpg 74.9 KB
Readme.md 470 B
Imports/kicad-esp32-wemos-d1-mini/esp32-wemos-d1-mini.pretty/
esp32-wemos-d1-mini.kicad_mod 12.2 KB
Imports/LCSC/
2Pin.kicad_sym 1.4 KB
3-Pin-Switch.kicad_sym 4.9 KB
3Pin.kicad_sym 1.6 KB
easyeda2kicad.kicad_sym 4.1 KB
Imports/LCSC/2Pin.3dshapes/
CONN-TH_2P-P5.08_DIBO_DB142V-5.08-2P.wrl 54.5 KB
Imports/LCSC/2Pin.pretty/
CONN-TH_2P-P5.08_DIBO_DB142V-5.08-2P.kicad_mod 1.6 KB
Imports/LCSC/3-Pin-Switch.3dshapes/
SW-TH_L13.0-W6.8-H6.4-P4.7.wrl 48.5 KB
Imports/LCSC/3-Pin-Switch.pretty/
SW-TH_SS-12D10L5.kicad_mod 1.3 KB
Imports/LCSC/3Pin.3dshapes/
CONN-TH_3P-P5.08_DIBO_DB142V-5.08-3P.wrl 84.0 KB
Imports/LCSC/3Pin.pretty/
CONN-TH_3P-P5.08_DIBO_DB142V-5.08-3P.kicad_mod 1.8 KB
Imports/LCSC/easyeda2kicad.3dshapes/
PDIP-14_L19.3-W6.4-P2.54-LS7.6-BL.wrl 217 KB
Imports/LCSC/easyeda2kicad.pretty/
PDIP-14_L19.3-W6.4-P2.54-LS7.6-BL.kicad_mod 3.8 KB
Imports/Misc/3D/
21700.step 73.7 KB
Imports/MT3608-module-kicad/
.gitignore 386 B
hw-045.dcm 48 B
hw-045.lib 389 B
LICENSE 1.0 KB
README.md 15 B
Imports/MT3608-module-kicad/hw-045.pretty/
hw-045.kicad_mod 1.2 KB
Imports/MT3608-module-kicad/MT3608-Module.pretty/
MT3608-Module.kicad_mod 3.9 KB
FB1-EINZ-2-Projekt.kicad_dru
(version 1)
# Custom Design Rules (DRC) for KiCAD 8.0 (Stored in '<project>.kicad_dru' file).
#
# Matching JLCPCB capabilities: https://jlcpcb.com/capabilities/pcb-capabilities
#
# KiCad documentation: https://docs.kicad.org/master/id/pcbnew/pcbnew_advanced.html#custom_design_rules
#
# Inspiration
# - https://gist.github.com/darkxst/f713268e5469645425eed40115fb8b49 (with comments)
# - https://gist.github.com/denniskupec/e163d13b0a64c2044bd259f64659485e (with comments)

# TODO new rule: NPTH pads.
# Inner diameter of pad should be 0.4-0.5 mm larger than NPTH drill diameter.
# JLCPCB: "We make NPTH via dry sealing film process, if customer would like a NPTH but around with pad/copper, our engineer will dig out around pad/copper about 0.2mm-0.25mm, otherwise the metal potion will be flowed into the hole and it becomes a PTH. (there will be no copper dig out optimization for single board)."

# TODO: new rule for plated slots: min diameter/width 0.5mm
# JLCPCB: "The minimum plated slot width is 0.5mm, which is drawn with a pad."

# TODO new rule: non-plated slots: min diameter/width 1.0mm
# JLCPCB: "The minimum Non-Plated Slot Width is 1.0mm, please draw the slot outline in the mechanical layer(GML or GKO)""


# --- Drill/Hole Size ---

(rule "JLCPCB: Drill Hole Size"
  # Choose between:
  # 1-2 Layers
	# (constraint hole_size (min 0.3mm) (max 6.3mm))
  # 4-6 Layers (more costly)
	# (constraint hole_size (min 0.15mm) (max 6.3mm))
  # 4-6 Layers (preferred)
	(constraint hole_size (min 0.2mm) (max 6.3mm))
)

(rule "JLCPCB: Via Hole Size"
	(condition "A.Type == 'Via'")
  # Choose between:
  # 1-2 Layers
	# (constraint hole_size (min 0.3mm))
  # 4-6 Layers (more costly)
  # (constraint hole_size (min 0.15mm))
  # 4-6 Layers (preferred)
	(constraint hole_size (min 0.2mm))
)

(rule "JLCPCB: Via Annular Ring"
	(condition "A.Type == 'Via'")
  # Choose between:
  # 1-6 Layers
  # (constraint annular_width (min 0.05mm))
  # 1-6 Layers (preferred)
	(constraint annular_width (min 0.075mm))
)

(rule "JLCPCB: PTH Hole Size"
	(condition "A.Type == 'Pad' && A.Pad_Type == 'Through-hole' && A.isPlated()")
	(constraint hole_size (min 0.2mm) (max 6.3mm))
)

(rule "JLCPCB: NPTH Hole Size"
	(condition "A.Type == 'Pad' && A.Pad_Type == 'NPTH, mechanical' && !A.isPlated()")
	(constraint hole_size (min 0.5mm))
)

# TODO: Hole to board edge ≥ 1 mm. Min. board size 10 × 10 mm.
(rule "JLCPCB: Castellated Hole Size"
	(layer outer)
	(condition "A.Type == 'Pad' && A.Fabrication_Property == 'Castellated pad'")
	(constraint hole_size (min 0.6mm))
)

(rule "JLCPCB: PTH Annular Ring"
	(condition "A.Type == 'Pad' && A.Pad_Type == 'Through-hole' && A.isPlated()")
	(constraint annular_width (min 0.075mm))
)

(rule "JLCPCB: NPTH Annular Ring"
	(condition "A.Type == 'Pad' && A.Pad_Type == 'NPTH, mechanical' && !A.isPlated()")
	(constraint annular_width (min 0.25mm))
)

# An expensive 4-Wire Kelvin Test is automatically added for holes that are < 0.3mm with a diameter ≤ 0.4mm.
(rule "JLCPCB: Avoid 4-Wire Kelvin Test"
	(condition "(A.Type == 'Via' && A.Hole < 0.3mm && A.Diameter <= 0.4mm) || (A.Type == 'Pad' && ((A.Hole_Size_X < 0.3mm && A.Size_X <= 0.4mm) || (A.Hole_Size_Y < 0.3mm && A.Size_Y <= 0.4mm)))")
  # 4-6 Layers
  (constraint annular_width (min 0.125mm))
)


# --- VIA Support Rules --- 

(rule "JLCPCB: Only Throughhole VIAs are supported" 
	(condition "A.Type == 'Via'")
	(constraint assertion "!(A.isBlindBuriedVia() || A.isMicroVia())")
)


# --- Minimum Clearance ---

(rule "JLCPCB: Hole to Hole Clearance (Different Nets)"
	(condition "A.Net != B.Net")
	(constraint hole_to_hole (min 0.5mm))
)

(rule "JLCPCB: Via Hole to Via Hole Clearance (Same Net)"
	(condition "A.Type == 'Via' && B.Type == 'Via' && A.Net == B.Net")
	(constraint hole_to_hole (min 0.254mm))
)

(rule "JLCPCB: Pad to Pad Clearance (Pad without Hole, Different Nets)"
	(condition "A.Type == 'Pad' && (A.Pad_Type != 'Through-hole' && A.Pad_Type != 'NPTH, mechanical') && B.Type == 'Pad' && (B.Pad_Type != 'Through-hole' && B.Pad_Type != 'NPTH, mechanical') && A.Net != B.Net")
	(constraint clearance (min 0.127mm))
)

(rule "JLCPCB: Pad Hole to Pad Hole Clearance (Pad with Hole, Different Nets)"
	(condition "A.Type == 'Pad' && (A.Pad_Type == 'Through-hole' || A.Pad_Type == 'NPTH, mechanical') && B.Type == 'Pad' && (B.Pad_Type == 'Through-hole' || B.Pad_Type == 'NPTH, mechanical') && A.Net != B.Net")
	(constraint hole_to_hole (min 0.5mm))
)

# NOTE: This is not stated specifically, but is implied by other rules.
(rule "JLCPCB: Via/Pad to Via/Pad Clearance (Different Nets)"
	(condition "(A.Type == 'Pad' || A.Type == 'Via') && (B.Type == 'Pad' || B.Type == 'Via') && A.Net != B.Net")
	(constraint clearance (min 0.127mm))
)

# NOTE: This is not stated specifically, but is implied by other rules.
(rule "JLCPCB: Via/Pad Hole to Via/Pad Hole Clearance (Same Net)"
	(condition "(A.Type == 'Pad' || A.Type == 'Via') && (B.Type == 'Pad' || B.Type == 'Via') && A.Net == B.Net")
	(constraint hole_to_hole (min 0.254mm))
)

(rule "JLCPCB: Via to Trace"
	(condition "A.Type == 'Via' && B.Type == 'Track'")
	(constraint hole_clearance (min 0.254mm))
)

(rule "JLCPCB: PTH to Trace"
	(condition "A.Type == 'Pad' && A.Pad_Type == 'Through-hole' && A.isPlated() && B.Type == 'Track'")
	(constraint hole_clearance (min 0.33mm))
)

(rule "JLCPCB: NPTH to Trace"
	(condition "A.Type == 'Pad' && A.Pad_Type == 'NPTH, mechanical' && !A.isPlated() && B.Type == 'Track'")
	(constraint hole_clearance (min 0.254mm))
)

(rule "JLCPCB: Pad to Trace"
	(condition "A.Type == 'Pad' && (A.Pad_Type == 'Through-hole' || A.Pad_Type == 'NPTH, mechanical') && B.Type == 'Track' &&  A.Net != B.Net")
	(constraint clearance (min 0.2mm))
)


# --- Minimum Trace Width and Spacing ---

(rule "JLCPCB: Trace Width (Outer Layer)"
	(layer outer)
	(condition "A.Type == 'Track'")
  # Choose between:
  # 1-2 Layers (1oz)
  # (constraint track_width (min 0.127mm))
  # 4-6 Layers (1oz and 0.5oz)
	(constraint track_width (min 0.09mm))
  # 1-6 Layers (2oz)
  # (constraint track_width (min 0.2mm))
)
(rule "JLCPCB: Trace Spacing (Outer Layer)"
	(layer outer)
	(condition "A.Type == 'Track' && B.Type == 'Track'")
  # Choose between:
  # 1-2 Layers (1oz)
  # (constraint clearance (min 0.127mm))
  # 4-6 Layers (1oz and 0.5oz)
	(constraint clearance (min 0.09mm))
  # 1-6 Layers (2oz)
  # (constraint clearance (min 0.2mm))
)

(rule "JLCPCB: Trace Width (Inner Layer)"
	(layer inner)
	(condition "A.Type == 'Track'")
  # Choose between:
  # 4-6 Layers (1oz and 0.5oz)
	(constraint track_width (min 0.09mm))
  # 4-6 Layers (2oz)
  # (constraint track_width (min 0.2mm))
)
(rule "JLCPCB: Trace Spacing (Inner Layer)"
	(layer inner)
	(condition "A.Type == 'Track' && B.Type == 'Track'")
  # Choose between:
  # 4-6 Layers (1oz and 0.5oz)
	(constraint clearance (min 0.09mm))
  # 4-6 Layers (2oz)
  # (constraint clearance (min 0.2mm))
)


# --- Legend ---

(rule "JLCPCB: Minimum Line Width"
	(layer "?.Silkscreen")
	(condition "A.Type == 'Text' || A.Type == 'Text Box'")
	(constraint text_thickness (min 0.15mm))
)

(rule "JLCPCB: Minimum Text Height"
	(layer "?.Silkscreen")
	(condition "A.Type == 'Text' || A.Type == 'Text Box'")
	(constraint text_height (min 1mm))
)

(rule "JLCPCB: Pad to Silkscreen"
	(condition "A.Type == 'Pad' && ((A.existsOnLayer('F.Mask') && B.Layer == 'F.Silkscreen') || (A.existsOnLayer('B.Mask') && B.Layer == 'B.Silkscreen')) ")
	(constraint silk_clearance (min 0.15mm))
)


# --- Board Outlines ---

(rule "JLCPCB: Trace to Board Edge"
	(condition "A.Type == 'Track'")
  # Choose between:
  # Routed
	(constraint edge_clearance (min 0.3mm))
  # V-Cut Panel
	# (constraint edge_clearance (min 0.4mm))
)