- Purpose
- Input/output
- Control/communication ports
- Place/location of use
- Enviromental conditions
- Mechanical considerations (mounting)
- Common near EMI sources
- PCB Manufacturer
- Manufacturer conditions:
- Layers
- Copper thickness
- Color
- Document PCB main functions (expected functionality)
- Document PCB electrical working conditions (inputs, outpus, power supply, noise)
- Document PCB enviromental and mechanical conditions (humidity, size, connectors and their locations if it is important)
- Check each of these lists against the design to be sure they are fullfilled.
- Protection:
- Fuses
- Inrush current
- Polarity protection
- List the most important PCB components
- Download, name and properly store all datasheets in a subdirectory
- Check each ICs functionality
- Check the typical application example
- Check each complementary component and their values
- Check for a PCB recommended footprint and ground noise PCB layout recommendations
- Create Hierarchical sheets for each module
- Check recommended circuitry for each module
- Create new IC symbols when needed
- Check pins (names, numbers, pintypes)
- Create all schematics
- Check schematics
- Annotate components
- Do DRC checks
- Create MFG, MFG Part number and Store Webpage component fields
- Use (add) tolerances in the component properties (for resistors and relevant components)
- Use the minimum recomended voltages for capacitors in the component properties
- Check availability, end-of-life, obsolescence, find replacement, update fields:
- Availability
- Check package sizing
- For capacitors, check voltages
- for connectors check:
- Current capacity
- Voltage capacity
- Mechanical capacity
- Try to select only one component for each main value (even if voltage is higher than necessary in some components) (to reduce BOM and increase same quantities)
- Assign corresponding footprints
- Check footprints against MFG part number
- Check and modify footprints to allow handsoldering
- Start PCB
- Design rules:
- Set design rules (find multiple manufacturers if possible and select the worst combined rule set)
- Set the global minimum design rules
- Calculate power supply lines and high power line maximum currents
- Set common track widths and via sizes (GND, Power lines, analog signals, digital signals, high voltage low amp, high voltage high amp)
- Use net classes for these common track widths
- Determine all different voltage circuits.
- Use a track separation according to voltage (use kicad calculator table)
- Mechanical:
- Make the biggest board size possible with the most affordable price to set a maximum size for the board using the Edge.Cuts layer
- Copy the Edge.Cuts lines from the other .kicad_pcb file from another project to the current file in case that the same board size and shape is needed
- Mounting holes for the boards
- Read netlist
- Assign all net points to net classes
- Draw drafts testing different configurations for positioning main modules, taking into account power supply lines, analog signals, digital signals, different grounds and the layer to use in each in such a way to avoid interference, improve ground stability, power regulation, and many other problems.
- Position the biggest components, for each module first, then position components according to function and datasheet recommendations
- Position LEDs around the borders of the board or in other carefull places considering the future enclosure.
- Construct schematic modules as PCB modules (away from main space, then move)
- Move them to final position
- Connect them
- Create big GND and power lines
- Create GND planes, move lines to allow planes to permate more
- Do via stitching
- Do DRC checks
- Add logos
- Relocate vias to not disturb logos
- Relocate Silkscreen reference names
- Create division lines to clarify and present modules location
- Add project name and board revision number
- Check distances of external boards (in case of multiple connector external boards)
- Assemble external boards with 3d viewer to check mechanical and assembly problems visually (pay attention to connectors and big components)
- Add missing 3D models
- Check orientation of pins in passthrough connectors and all
- Check for flipped ICs and connectors
- Annotate in PCB special pins (for debugging clarity)
- Edit Additional indication (port names) naming
- Add polarity symbols for ports
- Buy all strange components first
- Generate fabrication files