|
|
|
@ -86,29 +86,32 @@ |
|
|
|
align(horizon, text(size: 8.5pt)[#note]), |
|
|
|
align(horizon, text(size: 8.5pt)[#note]), |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#let cu2 = rgb("#d5501795") |
|
|
|
|
|
|
|
#let cu3 = rgb("#eb6228") |
|
|
|
|
|
|
|
|
|
|
|
// Querschnitt 4-Layer: Stack links, Legende rechts. |
|
|
|
// Querschnitt 4-Layer: Stack links, Legende rechts. |
|
|
|
#let stack-4() = grid( |
|
|
|
#let stack-4() = grid( |
|
|
|
columns: (1.15fr, 1fr), |
|
|
|
columns: (0.5fr, 1fr), |
|
|
|
gutter: 1.8em, |
|
|
|
gutter: .5em, |
|
|
|
_stack( |
|
|
|
_stack( |
|
|
|
_layer(mask.lighten(40%), 8pt, round: (top-left: 2pt, top-right: 2pt)), |
|
|
|
_layer(mask.lighten(40%), 8pt, round: (top-left: 2pt, top-right: 2pt)), |
|
|
|
_layer(cu, 11pt), |
|
|
|
_layer(cu, 11pt), |
|
|
|
_layer(prepreg, 7pt), |
|
|
|
_layer(prepreg, 7pt), |
|
|
|
_layer(accent, 11pt), |
|
|
|
_layer(cu2, 11pt), |
|
|
|
_layer(fr4, 18pt), |
|
|
|
_layer(fr4, 18pt), |
|
|
|
_layer(accent-soft, 11pt), |
|
|
|
_layer(cu3, 11pt), |
|
|
|
_layer(prepreg, 7pt), |
|
|
|
_layer(prepreg, 7pt), |
|
|
|
_layer(cu, 11pt), |
|
|
|
_layer(cu, 11pt), |
|
|
|
_layer(mask.lighten(40%), 8pt, round: (bottom-left: 2pt, bottom-right: 2pt)), |
|
|
|
_layer(mask.lighten(40%), 8pt, round: (bottom-left: 2pt, bottom-right: 2pt)), |
|
|
|
), |
|
|
|
), |
|
|
|
grid( |
|
|
|
grid( |
|
|
|
row-gutter: 3pt, |
|
|
|
row-gutter: 4pt, |
|
|
|
_sw(mask.lighten(40%), [Lötstopp]), |
|
|
|
_sw(mask.lighten(40%), [Lötstopp]), |
|
|
|
_sw(cu, [Kupfer 35 µm - Signale]), |
|
|
|
_sw(cu, [Kupfer 35 µm - Signale]), |
|
|
|
_sw(prepreg, [Prepreg ≈ 0,2 mm]), |
|
|
|
_sw(prepreg, [Prepreg ≈ 0,2 mm]), |
|
|
|
_sw(accent, [In1.GND - Masse]), |
|
|
|
_sw(cu2, [In1.GND - Masse]), |
|
|
|
_sw(fr4, [FR4-Kern ≈ 1,0 mm]), |
|
|
|
_sw(fr4, [FR4-Kern ≈ 1,0 mm]), |
|
|
|
_sw(accent-soft, [In2.PWR - Versorgung]), |
|
|
|
_sw(cu3, [In2.PWR - Versorgung]), |
|
|
|
), |
|
|
|
), |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
@ -209,7 +212,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Was ist KiCad?")[ |
|
|
|
#slide(title: "Was ist KiCad?")[ |
|
|
|
#grid( |
|
|
|
#grid( |
|
|
|
columns: (1fr, 1.35fr), |
|
|
|
columns: (4fr, 1.35fr), |
|
|
|
gutter: 1.6em, |
|
|
|
gutter: 1.6em, |
|
|
|
[ |
|
|
|
[ |
|
|
|
- Leiterplattendesignsoftware |
|
|
|
- Leiterplattendesignsoftware |
|
|
|
@ -217,16 +220,18 @@ |
|
|
|
- git support - Projektdateien sind Text |
|
|
|
- git support - Projektdateien sind Text |
|
|
|
- Windows / Linux / Mac |
|
|
|
- Windows / Linux / Mac |
|
|
|
- vom CERN, open source |
|
|
|
- vom CERN, open source |
|
|
|
], |
|
|
|
- Eigentlich eine Sammlung von Programmen |
|
|
|
img("assets/01_projectmanager.png", width: 100%), |
|
|
|
- Python-Api für Automation |
|
|
|
|
|
|
|
] |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
#img("assets/01_projectmanager.png", width: 120%) |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Werkzeugkette")[ |
|
|
|
#slide(title: "Werkzeugkette")[ |
|
|
|
#workflow-pipeline() |
|
|
|
#workflow-pipeline() |
|
|
|
#v(0.5em) |
|
|
|
#v(0.5em) |
|
|
|
- Später etwas geändert? Ein Klick: Schaltplan → Platine aktualisieren |
|
|
|
- Später etwas geändert? Ein Klick: Schaltplan → Platine aktualisieren |
|
|
|
- Erst ERC sauber, dann Layout |
|
|
|
- Erst Electrical Rule check sauber haben, dann Layouten |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Projekt & Schaltplan")[ |
|
|
|
#slide(title: "Projekt & Schaltplan")[ |
|
|
|
@ -239,7 +244,7 @@ |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Beispiel: gruppierte Schaltung")[ |
|
|
|
#slide(title: "Beispiel: gruppierte Schaltung")[ |
|
|
|
#align(center, image("assets/02_schaltplan.png", height: 278pt)) |
|
|
|
#align(center, image("assets/02_schaltplan.png", height: 16em)) |
|
|
|
#v(0.2em) |
|
|
|
#v(0.2em) |
|
|
|
#align(center, text(size: 0.75em, fill: luma(110))[Jede Funktionsgruppe bekommt ihren eigenen Kasten - so bleibt der Plan lesbar.]) |
|
|
|
#align(center, text(size: 0.75em, fill: luma(110))[Jede Funktionsgruppe bekommt ihren eigenen Kasten - so bleibt der Plan lesbar.]) |
|
|
|
] |
|
|
|
] |
|
|
|
@ -253,6 +258,7 @@ |
|
|
|
- "irgendein 100 nF" ist okay - "der Schaltregler, aber in der 5-V-Variante" nicht |
|
|
|
- "irgendein 100 nF" ist okay - "der Schaltregler, aber in der 5-V-Variante" nicht |
|
|
|
- Check: LCSC · Mouser · DigiKey - Lagerstand, Preis bei 1 / 10 / 100 Stück |
|
|
|
- Check: LCSC · Mouser · DigiKey - Lagerstand, Preis bei 1 / 10 / 100 Stück |
|
|
|
- LCSC-Nummer als Feld ins Symbol → fertige Stückliste |
|
|
|
- LCSC-Nummer als Feld ins Symbol → fertige Stückliste |
|
|
|
|
|
|
|
- LCSC gibts als Plugin |
|
|
|
- Schönster Schaltplan nützt nichts *ohne Bauteile* |
|
|
|
- Schönster Schaltplan nützt nichts *ohne Bauteile* |
|
|
|
], |
|
|
|
], |
|
|
|
img("assets/04_properties.png", width: 100%, caption: [Symbol-Eigenschaften: Felder, z. B. für die LCSC-Nummer]), |
|
|
|
img("assets/04_properties.png", width: 100%, caption: [Symbol-Eigenschaften: Felder, z. B. für die LCSC-Nummer]), |
|
|
|
@ -293,17 +299,23 @@ |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Setup, Umriss & Platzieren")[ |
|
|
|
#slide(title: "Setup, Umriss & Platzieren")[ |
|
|
|
#grid( |
|
|
|
#grid( |
|
|
|
columns: (1.5fr, 1fr), |
|
|
|
columns: (3.5fr, 0fr), |
|
|
|
gutter: 1.4em, |
|
|
|
gutter: 1.4em, |
|
|
|
[ |
|
|
|
[ |
|
|
|
- *Board-Setup*: Netz-Klassen (Signal 0,25 mm · PWR 0,5-0,8 mm), \ |
|
|
|
|
|
|
|
Via 0,6/0,3 mm |
|
|
|
|
|
|
|
- Umriss auf *Edge.Cuts* (z. B. 80 × 50 mm) |
|
|
|
- Umriss auf *Edge.Cuts* (z. B. 80 × 50 mm) |
|
|
|
|
|
|
|
- *Board-Setup* (Standard): |
|
|
|
|
|
|
|
- Signal 0,25 mm · PWR 0,5-0,8 mm |
|
|
|
|
|
|
|
- Via 0,6/0,3 mm |
|
|
|
- Platzieren nach *Signalfluss*: |
|
|
|
- Platzieren nach *Signalfluss*: |
|
|
|
- Stecker & Befestigung zuerst - festpinnen |
|
|
|
- Stecker & Befestigung zuerst - als fix markieren |
|
|
|
- ICs hin → Entkopplungs-Cs direkt an die Versorgungspins |
|
|
|
- Dann Bauteile grob zusammenschieben wie auf dem Schaltplan gruppiert |
|
|
|
|
|
|
|
- Entkopplungs-Cs direkt an die Versorgungspins |
|
|
|
|
|
|
|
- *Platinenbeschriftung*: auf wichtige Eckpunkte reduzieren |
|
|
|
|
|
|
|
- z.B. Stecker-Polarität |
|
|
|
|
|
|
|
- max Spannung |
|
|
|
|
|
|
|
- Versionierung |
|
|
|
], |
|
|
|
], |
|
|
|
shot("07_floorplan", [Pcbnew: Umriss + platzierte Footprints mit Ratsnest]), |
|
|
|
// shot("07_floorplan", [Pcbnew: Umriss + platzierte Footprints mit Ratsnest]), |
|
|
|
) |
|
|
|
) |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
@ -330,26 +342,27 @@ |
|
|
|
(Entkopplung · Quarze · Spannungsregler) |
|
|
|
(Entkopplung · Quarze · Spannungsregler) |
|
|
|
- Nach jeder Änderung: `B` (Zonen auffüllen) → erst dann DRC |
|
|
|
- Nach jeder Änderung: `B` (Zonen auffüllen) → erst dann DRC |
|
|
|
#v(0.5em) |
|
|
|
#v(0.5em) |
|
|
|
#shot( |
|
|
|
// #shot( |
|
|
|
"09_zone", |
|
|
|
// "09_zone", |
|
|
|
[Zonen-Eigenschaften: Netz GND, Lage B.Cu, Füllparameter], |
|
|
|
// [Zonen-Eigenschaften: Netz GND, Lage B.Cu, Füllparameter], |
|
|
|
tip: [Rechtsklick auf die Fläche → "Flächen..."], |
|
|
|
// tip: [Rechtsklick auf die Fläche → "Flächen..."], |
|
|
|
) |
|
|
|
// ) |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Prüfen & Exportieren")[ |
|
|
|
#slide(title: "Prüfen & Exportieren")[ |
|
|
|
- *DRC - nie vergessen!* Nach dem Layout + *nochmal vor dem Export* |
|
|
|
- *DRC - nie vergessen!* Nach dem Layout + *nochmal vor dem Export* |
|
|
|
- *3D-Viewer*: kollidieren Gehäuse & Stecker? |
|
|
|
- *3D-Viewer*: kollidieren Gehäuse & Stecker? |
|
|
|
|
|
|
|
- Hilft aber auch nur wenn die 3D-Modelle korrekt sind |
|
|
|
- Export: Gerber X2 + Bohrdaten → ZIP → Fertigung |
|
|
|
- Export: Gerber X2 + Bohrdaten → ZIP → Fertigung |
|
|
|
#v(0.5em) |
|
|
|
#v(0.5em) |
|
|
|
#shot("11_3d_viewer", [3D-Betrachter: fertige Platine mit Bauteilen]) |
|
|
|
// #shot("11_3d_viewer", [3D-Betrachter: fertige Platine mit Bauteilen]) |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#shot-slide( |
|
|
|
#shot-slide( |
|
|
|
"DRC", |
|
|
|
"DRC", |
|
|
|
"assets/10_drc.png", |
|
|
|
"assets/10_drc.png", |
|
|
|
height: 210pt, |
|
|
|
height: 210pt, |
|
|
|
caption: [16 Warnungen - jede anschauen und verstehen, nicht wegklicken], |
|
|
|
caption: [16 Warnungen - jede anschauen und verstehen, nicht sofort wegklicken], |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// =================================================================== |
|
|
|
// =================================================================== |
|
|
|
@ -361,9 +374,10 @@ |
|
|
|
columns: (1.6fr, 1fr), |
|
|
|
columns: (1.6fr, 1fr), |
|
|
|
gutter: 1.4em, |
|
|
|
gutter: 1.4em, |
|
|
|
[ |
|
|
|
[ |
|
|
|
- *4 Lagen als Standard* - Aufpreis klein, Nutzen groß |
|
|
|
- *4 Lagen als Standard* - Aufpreis klein (oder nicht vorhanden), Nutzen groß |
|
|
|
- Massefläche unter jedem Signal → weniger Abstrahlung |
|
|
|
- Massefläche unter jedem Signal → weniger Abstrahlung |
|
|
|
- Impedanzkontrolle (USB · Ethernet · Funk) |
|
|
|
- Impedanzkontrolle (USB · Ethernet · Funk) |
|
|
|
|
|
|
|
- Tools in Kicad! |
|
|
|
- Versorgung als eigene Lage |
|
|
|
- Versorgung als eigene Lage |
|
|
|
- 2 Lagen: nur Adapter- & Breakout-Boards |
|
|
|
- 2 Lagen: nur Adapter- & Breakout-Boards |
|
|
|
- Billigvariante des Stackups reicht fast immer |
|
|
|
- Billigvariante des Stackups reicht fast immer |
|
|
|
@ -372,19 +386,19 @@ |
|
|
|
) |
|
|
|
) |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#shot-slide( |
|
|
|
// #shot-slide( |
|
|
|
"Preis: 2 Lagen", |
|
|
|
// "Preis: 2 Lagen", |
|
|
|
"assets/13_2layer_jlc.png", |
|
|
|
// "assets/13_2layer_jlc.png", |
|
|
|
height: 165pt, |
|
|
|
// height: 165pt, |
|
|
|
caption: [JLCPCB, 50 × 50 mm, 5 Stück: 20,56 \$ - davon 16,56 \$ für "Via Covering", eine Option, die man selten braucht], |
|
|
|
// caption: [JLCPCB, 50 × 50 mm, 5 Stück: 20,56 \$ - davon 16,56 \$ für "Via Covering", eine Option, die man selten braucht], |
|
|
|
) |
|
|
|
// ) |
|
|
|
|
|
|
|
|
|
|
|
#shot-slide( |
|
|
|
// #shot-slide( |
|
|
|
"Preis: 4 Lagen", |
|
|
|
// "Preis: 4 Lagen", |
|
|
|
"assets/13_4layer_jlc.png", |
|
|
|
// "assets/13_4layer_jlc.png", |
|
|
|
height: 165pt, |
|
|
|
// height: 165pt, |
|
|
|
caption: [Gleiche Größe: 8,00 \$ (Aktion) - vier Lagen sind hier billiger als zwei], |
|
|
|
// caption: [Gleiche Größe: 8,00 \$ (Aktion) - vier Lagen sind hier billiger als zwei], |
|
|
|
) |
|
|
|
// ) |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Advanced: Stackup in KiCad einrichten")[ |
|
|
|
#slide(title: "Advanced: Stackup in KiCad einrichten")[ |
|
|
|
- Board-Setup → *Stapelaufbau*: Innenlagen anlegen, benennen, Dicken eintragen |
|
|
|
- Board-Setup → *Stapelaufbau*: Innenlagen anlegen, benennen, Dicken eintragen |
|
|
|
@ -393,24 +407,24 @@ |
|
|
|
#img("assets/12_stackup.png", width: 80%, caption: [Physical Stackup: hier über "Copper layers" auf 4 Kupferlagen erhöhen]) |
|
|
|
#img("assets/12_stackup.png", width: 80%, caption: [Physical Stackup: hier über "Copper layers" auf 4 Kupferlagen erhöhen]) |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Layout-Aufgaben bei 4 Layern")[ |
|
|
|
// #slide(title: "Layout-Aufgaben bei 4 Layern")[ |
|
|
|
#grid( |
|
|
|
// #grid( |
|
|
|
columns: (1.1fr, 1fr), |
|
|
|
// columns: (2.1fr, 1fr), |
|
|
|
gutter: 1.4em, |
|
|
|
// gutter: 1.4em, |
|
|
|
[ |
|
|
|
// [ |
|
|
|
- *GND-Ebene durchgehend halten* - Schlitze = Rückstromfallen |
|
|
|
// - *GND-Ebene durchgehend halten* - Schlitze = Rückstromfallen |
|
|
|
- *GND-Via direkt neben* dem Signal-Via |
|
|
|
// - *GND-Via direkt neben* dem Signal-Via |
|
|
|
- *Stitching-Vias* regelmäßig verteilen |
|
|
|
// - *Stitching-Vias* regelmäßig verteilen |
|
|
|
- Entkopplung: Pad → Via → Plane, so kurz wie möglich |
|
|
|
// - Entkopplung: Pad → Via → Plane, so kurz wie möglich |
|
|
|
- Versorgung: Via-Paare an In2 |
|
|
|
// - Versorgung: Via-Paare an In2 |
|
|
|
], |
|
|
|
// ], |
|
|
|
shot( |
|
|
|
// // shot( |
|
|
|
"14_4l_fertig", |
|
|
|
// // "14_4l_fertig", |
|
|
|
[4-Layer-Board, nur In1.GND sichtbar: durchgehende Massefläche mit Stitching-Vias], |
|
|
|
// // [4-Layer-Board, nur In1.GND sichtbar: durchgehende Massefläche mit Stitching-Vias], |
|
|
|
tip: [Lagen-Liste links: nur In1.Cu + Vias einblenden], |
|
|
|
// // tip: [Lagen-Liste links: nur In1.Cu + Vias einblenden], |
|
|
|
), |
|
|
|
// // ), |
|
|
|
) |
|
|
|
// ) |
|
|
|
] |
|
|
|
// ] |
|
|
|
|
|
|
|
|
|
|
|
// =================================================================== |
|
|
|
// =================================================================== |
|
|
|
#section("Praxis-Fragen", note: "Erfahrungswerte fürs erste Board") |
|
|
|
#section("Praxis-Fragen", note: "Erfahrungswerte fürs erste Board") |
|
|
|
@ -420,8 +434,12 @@ |
|
|
|
- *Klein anfangen*: eine Platine, ein Ziel \ |
|
|
|
- *Klein anfangen*: eine Platine, ein Ziel \ |
|
|
|
(z. B. Versorgung + MCU-Modul - das Vortrags-Beispiel) |
|
|
|
(z. B. Versorgung + MCU-Modul - das Vortrags-Beispiel) |
|
|
|
- *Bewährtes kopieren*: Referenzdesigns · Open-Source-Boards |
|
|
|
- *Bewährtes kopieren*: Referenzdesigns · Open-Source-Boards |
|
|
|
|
|
|
|
- Review von Bekannten anfragen |
|
|
|
|
|
|
|
- z.B. Mitglieder im Chaos-Verein |
|
|
|
|
|
|
|
|
|
|
|
- Revision 1 = Lernprojekt: *2-3 Anläufe* sind normal |
|
|
|
- Revision 1 = Lernprojekt: *2-3 Anläufe* sind normal |
|
|
|
- Beispiel Busanzeiger: Versorgung · Mikrocontroller · Display-Anbindung |
|
|
|
- Beispiel Busanzeiger: Versorgung · Mikrocontroller · Display-Anbindung |
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "USB-C & 5 V - ein gutes Konzept?")[ |
|
|
|
#slide(title: "USB-C & 5 V - ein gutes Konzept?")[ |
|
|
|
@ -430,10 +448,18 @@ |
|
|
|
- sonst liefert die Quelle keinen Strom |
|
|
|
- sonst liefert die Quelle keinen Strom |
|
|
|
- A/B-Pins *gespiegelt, nicht gedreht* - Footprint prüfen |
|
|
|
- A/B-Pins *gespiegelt, nicht gedreht* - Footprint prüfen |
|
|
|
- USB-2: A6↔B6 (D+) · A7↔B7 (D-) |
|
|
|
- USB-2: A6↔B6 (D+) · A7↔B7 (D-) |
|
|
|
- VBUS: *nicht zurückeinspeisen* |
|
|
|
- VBUS: *NIE zurückeinspeisen* |
|
|
|
- Schützen mit Verpoldiode + ESD-Netzwerk |
|
|
|
- Schützen mit Verpoldiode + ESD-Netzwerk |
|
|
|
#v(0.4em) |
|
|
|
#v(0.4em) |
|
|
|
#src[Rd (5,1 kΩ): USB-IF, USB Type-C Spec] |
|
|
|
#grid( |
|
|
|
|
|
|
|
columns: (1.6fr, 1fr), |
|
|
|
|
|
|
|
gutter: 1.4em, |
|
|
|
|
|
|
|
[ |
|
|
|
|
|
|
|
img("assets/USB-C-Breakout_Schematic-_PD5V.png", width: 50%), |
|
|
|
|
|
|
|
img("assets/usb_2.png", width: 50%) |
|
|
|
|
|
|
|
] |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
// #src[Rd (5,1 kΩ): USB-IF, USB Type-C Spec] |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "EMV als Anfänger?")[ |
|
|
|
#slide(title: "EMV als Anfänger?")[ |
|
|
|
@ -467,7 +493,8 @@ |
|
|
|
- *Erst SMD, dann THT* - Stecker blockieren sonst SMD-Plätze |
|
|
|
- *Erst SMD, dann THT* - Stecker blockieren sonst SMD-Plätze |
|
|
|
- *Zoom nicht übertreiben*: Bildschirm ≠ Realität |
|
|
|
- *Zoom nicht übertreiben*: Bildschirm ≠ Realität |
|
|
|
- SMD in einem Rutsch: Lötpaste → setzen → Hotplate / Heißluft |
|
|
|
- SMD in einem Rutsch: Lötpaste → setzen → Hotplate / Heißluft |
|
|
|
- Bestückungsdruck? *Nein* - erst ab ~1 000 Stück |
|
|
|
- Bestückungsdruck? |
|
|
|
|
|
|
|
- Lohnt sich so wirklich - erst ab ~1 000 Stück |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Equipment - was lohnt sich?")[ |
|
|
|
#slide(title: "Equipment - was lohnt sich?")[ |
|
|
|
@ -496,6 +523,8 @@ |
|
|
|
- Aus KiCad: *BOM* + *Pick-and-Place* \ |
|
|
|
- Aus KiCad: *BOM* + *Pick-and-Place* \ |
|
|
|
(`Datei → Fertigungsoutputs`) |
|
|
|
(`Datei → Fertigungsoutputs`) |
|
|
|
- Split: *SMD ab Werk · THT & Stecker selbst* |
|
|
|
- Split: *SMD ab Werk · THT & Stecker selbst* |
|
|
|
|
|
|
|
- HTML-Bom-Viewer: Ein Traum-Werkzeug zum bestücken |
|
|
|
|
|
|
|
- mit Abhakfunktion und Bauteilfinder |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
// =================================================================== |
|
|
|
// =================================================================== |
|
|
|
@ -587,6 +616,9 @@ |
|
|
|
- `forum.kicad.info` - Community-Forum |
|
|
|
- `forum.kicad.info` - Community-Forum |
|
|
|
- Design-Rules der Fertigung (JLCPCB · PCBWay · AISLER) \ |
|
|
|
- Design-Rules der Fertigung (JLCPCB · PCBWay · AISLER) \ |
|
|
|
- vor dem Layout ins Board-Setup |
|
|
|
- vor dem Layout ins Board-Setup |
|
|
|
|
|
|
|
- Tools: |
|
|
|
|
|
|
|
- https://github.com/hulryung/kicad-lcsc-manager |
|
|
|
|
|
|
|
- https://github.com/dsa-t/jlc-kicad-lib-loader |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
#slide(title: "Diskussion")[ |
|
|
|
#slide(title: "Diskussion")[ |
|
|
|
|