kicad-hackaton-2016


KiCad hackatons

Design modules for KiCad

Purpose: Make it easier for Makers and professionals to reuse and share designs.

Background

Makers today are able and used to taking an arduino and a bunch of breakout boards and wire them together with simple guidelines from the internet. This is very useful for them and gets their idea prototypes and (usually) working quite fast. However, if they want to make a more permanent solution with the components on their own PCB many hit a wall because of the complexity of using the CAD tools, choices that they have to make if components are unavailable and have to be replaced.

More professional users that make many boards often reuse pieces of designs across projects. Today they are lacking a way to share these across projects.

Solution

Create a concept of "modules" that are smaller snippets of designs and layouts that can be reused across

Example designs

  • Voltage regulators, 3.3V, 5V, -5V, switched and linear versions
  • Relay controllers with transistors and flyback diode
  • Basic MCU setups with oscillator placements

PoC implementation

Each module is a Git repository with:

  • A component library. This library can be used directly with kicad. The component can be the full schematic for the part or a more simplified view (perhaps without all decoupling capatitors or oscilators).
  • A netlist
  • PCB files with layout implementations of the component. Several layouts for a single component is possible.
  • For each PCB file there has to be a netlist file as well.

These files are normal KiCad files and the module's files are edited with the normal KiCad tools.

When building the netlist we need to run a special tool that will take the schematic's netlist, look for modules and expand each module with the module's own netlist.