# Meine Persönliche KiCad-Bibliothek Diese Bibliothek enthält benutzerdefinierte KiCad-Komponenten, die in der Standard-Bibliothek nicht verfügbar sind. ## 📁 Struktur ``` my-kicad-libs/ ├── symbols/ # Symbol-Bibliotheken (.kicad_sym) │ ├── Custom_Logic/ │ ├── Custom_Power/ │ ├── Custom_Connectors/ │ ├── Standard_Passives/ # Standard R/C/L mit LCSC │ ├── Standard_ICs/ # CAN, STM32, Standard-ICs │ ├── Logos_Artwork/ │ └── ... ├── footprints/ # Footprint-Bibliotheken (.pretty) │ ├── Custom_QFN.pretty/ │ ├── Custom_BGA.pretty/ │ ├── Logos_Silkscreen.pretty/ │ └── ... # Nur custom Footprints, Standard nutzt KiCad-Libs ├── 3d_models/ # 3D-Modelle (.step, .wrl) │ ├── Connectors/ │ ├── IC_Packages/ │ ├── Mechanical/ │ └── ... ├── datasheets/ # Datenblätter (optional) ├── docs/ # Dokumentation ├── scripts/ # Automatisierungs-Scripts └── templates/ # Projektvorlagen ``` ## 🏷️ Naming Conventions ### Symbole (.kicad_sym Dateien) - **Format**: `[Kategorie]_[Hersteller]_[Serie].kicad_sym` - **Beispiele**: - `Logic_TI_74HC.kicad_sym` - `Power_LTC_Switching.kicad_sym` - `Connectors_JST_XH.kicad_sym` - `Logos_Personal.kicad_sym` ### Einzelne Symbol-Namen (innerhalb der .kicad_sym) - **Format**: `[Partnumber]_[Package]_[Variante]` - **Format (Standard-Passives)**: `[Wert]_[Package]_[LCSC]` - **Beispiele**: - `TPS54340_HTSSOP-14_PowerPAD` - `STM32F407VGT6_LQFP-100` - `USB-C_16Pin_Receptacle` - `100nF_0402_C1525` (Kondensator mit LCSC#) - `10k_0603_C25804` (Widerstand mit LCSC#) - `Logo_MyCompany_10mm` ### Footprints (.pretty Ordner) - **Format**: `[Kategorie]_[Spezifikation].pretty` - **Beispiele**: - `QFN_Custom.pretty` - `USB_Connectors.pretty` - `Logos_Silkscreen.pretty` - `Mechanical_Standoffs.pretty` ### Einzelne Footprint-Namen (innerhalb .pretty) - **Format**: `[Package]_[Größe]_[Pitch]_[Besonderheit]` - **Beispiele**: - `QFN-32_5x5mm_0.5mm_EP3.3x3.3mm` - `USB-C_SMD_16Pin_6.2x7.3mm` - `Logo_MyCompany_10x5mm_Silkscreen` - `TestPoint_1.5mm_Drill0.7mm` ### 3D-Modelle - **Format**: `[Kategorie]/[Bauteil]_[Größe].[step|wrl]` - **Beispiele**: - `IC_Packages/QFN-32_5x5mm.step` - `Connectors/USB-C_SMD_16Pin.step` - `Mechanical/Standoff_M3_10mm.step` ## 📋 Kategorien-System ### Symbole - `Amplifiers_Custom` - Spezielle Operationsverstärker - `Audio_Custom` - Audio-ICs, Codecs - `Communication_Custom` - CAN, RS485, Ethernet (spezielle) - `Connectors_Custom` - Spezielle Steckverbinder - `Display_Custom` - LCDs, OLEDs, E-Paper - `Logic_Custom` - Spezielle Logik-ICs - `MCU_Custom` - Mikrocontroller (spezielle) - `Memory_Custom` - Flash, EEPROM, RAM - `Standard_Passives` - **Standard R/C/L mit LCSC** (nutzt KiCad-Footprints) - `Standard_ICs` - **Standard CAN-Transceiver, STM32, etc.** (nutzt KiCad-Footprints) - `Power_Custom` - DC-DC, LDOs, Power Management - `RF_Custom` - HF-Module, Antennen - `Sensors_Custom` - Sensoren aller Art - `Logos_Artwork` - Firmenlogos, CC-Lizenzen, Artwork ### Footprints - `BGA_Custom.pretty` - Ball Grid Arrays (nur wenn nicht in KiCad vorhanden) - `Connectors_Audio.pretty` - Audio-Steckverbinder - `Connectors_Power.pretty` - Power-Steckverbinder - `Connectors_USB.pretty` - USB-Varianten - `IC_Custom.pretty` - Spezielle IC-Gehäuse - `Logos_Silkscreen.pretty` - Logos für Silkscreen - `Mechanical.pretty` - Mechanische Teile - `Modules_Custom.pretty` - Komplette Module - `QFN_Custom.pretty` - Quad Flat No-leads (nur Custom-Varianten) - `Sensors_Custom.pretty` - Sensor-Gehäuse - `TestPoints.pretty` - Testpunkte **Hinweis**: Standard-Passivbauteile und Standard-IC-Packages nutzen die vorhandenen KiCad-Footprints! ## 🎨 Artwork & Logos ### CC-Lizenzen - Format: `CC_[Lizenz]_[Größe]mm` - Beispiele: `CC_BY-SA_5mm`, `CC_BY-NC_3mm` ### Persönliche Logos - Format: `Logo_[Name]_[Größe]mm_[Typ]` - Beispiele: `Logo_MyCompany_10mm_Full`, `Logo_MyCompany_5mm_Icon` ### OSHW (Open Source Hardware) - Format: `OSHW_[Land]_[Größe]mm` - Beispiel: `OSHW_DE_4mm` ## ⚙️ Best Practices ### Allgemeine Regeln 1. **Konsistenz**: Immer das gleiche Namensschema verwenden 2. **Englisch**: Alle Namen auf Englisch für universelle Verwendbarkeit 3. **Keine Sonderzeichen**: Nur A-Z, a-z, 0-9, Unterstrich und Bindestrich 4. **Versionierung**: Bei Updates neue Symbole/Footprints erstellen statt überschreiben 5. **Dokumentation**: Jedes neue Teil dokumentieren ### Symbol-Design - **Pin-Namen**: Verwenden Sie offizielle Pin-Namen aus dem Datenblatt - **Pin-Nummern**: Korrekte Pin-Nummern entsprechend Package - **Referenz**: Standard-Referenz (U, R, C, L, etc.) - **Value**: Leer lassen oder generischen Namen verwenden - **Datasheet**: URL im Symbol hinterlegen ### Footprint-Design - **Courtyard**: 0.25mm Mindestabstand zu anderen Komponenten - **Fab Layer**: Bauteil-Umriss auf F.Fab/B.Fab - **Silkscreen**: Klare Orientierung, keine Überlappung mit Pads - **Reference**: Standardposition, gut lesbar - **3D-Modell**: Wenn verfügbar, immer zuweisen ### 3D-Modelle - **Format**: STEP bevorzugt, WRL für Legacy - **Größe**: Realistisch, aber nicht übermäßig detailliert - **Farben**: Realistische Materialfarben - **Position**: Korrekte Ausrichtung zum Footprint ## 📂 Ordnerstruktur Detail ### /symbols/ ``` symbols/ ├── Amplifiers_Custom.kicad_sym ├── Communication_Custom.kicad_sym ├── Connectors_Custom.kicad_sym ├── Display_Custom.kicad_sym ├── Logic_Custom.kicad_sym ├── Logos_Artwork.kicad_sym ├── MCU_Custom.kicad_sym ├── Memory_Custom.kicad_sym ├── Power_Custom.kicad_sym ├── RF_Custom.kicad_sym └── Sensors_Custom.kicad_sym ``` ### /footprints/ ``` footprints/ ├── BGA_Custom.pretty/ ├── Connectors_Audio.pretty/ ├── Connectors_Power.pretty/ ├── Connectors_USB.pretty/ ├── IC_Custom.pretty/ ├── Logos_Silkscreen.pretty/ ├── Mechanical.pretty/ ├── Modules_Custom.pretty/ ├── QFN_Custom.pretty/ ├── Sensors_Custom.pretty/ └── TestPoints.pretty/ ``` ### /3d_models/ ``` 3d_models/ ├── Connectors/ │ ├── Audio/ │ ├── Power/ │ └── USB/ ├── IC_Packages/ │ ├── BGA/ │ ├── QFN/ │ └── Custom/ ├── Mechanical/ │ ├── Standoffs/ │ ├── Heatsinks/ │ └── Enclosures/ └── Modules/ ├── RF/ ├── Sensors/ └── Display/ ``` ## 🔧 KiCad Konfiguration ### Symbol-Bibliotheken hinzufügen 1. Preferences → Manage Symbol Libraries 2. Project Specific Libraries hinzufügen 3. Nickname: `Custom_[Kategorie]` 4. Library Path: Relativer Pfad zu .kicad_sym Datei ### Footprint-Bibliotheken hinzufügen 1. Preferences → Manage Footprint Libraries 2. Project Specific Libraries hinzufügen 3. Nickname: `Custom_[Kategorie]` 4. Library Path: Relativer Pfad zu .pretty Ordner ## 📝 Dokumentationsrichtlinien ### Pro Komponente dokumentieren - **Partnummer**: Vollständige Herstellerbezeichnung - **Hersteller**: Firmenname - **Datenblatt**: URL oder lokaler Pfad - **Besonderheiten**: Spezielle Anforderungen - **Erstellt**: Datum und Version - **Getestet**: Status der Verifikation ### Changelog führen - Alle Änderungen in CHANGELOG.md dokumentieren - Datum, Komponente, Art der Änderung - Grund für die Änderung ## 🚀 Workflow ### Neue Komponente hinzufügen 1. **Research**: Datenblatt studieren, ähnliche Komponenten prüfen 2. **LCSC-Check**: Bei Standard-Passivbauteilen LCSC-Verfügbarkeit prüfen 3. **Symbol erstellen**: In passende Kategorie-Datei 4. **Footprint erstellen**: In passenden .pretty Ordner 5. **3D-Modell**: Suchen oder erstellen 6. **Verknüpfung**: Symbol ↔ Footprint ↔ 3D-Modell 7. **Test**: In Testschaltung verwenden 8. **Dokumentation**: In README und Changelog eintragen ### Qualitätskontrolle - [ ] Elektrische Regeln Check (ERC) - [ ] Design Rules Check (DRC) - [ ] 3D-Ansicht prüfen - [ ] Testbestückung (falls möglich) ## 📜 Lizenz & Copyright ### Eigene Designs - Alle eigenen Symbole, Footprints und 3D-Modelle unter CC BY-SA 4.0 - Copyright-Vermerk in jeder Datei ### Fremde 3D-Modelle - Nur lizenzfreie oder kompatible Modelle verwenden - Quellenangabe in Datei-Metadaten - Bei Unsicherheit: Eigenes Modell erstellen ### Logos & Artwork - Nur eigene Logos oder explizit erlaubte verwenden - CC-Lizenz-Symbole korrekt implementieren - Markenrechte beachten ## 🔄 Wartung & Updates ### Regelmäßige Aufgaben - [ ] Footprints mit neuen KiCad-Versionen testen - [ ] 3D-Modell-Links überprüfen - [ ] Obsolete Komponenten markieren - [ ] Neue KiCad-Features nutzen ### Versionierung - Git für Versionskontrolle nutzen - Tags für stabile Versionen - Branches für experimentelle Features --- *Letzte Aktualisierung: $(date)*