Skip to content

Instantly share code, notes, and snippets.

@chatelao
Forked from exocode/kicad-cheat-sheet.md
Last active November 16, 2023 06:15
Show Gist options
  • Save chatelao/d92d628e65b45b498eb7a070a9ed8b13 to your computer and use it in GitHub Desktop.
Save chatelao/d92d628e65b45b498eb7a070a9ed8b13 to your computer and use it in GitHub Desktop.

Revisions

  1. chatelao revised this gist Nov 16, 2023. 1 changed file with 0 additions and 24 deletions.
    24 changes: 0 additions & 24 deletions kicad-cheat-sheet.md
    Original file line number Diff line number Diff line change
    @@ -61,30 +61,6 @@
    - b -> refill again
    - tilder for "INVERTED"-symbol (in Pins)

    # Workflow (detailed)
    - start with schema
    - add your components
    - hover over component -> click "M" to move it
    - click "R" to rotate
    - wire them (choose on the right / green "cable")
    - Annotate schematic (benenne die Bauteile)
    - Tools -> assign components / ()CvPcb)
    (check filter by Library, check filter by pincount)
    - Then choose the desired component footprints
    - click electrical rules chekcer (no errors)
    - click "generate netlist"
    - click "generate"
    - Tools -> Layout printed circuit board
    - click read netlist -> read current netlist
    - Click "mode footprint", then right click, "Global spread and place" -> "spreadout all footprints"
    - click **add tracks and wires** (and draw your wires)
    - click/select **edge cuts layer** and draw a rectangle for PCB size with "Graphic line"-tool (check if its correctly closed)
    - **add filled zones** (then draw rectangle around), then rightclick "fill or refill all zones"
    - **View -> 3D Viewer**
    - **File -> Plot** (F.cu, Silk screen, Edge Cuts, F.mask (Schutzlack) )
    - **File -> Plot** also generate Drill File (für Löcher)
    - Gerb view

    # Layers
    F.fab printed on screen
    F.Silk
  2. chatelao revised this gist Nov 16, 2023. 1 changed file with 24 additions and 0 deletions.
    24 changes: 24 additions & 0 deletions kicad-cheat-sheet.md
    Original file line number Diff line number Diff line change
    @@ -9,6 +9,30 @@
    - [ ] 7. Production (gerbview)
    - [ ] 8. Generate BOM (Digi-Key)

    # Workflow (detailed)
    - [ ] 1. Start with schema
    - [ ] 1. Add your components
    - [ ] 1. Hover over component -> click "M" to move it
    - [ ] 1. Click "R" to rotate
    - [ ] 1. Wire them (choose on the right / green "cable")
    - [ ] 1. Annotate schematic (benenne die Bauteile)
    - [ ] 1. Tools -> assign components / ()CvPcb)
    - [ ] 1. Check filter by Library, check filter by pincount)
    - [ ] 1. Then choose the desired component footprints
    - [ ] 1. Click electrical rules chekcer (no errors)
    - [ ] 1. Click "generate netlist"
    - [ ] 1. Click "generate"
    - [ ] 1. Tools -> Layout printed circuit board
    - [ ] 1. Click read netlist -> read current netlist
    - [ ] 1. Click "mode footprint", then right click, "Global spread and place" -> "spreadout all footprints"
    - [ ] 1. Click **add tracks and wires** (and draw your wires)
    - [ ] 1. Click/select **edge cuts layer** and draw a rectangle for PCB size with "Graphic line"-tool (check if its correctly closed)
    - [ ] 1. **Add filled zones** (then draw rectangle around), then rightclick "fill or refill all zones"
    - [ ] 1. **View -> 3D Viewer**
    - [ ] 1. **File -> Plot** (F.cu, Silk screen, Edge Cuts, F.mask (Schutzlack) )
    - [ ] 1. **File -> Plot** also generate Drill File (für Löcher)
    - [ ] 1. Gerb view

    # useful

    - VCC kann beispielsweise mit 9V verbunden werden, dann platziere weitere VCCs dort wo Spannung benötigt wird um Kabelsalat zu vermeiden
  3. chatelao revised this gist Nov 16, 2023. 1 changed file with 8 additions and 8 deletions.
    16 changes: 8 additions & 8 deletions kicad-cheat-sheet.md
    Original file line number Diff line number Diff line change
    @@ -1,13 +1,13 @@
    # Flow

    1. [ ] Design Circuit
    1. [ ] Create Symbols (library editor)
    1. [ ] Schematic capture (eeschema)
    1. [ ] Create footprints (footprint editor)
    1. [ ] Generate Netlist (cvpcb)
    6. Board layout (pcbnew)
    7. Production (gerbview)
    8. Generate BOM (Digi-Key)
    - [ ] 1. Design Circuit
    - [ ] 2. Create Symbols (library editor)
    - [ ] 3. Schematic capture (eeschema)
    - [ ] 4. Create footprints (footprint editor)
    - [ ] 5. Generate Netlist (cvpcb)
    - [ ] 6. Board layout (pcbnew)
    - [ ] 7. Production (gerbview)
    - [ ] 8. Generate BOM (Digi-Key)

    # useful

  4. chatelao revised this gist Nov 16, 2023. No changes.
  5. chatelao revised this gist Nov 16, 2023. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions kicad-cheat-sheet.md
    Original file line number Diff line number Diff line change
    @@ -1,10 +1,10 @@
    # Flow

    - [ ] Design Circuit
    - [ ] Create Symbols (library editor)
    3. Schematic capture (eeschema)
    4. Create footprints (footprint editor)
    5. Generate Netlist (cvpcb)
    1. [ ] Design Circuit
    1. [ ] Create Symbols (library editor)
    1. [ ] Schematic capture (eeschema)
    1. [ ] Create footprints (footprint editor)
    1. [ ] Generate Netlist (cvpcb)
    6. Board layout (pcbnew)
    7. Production (gerbview)
    8. Generate BOM (Digi-Key)
  6. chatelao revised this gist Nov 16, 2023. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions kicad-cheat-sheet.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,7 @@
    # Flow
    1. Design Circuit
    2. Create Symbols (library editor)

    - [ ] Design Circuit
    - [ ] Create Symbols (library editor)
    3. Schematic capture (eeschema)
    4. Create footprints (footprint editor)
    5. Generate Netlist (cvpcb)
  7. @exocode exocode created this gist Apr 6, 2019.
    151 changes: 151 additions & 0 deletions kicad-cheat-sheet.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,151 @@
    # Flow
    1. Design Circuit
    2. Create Symbols (library editor)
    3. Schematic capture (eeschema)
    4. Create footprints (footprint editor)
    5. Generate Netlist (cvpcb)
    6. Board layout (pcbnew)
    7. Production (gerbview)
    8. Generate BOM (Digi-Key)

    # useful

    - VCC kann beispielsweise mit 9V verbunden werden, dann platziere weitere VCCs dort wo Spannung benötigt wird um Kabelsalat zu vermeiden
    - Global Labels um Kabelsalat zu vermeiden
    - **VCC/VDD** -> Positive power
    - **VSS/VEE** -> Negative power
    - **NC** -> Not Connected
    - **GND** -> Normal "Earth" but we use it
    - **F.Cu** -> front layer
    - **B.Cu** -> bottom layer

    # Keyboard shortcuts
    - shift + ? -> show shortcuts
    - a -> add symbol
    - g -> drag wire
    - mousewheel -> zoom (F1 & F2)
    - m -> move
    - r -> rotate
    - f -> edit footprint
    - w -> wire
    - space -> temporary marker (center)
    - e -> edit
    - v -> add value fileds
    - c -> copy
    - v -> Field value
    - b -> refill again
    - tilder for "INVERTED"-symbol (in Pins)

    # Workflow (detailed)
    - start with schema
    - add your components
    - hover over component -> click "M" to move it
    - click "R" to rotate
    - wire them (choose on the right / green "cable")
    - Annotate schematic (benenne die Bauteile)
    - Tools -> assign components / ()CvPcb)
    (check filter by Library, check filter by pincount)
    - Then choose the desired component footprints
    - click electrical rules chekcer (no errors)
    - click "generate netlist"
    - click "generate"
    - Tools -> Layout printed circuit board
    - click read netlist -> read current netlist
    - Click "mode footprint", then right click, "Global spread and place" -> "spreadout all footprints"
    - click **add tracks and wires** (and draw your wires)
    - click/select **edge cuts layer** and draw a rectangle for PCB size with "Graphic line"-tool (check if its correctly closed)
    - **add filled zones** (then draw rectangle around), then rightclick "fill or refill all zones"
    - **View -> 3D Viewer**
    - **File -> Plot** (F.cu, Silk screen, Edge Cuts, F.mask (Schutzlack) )
    - **File -> Plot** also generate Drill File (für Löcher)
    - Gerb view

    # Layers
    F.fab printed on screen
    F.Silk

    # BOM (build list of materials)

    ## Libraries

    **KiCad** - native KiCad footprint libraries stored on a local filesystem in the **.pretty** format (folders containing **.kicad_mod** files)

    **Github** - native KiCad footprint libraries in the **.pretty** format, stored online as a Github repository

    **Legacy** - old-style KiCad footprint libraries (**.mod** files)

    **Eagle** - Eagle footprint libraries (folders containing **.fp** files)

    **Geda-PCB** - Geda PCB libraries



    ### Symbol Libraries

    **.lib** defines most of the symbol (graphical elements like pins and lines, symbol fields like the default footprint, …)

    **.dcm** holds the information that can be specialized for every symbol alias. (Description, keywords and datasheet link)

    Most kicad internal dialogs will only show the **.lib** file. KiCad knows that there also is a **.dcm** file with the same file name.

    ## Footprints

    The current footprint file format has one **.kicad_mod** file per footprint placed in a folder with **.pretty** suffix representing the library.

    Back then a single **.mod** file represented ***a full library***. (similar to how symbol libs are handled right now.) KiCad can still include them in the library setup in the same way as a its modern files.

    KiCad can also directly use eagle **xml** libraries to extract footprints. (To do that add the library file to the footprint library table.)

    ### 3d model libraries

    KiCad supports **.wrl** and step files. It is customary that these files are organized in **.3dshapes** directories. (Kind of like libraries but KiCad does not really manage them. )


    - ↳symbols // .lib and .dcm files
    - ↳footprints // .kicad_mod files within .pretty folders

    - ↳3d_models // .STEP and .WRL model files for all footprints
    - ↳datasheets // data sheets for components used
    - ↳gerber // final production files
    - ↳images // SVG images and 3D board renders
    - ↳lib_sch // schematic symbols
    - ↳lib_fp.pretty // footprints
    - ↳pdf // schematics, board layouts, dimension drawings

    ## Spannungsbezeichnungen
    - **V+** – positive Versorgungsspannung (sagt nichts über die Spannungshöhe aus!)
    - **V++** – positive Versorgungsspannung (sagt nichts über die Spannungshöhe aus!)
    - **V−** – negative Versorgungsspannung
    - **V−−** – negative Versorgungsspannung
    - **GND** – 0 V, 0-Potenzial, Masse, Abkürzung für engl. „Ground“. Gegen dieses Potenzial wird die Spannung oder „Potenzialdifferenz“ gemessen. Das Spannungspotenzial positiver Spannungen ist höher als GND, negative Spannungen haben ein Spannungspotenzial das unterhalb von GND liegt. Umgangssprachlich wird GND oft fälschlicherweise als negative Versorgungsspannung bezeichnet. Ein angelegter (positiver oder negativer) Strom fließt über die GND-Leitung zurück zur Spannungsquelle.
    - **CGND** – „Chassis-Ground“ – also normalerweise mit dem Gehäuse verbunden
    - **SGND** – „Signal-Ground“ – oft für negative Spannungslevel in analogen Schaltungsteilen verwendet, z. B. Audio
    - **DGND** – „Digital-Ground“ – in Verbindung mit digitalen Bausteinen mit analogem Eingang
    - **AGND** – „Analog-Ground“ – analoge Signale in digitalen Bausteinen haben oft einen separaten Ground


    - **VBAT** – Batteriespannung
    - **VBE** – Spannung zwischen Basis und Emitter bei Bipolartransistoren
    - **VC** – ist die Spannung am Kollektor (Collector) eines bipolaren Transistors
    - **VCC** – Pluralbildung: Spannung an den Kollektoren, bei bipolaren ICs positive Versorgungsspannung
    - **VCE** – Spannung zwischen Kollektor und Emitter bei Bipolartransistoren
    - **VCEsat** – Spannung zwischen C und E im Sättigungszustand des Transistors
    - **VCM** - Mittenspannung von integrierten Schaltkreisen bei asymmetrischer Spannungsversorgung
    Vcore – die Spannungsversorgung für die „wichtigen“ Chips wie CPU oder GPU
    - **VD** – Spannung am Drain eines FETs
    - **VDS** – Spannung zwischen Drain und Source bei FETs
    - **VDD** – positive Versorgungsspannung von MOS-Schaltkreisen (die Stelle an der viele „Drains“ der NMOS-Logik hängen)
    - **VDDQ** – Die Spannungsversorgung für Ausgangsbuffer eines Speicherchips
    - **VE** – Spannung am Emitter
    - **VEE** – Spannung an den Emittern, negative Versorgungsspannung z. B. bei ECL-ICs
    - **VG** – Spannung am Gate
    - **VGS** – Spannung zwischen Gate und Source bei FETs
    - **VIN** – Eingangsspannung
    - **VMEM** – Die Spannungsversorgung für einen Memory Chip/Speicherbaustein, manchmal auch: VDDR, VDIMM oder ähnlich
    - **VOUT** – Ausgangsspannung
    - **VPP** – Spannungsdifferenz zwischen positiver und negativer Spitzenspannung (Peak to Peak), aber auch Programmierspannung bei (E)EPROMs und Mikrocontrollern
    - **VREF** – Referenzspannung
    - **VRMS** – root mean square, Effektivwert einer Spannung
    - **VS** – Spannung am Source
    - **VSS** – negative Versorgungsspannung von MOS-Schaltkreisen, oft identisch mit **GND** (siehe unten)
    - **VTT** – Verbindung der Abschlusswiderstände (Terminatoren)