Elektuur Style (Symbols, Layouts, Octagonal Pads/Vias, Oktizer Plugin)

Continuing the discussion from Elektuur Style Symbol Library.

Oktizer

Oktizer is an Action Plugin to create octagonal looking pads and vias in the PCB Editor. It works somewhat similar to how KiCad 6.99 is currently doing teardrops but it also modifies pads.

Currently, there is no GUI (edit the python file to change corner rounding [radius 0.05 mm ≈ 2 mil] or chamfer ratios [29.29% and 20.71%]) and it needs to be copied to the plugins folder of KiCad 5.1 or KiCad 6.0 (it doesn’t need its own folder, though), or it can be installed using PCM on KiCad 6.0. Thermal reliefs may not work correctly with the generated custom pads and may need explicit tracks (for KiCad 6, chamfered rectangles could be enabled instead by uncommenting some code).

Before running it, the PCB needs to be prepared first with either:

  • Tools → Cleanup Tracks & Vias… → ☒ Merge co-linear tracks
  • Edit → Cleanup Tracks and Vias… → ☒ Merge overlapping segments

and after selecting the desired pads and vias (or else it modifies all round/circular/oval/rectangular/square PTH pads and vias):

  • Tools → External Plugins… → Oktizer

or use its tool button. Undo/Redo should work. If only board graphics shapes are selected, the circles and rectangles/squares are changed to (filled) octagons (also useful for creating silkscreen to be copied to the Footprint Editor in KiCad 6, beside pads themselves). For (explicitly selected) NPTH pads (mounting holes), it could be necessary to (temporarily) set their pad clearance to the surrounding zone clearance or the copper-to-hole clearance of the board.

oktizer.py (21.7 KB)

Examples:

Example of NPTH rule area (keepout zone):

Example of manually created T-junction (i.e. set grid size to smallest track width):

Example of manually created thermal relief on chamfered rectangle pad:



Elektuur Style Symbol & Footprint Library

The symbols (only) can also be installed on KiCad 6 with Tools → Plugin and Content Manager (PCM). To add the library after installing, use Preferences → Manage Symbol Libraries… followed by Add empty row to table (the + icon) with the Library Path given in the content description.

The libraries and demos are as well in the repository for local installation using Tools → Plugin and Content Manager → Install from File…. The zip files with demo in their name are example projects (use File → Unarchive Project… instead of PCM). Version 0.5.4 are KiCad 5 libraries (that can also be used and migrated in KiCad 6), version 0.6.4 are KiCad 6 libraries. Currently, the symbols are identical except for some arc adjustments and a few added chamfered footprints (and corresponding config files).


Elektuur (now Elektor) style symbols as introduced in the later 1970s (until the early 1990s when they became more angular). The symbol size has been increased by 1.6% (2 mm grid to 80 mil grid) and the pins realigned to a 100 mil grid.

ElektuurKiCad5Example

It’s a generic symbol library (UJT, BJT, JFET, MOSFET, C, D, LED, LDR, Schottky D, Zener D, varicap D, L, P, R, NTC/PTC R, VDR, Re, S, La, LS, Mic, GND, Xtal, F, battery, meter, terminal, jumper, heatsink, opamp, inverter, AND/NAND/OR/NOR/XOR/XNOR, NOT, SCR, triac, plug/socket, TP, arrow) and some single-pad prototype footprints (generated with oktizer.py above) optimized for some specific track widths. Most symbols have alternat(iv)e/multiple shapes (also KiCad-historically referred to as De Morgan conversion).

kicad-elektuur-symbols-demo-0.5.4.zip (50.9 KB)

Recommended settings for KiCad 6.0 (on Windows) [or copy and modify file *.kicad_pro from demo]:

Preferences
    Preferences…
        Common
            Antialiasing
                Accelerated graphics: High Quality Antialiasing
                Fallback graphics:    High Quality Antialiasing
        Schematic Editor
            Display Options
                ☑ Fallback graphics
            Editing Options
                ☐ Automatically place symbol fields
        Symbol Editor
            Display Options
                ☑ Fallback graphics
            Editing Options
                Default line width:  0     mm    0 mil (broken)
File
    Schematic Setup…
        General
            Formatting
                Default line width:  0.254 mm   10 mil
                Pin symbol size:     0     mm    0 mil
                Junction dot size:   Small
        Project
            NetClasses
                Default
                    Wire thickness:  0.254 mm   10 mil
View [or right mouse button]
    Grid Properties…
        Grid:                        2.54  mm  100 mil
        Grid 1:                      0.635 mm   25 mil [text or wires of gate/diagonal alt. shape]
        Grid 2:                      0.254 mm   10 mil [transformer]
Inspect
    Simulator
        Simulation
            Settings…
                ☑ Adjust passive symbol values (e.g. M → Meg; 100 nF → 100n)
                Compatibility mode: PSpice and LTspice

Note: In KiCad 6.99 there is now an alternative to unchecking Automatically place symbol fields (but it will need modification of the Value/Rating/Indicator/IndicatorControl fields of the symbols).

Recommended settings for KiCad 5.1 (on Windows):

Preferences
    Modern Toolset (Fallback)    [✓ select this]
    Preferences…
        Common
            Graphics (Fallback): High Quality Antialiasing
        Eeschema
            ☐ Automatically place symbol fields
            Display Options
                Wire thickness:  10 mil
                Junction size:   40 mil
        Symbol Editor
            Default line width:  10 mil
View [or right mouse button]
    Grid Settings…
        Grid size:              100 mil [50 mil for diagonal alt. shape]
                                        [25 mil for text or wires of gate alt. shape]
                                        [10 mil for transformer]
Eeschema
    Tools
        Simulator
            Simulation
                Settings…
                    ☑ Adjust passive symbol values (e.g. M → Meg; 100 nF → 100n)

Above SVG file was created using File → Plotting… with Default line width of 0.254 mm or 10 mil, Black and White and PDF selected, and after repeated Edit → Select All and Object → Ungroup in Inkscape saved as Optimized SVG.


See also Elektuur Retro Lettering (oktuur.zip for Inkscape/SVG).
See also Getting Started with KiCad EDA - Eeschema Schematic Capture (Elektor TV video).

1 Like

Version 0.0.9 now available in PCM:

Note: This version of the plugin doesn’t run in experimental KiCad 6.99 because of KiCad’s incompatible Python APIs (PCBs modified with the plugin in KiCad 5.1 or 6.0 should be OK in KiCad 6.99).

1 Like

Example PCB based on E-CALL EIC-801 Solderless Breadboard (400 Tie-point), similar to Adafruit Perma-Proto Half-sized Breadboard PCB, SparkFun Solder-able Breadboard or YoMo EPB-M:

octaproto400.zip (29.7 KB)

Colors above are:

Preferences
  3D Viewer
    General
      ☐ Show solder paste layers
    Colors
      ☑ Use colors:
        Silkcreen top:          #F5F5F5FF (White)
        Silkcreen bottom:       #F5F5F5FF (White)
        Solder mask top:        #441A9600 (Opacity: 0)
        Solder mask bottom:     #441A9600 (Opacity: 0)
        Copper/surface finish:  #B29C00FF (Gold)
        Board body:             #000000FF (Black)

More pictures of breadboards (mostly based on patents USD228136S or USD235554S).

1 Like

Forthcoming KiCad 6.0.6 Released KiCad 6.0.6 has now correct octagonal pads when importing from EAGLE (via shapes are ignored).

1 Like

Does this mean that octagonal pads will be available among existing “pad shape” in 6.0.6 as well? btw, what’s the chamfer size you are using in this plugin?

  1. Take a piece of paper and something to write.
  2. draw a square with inscribed circle.
  3. Make the square into an octagon.
  4. Draw an extra line from the center to a corner of the octagon.
  5. Apply some trigonometry: (1-sin(pi/8))/2 = 0.3086582838174551
  6. Draw a pad:

Yep, 30.8% seems about right.
Edit:, euhm, oops, “about”, but not quite.
It bothered me that the chamfers looked a tiny bit too big, and then I realized I should have taken the tangent instead of the sine: >>> (1-tan(pi/8))/2 = 0.2928932188134525

Edit 2:
Or you can use some proportions. You get the same number with: 1/(2+sqrt(2)) = 0.2928932188134525

3 Likes

For EAGLE import (*.brd, and for added EAGLE libraries *.lbr as well), it’s a KiCad 6.0 standard chamfered rectangular pad shape with now 29.28932188% chamfer ratio (the plugin above uses custom pad shapes to be compatible with KiCad 5 and also support rounded corners; see the comments in the python script above). Altium import uses 25%.

The chamfer ratios used in the plugin are 1-√½ (≈ 29.29%) for squares and √½-½ (≈ 20.71%) for rectangles, which correspond to 1÷1 and 2÷1 side ratios, respectively.

With a pad size of 1+√2 (≈ 2.414) times the track width (or slightly smaller), it allows angles of 135° (instead of ≈ 90°) without using teardrops, as was used by Elektuur/Elektor in the late 1970s until the 1990s. EAGLE’s initial footprints and symbols looked very similar. Since tracks are nowadays much narrower, the plugin uses fillet teardrops to get a similar look, especially if the octagons or rectangles use rounded corners (by default the same as TI recommends for DIL, SOIC, TSSOP, TO-92, etc.).

1 Like

The Simple Analog ESR Meter in the current issue (article) is a KiCad 5 project download.

1 Like

Elektor Summer Circuits (halfgeleidergids/Halbleiterheft) edition 2022
articles (only project files free):

* KiCad 6 (or 5) projects (files can be downloaded there or on their Labs page, possibly after creating an account)
** EAGLE or Altium files that can be imported by PCBnew 6

Classic layout & artwork (small selection):

1985-1987:

1982-1984:

1975:

1970:

Unmangled 300 dpi resolution: ePCB/

3 Likes

2000:
990076-PCB