You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
kicad_vortrag/presentation.typ

599 lines
22 KiB

// ============================================================================
// presentation.typ — KiCad: vom Schaltplan zum Gerber (4 Layer als Standard)
//
// Bauen: make presentation.pdf bzw. typst compile presentation.typ
//
// Screenshots:
// Die Folien enthalten Platzhalter (`shot(...)`), die genau beschreiben,
// welche KiCad-Aufnahme fehlt. So wird's ersetzt:
// 1. Screenshot in KiCad machen (Fenster vorher auf ~16:9-Zuschnitt bringen)
// 2. Als PNG speichern unter assets/<name>.png
// (Name steht im Platzhalter, z. B. assets/07-routing.png)
// 3. Die `shot(...)`-Zeile durch ein Bild ersetzen, z. B.
// #img("assets/07-routing.png", width: 76%, caption: [Routing in Pcbnew])
// Die Folie „Screenshot-Checkliste“ am Ende listet alle 15 Aufnahmen.
// ============================================================================
#import "template.typ": *
// ---- Palette-Erweiterung (nur für die Querschnitts-Diagramme) --------------
#let cu = ember // Kupfer -> Terrakotta aus der Deck-Palette
#let mask = accent // Lötstopp -> Petrol („blaue Platine“)
#let fr4 = luma(226) // FR4-Kern
#let prepreg = luma(238) // Prepreg
// ---- Helfer -----------------------------------------------------------------
// Quellenzeile am Folienboden (wie in presentation01.typ).
#let src(body) = {
v(0.3em)
block(
width: 100%,
fill: paper.darken(3%),
inset: (x: 6pt, y: 3.5pt),
radius: 2pt,
text(size: 9.5pt, fill: luma(145))[#text(fill: accent)[Quellen:] #body],
)
}
// Screenshot-Platzhalter: beschreibt die fehlende Aufnahme + Zieldatei.
// Ersetzen durch: #img("assets/<name>.png", width: .., caption: [..])
#let shot(name, what, tip: none) = block(
breakable: false,
width: 100%,
stroke: (paint: luma(190), thickness: 1pt, dash: "dashed"),
fill: wash,
radius: 3pt,
inset: (x: 0.6em, y: 0.5em),
{
text(font: mono, size: 0.58em, weight: "bold", fill: ember, tracking: 0.08em)[
SCREENSHOT → assets/#(name + ".png")
]
v(0.12em)
text(size: 0.72em)[#what]
if tip != none {
v(0.08em)
text(size: 0.62em, fill: luma(110))[#tip]
}
},
)
// Schichtband: lückenlos gestapelt (Grid mit row-gutter 0 = kein Par-Abstand).
#let _layer(fill, h, round: none) = rect(
width: 100%,
height: h,
fill: fill,
stroke: 0.5pt + luma(150),
radius: if round == none { 0pt } else { round },
)
#let _stack(..layers) = grid(columns: (1fr,), row-gutter: 0pt, ..layers)
// Legendenzeile: Farbfeld + Text.
#let _sw(c, note) = grid(
columns: (14pt, 1fr),
column-gutter: 0.45em,
align(horizon, rect(width: 14pt, height: 9pt, fill: c, stroke: 0.5pt + luma(160), radius: 1.5pt)),
align(horizon, text(size: 8.5pt)[#note]),
)
// Querschnitt 4-Layer: Stack links, Legende rechts.
#let stack-4() = grid(
columns: (1.15fr, 1fr),
gutter: 1.8em,
_stack(
_layer(mask.lighten(40%), 8pt, round: (top-left: 2pt, top-right: 2pt)),
_layer(cu, 11pt),
_layer(prepreg, 7pt),
_layer(accent, 11pt),
_layer(fr4, 18pt),
_layer(accent-soft, 11pt),
_layer(prepreg, 7pt),
_layer(cu, 11pt),
_layer(mask.lighten(40%), 8pt, round: (bottom-left: 2pt, bottom-right: 2pt)),
),
grid(
row-gutter: 3pt,
_sw(mask.lighten(40%), [Lötstopp]),
_sw(cu, [Kupfer 35 µm — Signale]),
_sw(prepreg, [Prepreg ≈ 0,2 mm]),
_sw(accent, [In1.GND — Masse]),
_sw(fr4, [FR4-Kern ≈ 1,0 mm]),
_sw(accent-soft, [In2.PWR — Versorgung]),
),
)
// Prozesskasten für die Werkzeugkette (Stil wie diagrams.typ::_pipebox).
#let _kbox(title, ..lines, highlight: false) = block(
width: 100%,
stroke: (
paint: if highlight { accent } else { luma(205) },
thickness: if highlight { 1.1pt } else { 0.6pt },
),
fill: if highlight { accent.lighten(94%) } else { paper },
radius: 3pt,
inset: (x: 5pt, y: 6pt),
align(center)[
#text(size: 10pt, weight: "bold")[#title]
#v(2pt)
#for l in lines.pos() [ #text(size: 8.5pt, fill: luma(110))[#l] #v(1pt) ]
],
)
#let _arrow = text(fill: accent)[→]
// Werkzeugkette in zwei Reihen.
#let workflow-pipeline() = block(width: 100%, {
grid(
columns: (1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr),
_kbox("Schaltplan", "Eeschema:", "Symbole & Werte"), _arrow,
_kbox("ERC", "Verbindungen &", "Flags prüfen"), _arrow,
_kbox("Footprints", "Symbol ↔ Gehäuse", "zuweisen"), _arrow,
_kbox("PCB-Import", "Netzliste &", "Ratsnest in Pcbnew"),
)
align(center, text(fill: accent, size: 0.85em)[↓])
grid(
columns: (1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr),
_kbox("Platzieren", "Umriss &", "Signalfluss"), _arrow,
_kbox("Routen", "Leitungen & Vias"), _arrow,
_kbox("Zonen", "GND-Flächen"), _arrow,
_kbox("DRC & 3D", "Regeln prüfen"), _arrow,
_kbox("Gerber", "Plotten & Bohren", "→ Fertigung", highlight: true),
)
})
// ---- Folientext -------------------------------------------------------------
#show: presentation.with(
title: "KiCad",
subtitle: "Platinen-Design in der Praxis: vom Schaltplan zum Gerber-Export — 4 Layer als Standard",
author: "Your Name",
)
#slide(title: "Ablauf")[
- *Überblick*: Suite · Projekt · Werkzeugkette · Bauteile
- *Workflow*: Schaltplan → Layout → Fertigungsdaten
- *4 Layer*: Stackup · Masse · Rückstrompfade
- *Praxis*: Einstieg · USB-C & 5 V · EMV · 0-Ω-Retter
- *Bestückung*: Löten · Werkzeug · PCBA
- *Fertigung*: DRC · Gerber · Kosten
#v(0.6em)
Danach: Worauf besteht besonderes Interesse?
]
// Big-Picture-Folie: der komplette Weg von der Idee zum fertigen Gerät,
// bewusst einfach gehalten (Einstieg fürs Publikum ohne Vorwissen).
#slide(title: "Von der Idee zur Platine")[
#grid(
columns: (1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr),
_kbox("1 · Schaltplan", "Schaltung zeichnen"), _arrow,
_kbox("2 · Layout", "Platine entwerfen"), _arrow,
_kbox("3 · Export", "Gerber-Dateien"), _arrow,
_kbox("4 · Bestellen", "hochladen + Stückliste", highlight: true),
)
#align(center, text(fill: accent, size: 0.85em)[↓])
#grid(
columns: (1fr, 10pt, 1fr, 10pt, 1fr, 10pt, 1fr),
[], [], _kbox("5 · Versand", "Platine kommt per Post"), _arrow,
_kbox("6 · Löten", "Bauteile auflöten"), _arrow,
_kbox("7 · Test", "läuft alles?"),
)
#v(0.8em)
Heute: Schritte 1–3 in KiCad — ab 4 übernimmt die Fertigung.
]
// ===================================================================
#section("KiCad-Überblick", note: "Werkzeuge & Workflow")
// ===================================================================
#slide(title: "Was ist KiCad?")[
- *Freie Open-Source-EDA-Suite* (GPLv3): Schaltplan + Leiterplatte
- Ein Projekt, ein Dateisatz: `.kicad_pro` · `.kicad_sch` · `.kicad_pcb` \
— Textformate, git-tauglich
- Integriert: Symbol- & Footprint-Editor · SPICE · 3D-Viewer · DRC/ERC · \
GerbView · `kicad-cli`
- Windows / Linux / macOS — Version 9.x
#v(0.5em)
#src[Offizielles Handbuch: docs.kicad.org]
]
#slide(title: "Werkzeugkette")[
#workflow-pipeline()
#v(0.5em)
- *Iterativ*: Änderung im Schaltplan → `PCB aus Schaltplan aktualisieren`
- Erst ERC sauber → dann Layout
]
#slide(title: "Projekt & Schaltplan")[
- `Datei → Neu → Projekt` → `.kicad_pro` + leere Schematik
- Eeschema: Symbole platzieren (`A`) · verdrahten (`W`)
- Annotieren: Referenzen (R1, C3 …) eindeutig
- Beispiel: Versorgung + MCU-Modul mit Entkopplung
#v(0.5em)
#grid(
columns: (1fr, 1fr),
gutter: 1.2em,
shot("01-projektmanager", [KiCad-Startfenster, leeres Beispielprojekt, Icon-Leiste]),
shot("02-schaltplan", [Eeschema: fertiger Beispielschaltplan inkl. Titelblock]),
)
]
#slide(title: "Bauteile & Lieferbarkeit")[
- *Direkt im Schaltplan auswählen*: konkretes, bestellbares Bauteil — \
kein „irgendein 100 nF“
- Lieferbarkeit & Preis: LCSC · Mouser · DigiKey
- Lagerstand · Preis bei 1 / 10 / 100 Stück
- Gehäuse: 0805 statt 0603 (Handlöten)
- Schönster Schaltplan nützt nichts *ohne Bauteile* \
(Mindestmengen · Versand)
- Nur Lagerware etablierter Distributoren — keine Broker-Teile
#v(0.5em)
#src[LCSC-Nummer als Feld ans Symbol → fertige BOM]
]
#slide(title: "ERC — Schaltung prüfen")[
- `Prüfen → Elektrische Regeln prüfen`
- Findet: offene Pins · unverbundene Drähte · fehlende `PWR_FLAG`
- Warnungen *beheben* — nicht wegklicken
- ERC grün → Footprints → Layout
#v(0.5em)
#shot("03-erc", [ERC-Dialog mit Ergebnisliste und „0 Verstöße“], tip: [Menü: Prüfen → Elektrische Regeln prüfen])
]
// ===================================================================
#section("Layout-Workflow", note: "Der Standard-Workflow")
// ===================================================================
#slide(title: "Footprints zuweisen & importieren")[
- `Werkzeuge → Footprints zuweisen`: Symbol → Gehäuse
- Filter: Abmessungen · Pins · Bohrbild
- Mechanische Maße vorher im Datenblatt prüfen
- Pcbnew: `PCB aus Schaltplan aktualisieren` → Footprints + Ratsnest
#v(0.5em)
#grid(
columns: (1fr, 1fr),
gutter: 1.2em,
shot("04-footprint-zuweisung", [Dialog „Footprints zuweisen“: Symbol / Footprint / Vorschau]),
shot("05-update-pcb", [Dialog „PCB aus Schaltplan aktualisieren“ mit Änderungsliste]),
)
]
#slide(title: "Setup, Umriss & Platzieren")[
#grid(
columns: (1.5fr, 1fr),
gutter: 1.4em,
[
- *Board-Setup*: Netz-Klassen (Signal 0,25 mm · PWR 0,5–0,8 mm), \
Via 0,6/0,3 mm, Abstandsregeln
- Umriss auf *Edge.Cuts* (z. B. 80 × 50 mm, Ecken runden)
- Platzieren nach *Signalfluss*:
- Connectoren & Befestigungen fixieren (sperren)
- ICs → Entkopplungs-Cs an Versorgungspins
],
shot("06-floorplan", [Pcbnew: Umriss + platzierte Footprints mit Ratsnest]),
)
]
#slide(title: "Routen")[
#grid(
columns: (1.3fr, 1fr),
gutter: 1.4em,
[
- `X` — *kritische Signale zuerst*: Takt · PWM · Analog
- Kurze Wege · wenige Vias
- `V` beim Routen: Via + Lagewechsel
- PWR breiter (Netz-Klasse) · GND → Massefläche
- Raster: 1,27 / 0,635 mm (THT) · 0,25 mm (SMD)
],
shot("07-routing", [Leiterbahn beim Routen, Lagen-Widget auf „F.Cu“], tip: [Live-Demo-fähig halten: gleiche Ansicht später am Beamer]),
)
]
#slide(title: "Zonen — GND-Fläche")[
- Werkzeug *Kupferfläche*: Netz *GND* · Lage wählen \
(4 Layer: In1.GND · 2 Layer: B.Cu)
- Thermische Reliefs für Pads
- *Stitch-Vias* nahe kritischen Bauteilen \
(Entkopplung · Quarze · Spannungsregler)
- Nach jeder Änderung: `B` (Zonen auffüllen) → erst dann DRC
#v(0.5em)
#shot("08-zone", [Zonen-Eigenschaften: Netz GND, Lage B.Cu, Füllparameter], tip: [Rechtsklick auf die Fläche → „Flächen…“])
]
#slide(title: "Prüfen & Exportieren")[
- *DRC — nie vergessen!* Nach dem Layout + *nochmal vor dem Export*
- Abstände · offene Verbindungen · Masken- & Bohrabstände
- *3D-Viewer*: Gehäuse- & Montage-Kollisionen
- Export: Gerber X2 + Excellon → ZIP → Fertigung
#v(0.5em)
#grid(
columns: (1fr, 1fr),
gutter: 1.2em,
shot("09-drc", [DRC-Dialog, Ergebnisliste „0 Verstöße“]),
shot("10-3d-viewer", [3D-Betrachter: fertige Platine mit Bauteilen]),
)
]
// ===================================================================
#section("4-Layer", note: "Stackup, Masse & Versorgung")
// ===================================================================
#slide(title: "2 oder 4 Lagen?")[
#grid(
columns: (1.6fr, 1fr),
gutter: 1.4em,
[
- *2 Lagen? — eher nein*: 4-Layer-Aufpreis gering, Nutzen groß
- *Referenzebene unter jedem Signal* \
→ geschlossene Rückstromschleifen · weniger Abstrahlung
- *Impedanzkontrolle* (USB · Ethernet · RF)
- Versorgung als eigene Lage
- 2 Lagen: nur Adapter- & Breakout-Boards
],
stack-4(),
)
]
#slide(title: "Typische Stackups")[
#grid(
columns: (1fr, 1fr),
gutter: 1.2em,
panel(c: accent)[
*A · Allrounder (Standard)*
- Top/Bottom: Signale · In1: *GND* · In2: *PWR*
- GND-Referenz nahe Top-Signalen · Versorgung als ganze Lage
],
panel(c: ember)[
*B · High-Speed*
- Top/Bottom: Signale · In1/In2: *GND*
- Beste Referenz · Versorgung als Zonen auf den Signallagen
],
)
#v(0.6em)
- *Symmetrisch aufbauen* → geringer Verzug beim Reflow
- Beide: 35 µm Kupfer · Kern + 2× Prepreg · ≈ 1,6 mm
]
#slide(title: "Stackup in KiCad einrichten")[
- Board-Setup → *Stapelaufbau*:
- Innenlagen *In1.Cu / In2.Cu* anlegen
- Kupferdicken & Prepreg eintragen · Lagen benennen (In1.GND …)
- *Impedanz* im selben Dialog: Ziel (50 Ω Single · 90 Ω diff) \
→ empfohlene Bahnbreite
- Netzklassen & Abstände wie gehabt · Thermal-Reliefs für Planes
#v(0.4em)
#grid(
columns: (1fr, 1fr),
gutter: 1.2em,
shot("11-stackup-4l", [Board-Setup → Stapelaufbau: 4 Kupferlagen, Dicken, Dielektrika]),
shot("12-impedanz", [Impedanz-Anzeige mit berechneten Werten je Signallage]),
)
]
#slide(title: "Layout-Aufgaben bei 4 Layern")[
#grid(
columns: (1.1fr, 1fr),
gutter: 1.4em,
[
- *GND-Ebene durchgehend halten* \
— Schlitze & Splitting = Rückstromfallen
- *Rückstrom-Via (GND) direkt neben* dem Signal-Via
- *Stitching-Vias* GND ↔ GND regelmäßig verteilen
- Entkopplung: Pad → Via → Plane, so kurz wie möglich
- Versorgung: Via-Paare an In2
],
shot("13-4l-fertig", [4-Layer-Board, nur In1.GND sichtbar: durchgehende Massefläche mit Stitching-Vias], tip: [Lagen-Liste links: nur In1.Cu + Vias einblenden]),
)
]
// ===================================================================
#section("Praxis-Fragen", note: "Erfahrungswerte fürs erste Board")
// ===================================================================
#slide(title: "Wie fange ich an?")[
- *Klein anfangen*: eine Platine, ein Ziel \
(z. B. Versorgung + MCU-Modul — das Vortrags-Beispiel)
- *Bewährtes kopieren*: Referenzdesigns · Open-Source-Boards
- Reihenfolge: Schaltplan → ERC → Layout → DRC → Gerber
- Revision 1 = Lernprojekt: *2–3 Anläufe* sind normal
]
#slide(title: "USB-C & 5 V — ein gutes Konzept?")[
- *Ja — guter Standard*: robust · überall verfügbar · nur 5 V
- *CC1 & CC2: je 5,1 kΩ nach GND* (Rd) \
— sonst liefert die Quelle keinen Strom
- A/B-Pins *gespiegelt*, nicht gedreht — Footprint prüfen
- USB-2: A6↔B6 (D+) · A7↔B7 (D−)
- VBUS: *nicht zurückeinspeisen* (kein 2. Board am Stecker)
#v(0.4em)
#src[Rd (5,1 kΩ): USB-IF, USB Type-C Spec]
]
#slide(title: "EMV als Anfänger?")[
- *Bewusste EMV-Optimierung: zu früh* (Filter · Shields · Slots …)
- Grundset bringt schon den Großteil:
- durchgehende *GND-Referenzfläche* (deshalb 4 Layer)
- *Entkopplungs-Cs* direkt an jeden Versorgungspin
- Einplanen: *2–3 Revisionen* + *Yellow-Wire* für Rev. 1
]
#slide(title: "Wie flexibel designen?")[
- Jumper · Bestückoptionen · „entweder/oder“-Footprints?
- *Eher gar nicht* — nächste Platine ist schnell & günstig
- Flexibilität kostet: Platz · Zeit · Komplexität
- *Ausnahme: ab ~100+ Stück* → Varianten lohnen \
(Bestückvarianten · Strapping)
]
#slide(title: "Retter in der Not: 0 Ω & 1 R")[
- *0 Ω in Serie* zu Versorgungs- & heiklen Signalleitungen
- Notfall: austauschen · überbrücken · Yellow-Wire
- Gehäuse: *0805 / 0603 — nicht kleiner* (handlötbar)
- *1 R in 0805 als Sicherung*: in Versorgungszweige — \
geht durch statt abzufackeln
]
// ===================================================================
#section("Bestückung & Equipment", note: "Löten, Werkzeug & PCBA")
// ===================================================================
#slide(title: "Bestückung: klein nach groß")[
- *Klein nach groß* — sonst kommt der Lötkolben nicht mehr dran
- *Zoom nicht übertreiben*: Bildschirm ≠ Realität
- *Erst SMD, dann THT* — Stecker blockieren sonst SMD-Plätze
- SMD in einem Rutsch: Lötpaste → setzen → Hotplate / Heißluft
- Bestückungsdruck? *Nein* — erst ab ~10 000 Stück + AOI
]
#slide(title: "Equipment — was lohnt sich?")[
#grid(
columns: (1fr, 1fr),
gutter: 1.2em,
panel(c: accent)[
*Kaufen (ja)*
- *Lötkolben* — temperaturgeregelt, feine Spitzen
- *Hotplate* — SMD-Lötpaste im kleinen Reflow
- *Heißluftfön* — Rework · QFN/DFN
- *Lötpaste & Lötzinn*
],
panel(c: ember)[
*Eher nicht / später*
- Reflow-Ofen — Hotplate reicht
- Automatischer Picker — Pinzette tut's
- Großes Mikroskop — USB-Mikroskop reicht
],
)
]
#slide(title: "Factory-Bestückung (PCBA)")[
- *Lohnt sich? — ja, öfter als man denkt* \
(z. B. JLCPCB · AISLER)
- V. a. bei *feinen Gehäusen*: 0402 · QFN · BGA
- Aus KiCad: *BOM* + *Pick-and-Place* \
(`Datei → Fertigungsoutputs`)
- Split: *SMD ab Werk · THT & Mechanik selbst*
]
// ===================================================================
#section("Prüfung & Fertigung", note: "DRC, Gerber, Bohrdaten & Kosten")
// ===================================================================
#slide(title: "Endkontrolle")[
- *Innenlagen sichtbar machen*: GND wirklich geschlossen? \
Versorgungszonen komplett?
- *DRC* mit Herstellerrules: Clearance · Annular Ring · Bohrabstand
- *3D-Check* + STEP-Export (`Datei → Exportieren → STEP`)
- Faustregel: erst Zonen auffüllen (`B`) · dann DRC
]
#slide(title: "Gerber & Bohrdaten")[
- `Fertigungsoutputs → Plotten…`: *Gerber X2*
- Kupfer-Lagen · Lötstopp · Bestückungsdruck · Edge.Cuts
- Bohrdaten separat (Excellon) → beides ins ZIP
- Kontrolle in *GerbView*: jede Lage durchschauen
#v(0.5em)
#grid(
columns: (1fr, 1fr),
gutter: 1.2em,
shot("14-plot", [Plot-Dialog: Gerber X2, Layer-Liste mit Haken]),
shot("15-gerbview", [GerbView mit geladenen Lagen (F.Cu, B.Cu, Masken)]),
)
]
#slide(title: "Was kostet eine Platine?")[
#table(
columns: (auto, 1fr),
stroke: (bottom: 0.5pt + luma(210)),
inset: (x: 4pt, y: 2.5pt),
[*Stückzahl*], [*Richtwert (kleine 4-Layer-Platine, China)*],
[1–5], [ca. 10–25 € — fast nur Grundgebühr, Panel & Versand],
[10], [kaum teurer als 5 — Setup einmal bezahlt],
[100], [ca. 1–2 € pro Stück],
[1000], [ca. 0,3–0,8 € pro Stück],
)
#v(0.4em)
- *Kleinmengen = Fixkosten*: Setup · Panel · Versand
- Preis-Treiber: *Fläche · Lagenzahl · Mindestabstände* (HDI = teuer) · Menge
#v(0.3em)
#src[Richtwerte — aktuell immer im Preisrechner prüfen (jlcpcb.com, aisler.net)]
]
#slide(title: "China oder EU?")[
#grid(
columns: (1fr, 1fr),
gutter: 1.2em,
panel(c: ember)[
*China — JLCPCB, PCBWay, SEEED*
- sehr günstig · riesige Optionsvielfalt
- Versand 1–2 Wochen
- lange Transportwege
],
panel(c: accent)[
*EU — AISLER, Beta layout, Würth*
- Faktor 2–5 teurer · schnell & unkompliziert
- deutschsprachiger Support · Gewährleistung
- kurze Wege → *Umwelt & Local Buying*
],
)
#v(0.5em)
- China: günstiges Prototyping · EU: Zeit, Service, CO₂
]
#slide(title: "Screenshot-Checkliste")[
#set text(size: 11.5pt)
Alle Platzhalter in dieser Folienvorlage — Aufnahme machen, als \
`assets/<name>.png` speichern, `shot(...)` durch `img(...)` ersetzen:
#v(0.4em)
#table(
columns: (auto, auto, 1fr),
stroke: (bottom: 0.5pt + luma(210)),
inset: (x: 4pt, y: 2.5pt),
[*Nr*], [*Datei*], [*Motiv*],
[01], [projektmanager], [Projekt-Manager mit leerem Beispielprojekt],
[02], [schaltplan], [Eeschema: fertiger Beispielschaltplan],
[03], [erc], [ERC-Dialog, Ergebnisliste],
[04], [footprint-zuweisung], [Dialog „Footprints zuweisen“],
[05], [update-pcb], [Dialog „PCB aus Schaltplan aktualisieren“],
[06], [floorplan], [Pcbnew: Umriss + platzierte Footprints + Ratsnest],
[07], [routing], [Routing aktiv, Lagen-Widget unten links],
[08], [zone], [Zonen-Eigenschaften (GND, B.Cu)],
[09], [drc], [DRC-Dialog mit Ergebnis],
[10], [3d-viewer], [3D-Ansicht der fertigen Platine],
[11], [stackup-4l], [Board-Setup → Stapelaufbau mit 4 Kupferlagen],
[12], [impedanz], [Impedanzwerte im Stapelaufbau-Dialog],
[13], [4l-fertig], [4-Layer-Board, nur In1.GND sichtbar],
[14], [plot], [Plot-Dialog mit Gerber X2 und Layer-Liste],
[15], [gerbview], [GerbView mit geladenen Lagen],
)
]
#slide(title: "Tastenkürzel (Layout)")[
#table(
columns: (auto, 1fr, auto, 1fr),
stroke: (bottom: 0.5pt + luma(210)),
inset: (x: 4pt, y: 2.5pt),
[*Taste*], [*Funktion*], [*Taste*], [*Funktion*],
[`X`], [Leiterbahn routen], [`M`], [Bauteil verschieben],
[`V`], [Via + Lagewechsel], [`R`], [Bauteil drehen],
[`U`], [verbundene Leiterbahn wählen], [`E`], [Eigenschaften bearbeiten],
[`B`], [Zonen auffüllen], [`Entf`], [Element löschen],
)
#v(0.5em)
- `V` gilt bei 4-Layern für *jede* Lage — z. B. Top ↔ In1.GND
]
#slide(title: "Quellen & Links")[
- `docs.kicad.org` — Handbuch & Getting Started (de/en)
- `kicad.org` — Downloads · Release Notes · Blog
- `forum.kicad.info` — Community-Forum
- `gerber-format.com` — Gerber-Spezifikation (Ucamco)
- Design-Rules der Fertigung (JLCPCB · PCBWay · AISLER) \
— vor dem Layout ins Board-Setup
]
#slide(title: "Diskussion")[
- Was zeigen wir *live*? (Layout-Demo ~15 min)
- Besonderes Interesse? Kosten · PCBA · EMV · Impedanz · Gehäuse?
#v(1em)
#align(center, text(size: 1.3em, weight: "bold")[Danke — Fragen?])
]