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

This section describes installing software used for circuit board design.

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 Linux Mint (Same for Ubuntu):

• Follow instructions to acquire via the Software Manager here
• 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:

• Run through the installation steps, keeping everything at their default.

On Linux Mint (Same for Ubuntu):

• 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

• 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.

• 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.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
• 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)
• Add and populate component fields. Do so by clicking the large "T" button
• 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"
• 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
• 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)

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

• 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
• 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.
• 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.
• 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.
• 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"
• 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.
• Select your active library and save the design.

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
• 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
• 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).

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

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

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

Page Under Construction

6.1.1 Binary Numbers (Short Circuit Video)

Description: A review of how counting works with normal (base 10) numbers. Then it is relate to the new concept of binary numbers; a system which is implemented in computers to represent numbers.

Script:

First Let's look at how we're used to counting.

We have 10 digits in our number system - 0 through 9.

There's no number bigger than 9 that we can fit in the 1's place. Or any place for that matter.

Suppose we have the number 327.

7 in the ones place

2 in the tens place

and 3 in the hundreds place.

Now let's count up from here.

328

329

Hmm, we can't fit any more value in the 1's place so we have to "carry over" - Like this.

This system can't be directly transferred to digital circuits, since we can only do true or false comparisons. On or off, 1 or 0.

But even with that, we still have two digits to work with.

Let's explore this system by counting upwards using the same carry over rules as before.

1

Now we can't fit any more value into this place, so we have to carry over.

And set this place to 0.

The value shown here is 2, so we can conclude that this is the 2's place.

3

Now we're faced with a carry again.

It can't hold any more value so we have to carry again.

set the 2's place to 0.

and set the 1's place to zero.

We know this number is 4, so this must be the 4's place.

We can continue this trend onward

5

6

7

The system that we are exploring is called binary, and each place is called a "bit"

This is a 3 bit number

Binary enables us to execute highly accurate and repeatable arithmetic and comparison using digital logic circuits.

Using what we learned -- see if you can try and count up to the number 12 using binary.

That's it for today's Short Circuit. Thanks you for Watching!

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

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

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:

6.3.1 Axioms of Probability

• Axiom I: The probability of an event happening positive, or zero. $P[A]\leq0$
• Axiom II: The total (added) probability of each event in a set is equal to one. $P[S]=1$
• Axiom III: If two subsets have no elements in common, then the probability of the two sets combined into one set is the individual probability of the individual sets added together. $\text{If } A\cap{B}= \emptyset\text{ then } P[A\cup{B}] = P[A]+P[B]$

6.3.2 Terms & Definitions

• Compliment: $S^c$ takes the exact opposite of the set it's acting on. A complimented compliment makes no compliment at all.
• DeMorgan's Rule: An equivalent statement of set operators can be found by complimenting each set, flipping the operators, and complimenting the final output.
• Intersection Operator: The intersection operator $\cap$, finds only the elements in common between two sets. This is the same as the logical AND function
• Sample Space: The sample space, denoted as $S$ is a set of all possible outcomes of an event. It can either be a list, like $S=\{ 1,2,4,8\}$, or a property, or list or properties that defines and fully constrains a variable. An example of the latter is $S=\{ x:x \text{ is even and } 0\leq{x}\leq{10}\}$ or $S=\{ (x,y): x+y=1, 0\leq{x}\leq{1},0\leq{y}\leq{1}\}$
• Union Operator: The union operator, $\cup$, combines to sets together - but keep in mind it does not repeat elements which are common between the two sets. This is the same as a logical OR function.