How To's

1 Schematic Design

Schematic design is the first step in creating your electronic circuit. Here you must apply theory, as well as beginning to think about the physical board and how it's going to be laid out. There are plenty of open source tools that can be utilized to make this process easier. However the bulk of the work can be done in KiCAD


An example schematic designed in KiCAD

1.1 Downloading and Installing Software

This section describes installing software used for circuit board design.

1.1.1 Installing KiCAD

KiCAD is a free and open source software (FOSS) tool for circuit board design. Schematics can be designed and turned into circuit boards in this suite. KiCAD supports a wide range of operating systems and is actively developed by the CERN group. It is licensed under GNU GPL v3.

On Windows:

On Linux Mint (Same for Ubuntu):

  • Follow instructions to acquire via the Software Manager here
    http://kicad-pcb.org/download/linux-mint/
  • Alternatively you can use the terminal. Paste the following commands below:
    sudo add-apt-repository --yes ppa:js-reynaud/kicad-4
    sudo apt-get update
    sudo apt-get install kicad

Other Operating Systems:

Information gathered from http://kicad-pcb.org/ on 26SEP2017

1.1.2 Installing QUCS

QUCS (Quite Universal Circuit Simulator) is a tool for rapid circuit simulation. Everything can be parametric allowing for very flexible simulations.

For Windows:

  • Download the Qucs portable package from the Sourceforge download page.
  • Run through the installation steps, keeping everything at their default.

On Linux Mint (Same for Ubuntu):

  • You may download the PPA from the Sourceforge download page.
  • Alternately, you can install Qucs via the terminal using the following commands:
sudo apt-add-repository ppa:qucs/qucs
sudo apt-get update
sudo apt-get install qucs

Other Operating Systems:

Unfortunately QUCs is a bit out of date - you may have to seek out alternate compatible Qucs packages for Linux. If the above methods don't work, consider:

sudo add-apt-repository ppa:fransschreuder1/qucs
sudo apt-get update
sudp apt-get install qucs

Information gathered from http://qucs.sourceforge.net on 1NOV2017

1.2 Installing OCI Libraries

  • First download the libraries from GitHub: https://github.com/ShaneOberloier/OCI_UPL_Symbols
    • First option is to click the green "clone or download button", then click download .zip
    • Or if you're using Linux, you may pull the directory down by navigating to the folder you would like to save the symbols, open the terminal there and type:
git clone https://github.com/ShaneOberloier/OCI_UPL_Symbols
  • A benefit of using git to acquire the symbols is that it can be easily updated with 
git pull origin master
  • After your file is placed in its proper folder (your choice) (and unzipped), open up KiCAD.
  • To add the OCI footprints enter PCBnew
    • Navigate to Preferences > Footprint Libraries Wizard
    • Select "Files on my computer"
    • Navigate to where your OCI library was saved.
    • Select the OCI_UPL_FOOTPRINTS.pretty folder, then click next
    • Review he changes and click next (status should read as "OK")
    • Select "To global library configuration (visible by all projects)". Select the other option if you are only using the library for the current project.
    • Click Finish
  • Component libraries cannot be added globally and must be added to each new project. To do so open Eeschema.
    • Navigate to Preferences > Component Libraries
    • Click "Add" and then find and select all of the OCI Libraries (Click the first library, then shift click the last library in order to select multiples), then click "Add"
    • Now in the Component library files list, at the bottom, are the new OCI libraries. Select them all by clicking on the first OCI library and shift clicking the last one. Then press the "up" button ultill they are at the very top of the list. This prevents components with the same name from taking precedence over OCI parts.
    • Click Ok

1.3 Adjusting Title Block Format and Content

In KiCAD, you can customize the title block to fit your design, as well as change the aesthetics. You can also specify which information you want to display.

Creating Your own Page Layout

  • In the Main Menu of KiCAD, navigate to Tools > Run Page Layout Editor. (Alternatively you can click Ctrl+Y)
  • The default KiCAD page layout is displayed. It is recommended to modify this design and use "Save As". However if you truly wish to start from scratch, you may clear the default page with File > New Page Layout Design (Alternatively Ctrl+N)
  • To begin adding elements, right click onto the layout and select your desired element (text, line, bitmap, etc).
  • Note that the properties for this element can be edited in the "Properties" menu to the right.
  • To manually move an element, scroll over it with your cursor, and click the "M" key.

1.4 Eeschema Basic Functions

This Page Under Construction

1.5 Adding Components

This Page Under Construction

1.5.1 Adding a Project Specific Library

This Page Under Construction

1.5.2 Creating Components

  • From EESchema, open the Library Editor at Tools > Library Editor
    • Alternately this tool can be accessed at the main menu at Tools > Run Library Editor. Or you may click the Schematic Library Editor button on the front panel
Creating a new component from EESchema
Creating a new component from EESchema

  • Set up the component properties as you desire. Below are some typical guidelines.
    • Use the manufacturer part number as the component name
    • Select the proper reference designator from this list:
      https://en.wikipedia.org/wiki/Reference_designator
    • Number of units per package indicates that there are multiple circuits in a single physical package (For example a dual 555 timer would have two units per package)
Example Component Properties for the ATTiny85
Example Component Properties for the ATTiny85

  • Add and populate component fields. Do so by clicking the large "T" button
    Editing Component Fields
    Editing Component Fields

    • Typically Reference should remain unchanged
    • Value should remain unchanged - If this component has multiple values (say a generic resistor) it can be changed upon placement on the schematic
    • Select the proper Footprint for you part. See the section on Footprint Creation. Typically you do no want this to be displayed on your schematic, so uncheck the "Show" box in the Visibility section.
    • Datasheet should be a www link to the part datasheet pdf. Typically you do no want this to be displayed on your schematic, so uncheck the "Show" box in the Visibility section.
    • Add a new field and call it "Supplier Part Number" include the part number in the field. This will aid greatly in BOM generation
    • If the design is for OCI, add another field and call it "UPL Number" and find the number from the UPL. If your part is not listed specify "Unlisted"
      Example Field Properties for an ATTiny85
      Example Field Properties for an ATTiny85

  • Add pins by pressing the "P" key
    • Pin Names are not necessary but can be very helpful in design - find these in your datasheet.
    • Pin Number should coincide with the proper pin on the footprint, which should correspond with information found on the datasheet.
  • Organize the pins by moving them with "M" and rotating them with "R" the bubble should be facing outward from your part
    • For milled or etched circuit boards, it can be very helpful to lay the pins out as they are on the physical component. This will enable you to consider board routing and minimize cross-over while designing the schematic.
  • Create your circuit symbol, using the rectangle, circle, arc and polygon tools. 
  • Move the Entire part (drag a box around the symbol and click "M") so it is centered on the origin. Alternately you can select the design and use the arrow keys
    A completed symbol for the ATTiny85
    A completed symbol for the ATTiny85

  • Click the Bug checking button (Lady Bug with Check mark) to verify there are no errors.
  • Save the design to a specified library
    • You may create a new library (perhaps it is project specific) by clicking the Save current component to new library button (Open blank book)

Videos:

KiCAD Symbol Creation - Inductor

KiCAD Symbol Creation - Buck-Boost Controller

KiCAD Symbol Creation - Buck-Boost Controller

1.5.3 Adding Component Information

This Page Under Construction

1.5.4 Footprint Creation

The footprint is the physical representation on the circuit board. Dimensions are critical - if they are not correct your part will not fit. Normally part dimensions can be found at the bottom of the parts datasheet. For DIY boards it may be wise to oversize pads a small bit in order to make soldering easier.

From the main screen of KiCAD, open the Footprint Editor

Creating a new footprint from the main KiCAD screen
Creating a new footprint from the main KiCAD screen

  • Create a new Footprint. File > New Footprint . Input a meaningful name that is not used in the library you intend to save to.
  • Upon part creation you'll have some silkscreen text that will show up. Move it out of the way by hovering over it and pressing the 'M' key. We'll position it later
  • Next, place your first pad
    The Add Pad button
    The Add Pad button

    • By default, the pad may not be the dimensions you want. Hover over the pad and edit it with the 'E' key. Here all sorts of parameters may be changed. There are two most frequently used Pad Types; Through-Hole and SMD.
      The pad properties window
      The pad properties window

    • If you're using Through-Hole, the next parameter you should select is the shape. Circular pads are the most common - however you should consider using oval pads (even if the datasheet does not call out for it). Ovular pads create more soldering surface area, and protect the trace from ripping off the board (for DIY boards). Consider using a rectangular pad to indicate Pin 1 of your part.
    • Select the Size of the Pad, and set the Position to (0,0). Note that the size of the pad is the Diameter
    • Lastly specify your drill size (once again this is drill diameter)
    • If you're using SMD, it is likely all of your pads will be rectangular. Set the position to (0,0), and declare the size according to the datasheet.
    • Set the Pad number
  • For many parts, the pad size will be the same for each pin. If not, then add the other size pads.
  • The most convenient way to create more pads is by an array. To start creating an array, right click your pad, and select "Create Array". When entering the array parameters, you may need to do a bit of math with what is given in the datasheet. As the array moves pads from their center, and typically datasheets dimension pads to their edges. For example the distance between two pad centers is equal the distance between the pad edges + the width of the pad.
    The array creation window
    The array creation window

  • You will also want to automatically number your pads. This is going to be unique to your part, but normally you want integer values starting at 1. NOTE THAT THESE VALUES MUST MATCH UP WITH THE PIN NAMES OF YOUR SCHEMATIC SYMBOL
  • The array feature can be used to quickly lay out an IC.
  • The Array constraints are not saved - meaning that you can now move any pad independently, and you cannot change pad spacing all at once without deleting all but 1 pad and restarting
  • After all of your pads have been created and positioned, it is common to move the center of your part to the center of the coordinate system. IF you placed your first pad at (0,0), you should be able to work out where the center of the part is relative to the center of this pad. Select all of the pads, right click, and select "Move Block Exactly"
    The move item window
    The move item window

  • This "Move Item" feature is useful to move individual pads when the part pads are not aligned out in a regular array.
  • Next, apply any relevant silk screen details using the graphics tools on the right toolbar. Common features may be a bounding box around the part, or a dot indicating pin 1. Or perhaps some text indicating polarity (+).
  • Lastly move the yellow footprint name and REF to your desired location. Note that the REF** will be replaced by the part reference number on the silkscreen.
    An example capacitor footprint
    An example capacitor footprint

  • Select your active library and save the design.

Videos:

KiCAD Footprint Creation - SMD Inductor 

1.6 Making Connections

This Page Under Construction

1.6.1 Cross References

This Page Under Construction

1.6.2 Hierarchal Design

This Page Under Construction

1.7 Part Layout

This Page Under Construction

1.8 Design Error Check

This Page Under Construction

1.9 Bill of Material Generation

This Page Under Construction

1.10 Generating the Net List

The net list is a list of logical connections between component pins and other components. It is used by the PCB editing software to indicate connections between pins on footprints.

  • After you've completed your schematic in Eeschema, and are ready to edit the schematic, click the "Generate netlist" button
Generate netlist button
Generate netlist button

  • Typically you can keep the default settings if you're using Pcbnew. But note there are options to export a netlist in formats usable by other software.
  • The default (project) name is typically okay, however if you are making a new version, it may be wise to create a new net list name.

1.11 Annotation

Annotation is the act of assigning reference designators, or names to all components on the schematic. For example R1, R2, C1, U1, etc.

  • Once your schematic is finished and ready to be turned into a circuit board, click the "Annotate schematic components" button in EESchema
The annotation button
The annotation button

  • In most cases it is completely acceptable to use the default settings. You may want to pay attention to this if you've made revisions and want to completely rename all of the parts. (IE perhaps parts have been re arranged or deleted).
schematic annotation options
Schematic annotation options

 

1.12 Revising the Schematic

  • When revising a schematic, simply apply changes in KiCAD as usual.
  • Each part has a unique name associated with it, that has a time of creation, so it's alright to completely re-annotate the schematic.
  • Export the net list, and then open Pcbnew. Import the new net list, and be sure to select "Timestamp" for footprint selection
Select Timestamp Footprint Selection
Select Timestamp Footprint Selection

 

2 Circuit Board Design

2.1 PCBNew Basic Functions

Page Under Construction

2.1.1 Setting Up Design Rules

Page Under Construction

2.1.2 Connection Statistics

Page Under Construction

2.2 Import Netlist

Page Under Construction

2.3 View Modes

Page Under Construction

2.4 Initial Setup

Page Under Construction

2.4.1 Spread Out Parts

Page Under Construction

2.4.2 Board Dimensions

Page Under Construction

2.4.3 Holes and Keepout Areas

Page Under Construction

2.4.4 Layers

Page Under Construction

2.5 Part Placement

Page Under Construction

2.6 Trace Layout (Routing)

Page Under Construction

2.6.1 Size and Spacing

Page Under Construction

2.6.2 Routing Logic

Page Under Construction

2.6.3 Via Settings

Page Under Construction

2.7 Error Checking

Page Under Construction

2.8 Design Origins

Page Under Construction

2.9 Gerber Output

Page Under Construction

2.10 3D Preview

Page Under Construction

2.11 3D Model Export

Page Under Construction

2.12 Revisions

Page Under Construction

3 Manufacturing

Page Under Construction

3.1 Installing Software

Page Under Construction

3.1.1 Installing FlatCAM

Page Under Construction

3.1.2 Installing OCI Copper Carve

Page Under Construction

3.3 Using Copper Carve

Page Under Construction

3.4 Using FlatCAM

Page Under Construction

3.4.1 Loading Standard Settings

Page Under Construction

4 Soldering

This Page Under Construction

5 Testing

6 Theory

6.1 Crash Course

6.2 Power Electronics

Any articles concerning power electronics

6.2.1 DC-DC Voltage Converters

Articles discussing the process of converting DC to another level of DC

6.2.1.1 Boost Converter - Component Calculator

Input Parameters

VSAT Saturation voltage of the output transistor
VF Forward voltage drop of the diode
VIN Typical input voltage
VMIN The minimum voltage of the input
VOUT Desired output voltage
IOUT Desired output current
fMIN Minimum desired output switching frequency
VRIP Desired peak to peak output ripple voltage
R1 Resistor for setting VOUT

Calculated Component Values

R1 Resistor for setting VOUT
R2 Resistor for setting VOUT
R3 Switch Biasing (constant)
RPD Pull down resistor for transistor (constant)
RSC Current sense resistor
CT Timing capacitor
CO Output capacitor
LMIN Minimum inductance for output

Reference Schematic

6.2.1.2 Buck Converter - Component Calculator

Input Parameters

VSAT Saturation voltage of the output transistor
VF Forward voltage drop of the diode
VIN Typical input voltage
VMIN The minimum voltage of the input
VOUT Desired output voltage
IOUT Desired output current
fMIN Minimum desired output switching frequency
VRIP Desired peak to peak output ripple voltage
R1 Resistor for setting VOUT

Calculated Component Values

R1 Resistor for setting VOUT
R2 Resistor for setting VOUT
RPD Pull down resistor for transistor (constant)
RSC Current sense resistor
CT Timing capacitor
CO Output capacitor
LMIN Minimum inductance for output

Reference Schematic

6.2.1.3 Low Drop Out Regulators vs. Buck Converters

In this video the energy efficiencies of Low Drop Out (LDO) regulators and Buck converters is discussed. A quick graph is generated in Sage Mathematics to compare the two circuits power consumption

LDO Efficiency:

$$P_{loss}=I*(V_{in}-V_{out})$$

Where $P_{loss}$ is heat dissipation, $I$ is the current drawn on the output, $V_{in}$ is the input voltage, and $V_{out}$ is the output voltage.

Buck Efficiency:

$$P_{loss}=(1-E)*V_{out}*I$$

Where $P_{loss}$ is heat dissipation, $E$ is the calculated efficiency, $I$ is the current drawn on the output, and $V_{out}$ is the output voltage.

Sage Simulation Script:

var("Vin",latex_name="V_{in}")
var("Vout",latex_name="V_{out}")
var("I")
var("E")
Vin=17
Vout=12
E=.87
PlossLDO=I*(Vin-Vout)
PlossBuck=Vout*I*(1-E)
plot(PlossLDO,(I,0,1.5))+plot(PlossBuck,(1,0,1.5),color="red")

References:

 

7 Contribute To This Site