You are on page 1of 29

Getting Started in Kicad

Essential and concise guide to mastering kicad for the


successful development of sophisticated electronic printed
circuit boards.
1
Copyright
This document is Copyright 20102011 by its contributors as listed below. You may distribute it
and/or modify it under the terms of either the G! General "ublic #icense
$http://www.gnu.org/licenses/gpl.html%& 'ersion ( or later& or the Creati'e Commons )ttribution
#icense $http://creativecommons.org/licenses/by/.!/%& 'ersion (.0 or later.
)ll trademar*s within this guide belong to their legitimate owners.
Contributors
+a'id ,ahshan& "hil -utchinson& .abri/io Tappero& Christina ,arron.
Feedback
"lease direct any comments or suggestions about this document to0
.abri/io Tappero0 fabri/io.tappero1at2gmail.com or +a'id ,ahshan0 *icad1at2iridec.com.au
)lternati'ely& submit comments or your new 'ersion to0
http://kicad.sourceforge.net/wiki/"ain#$age
https://launchpad.net/%kicad&developers
Acknowledgments
one
Publication date and software version
"ublished on 3eptember 24& 2011. 5ased on #ibre6ffice (.(.2.
Note for Mac users
The *icad support for the )pple 63 7 operating system is e8perimental.
'
Table of Contents
1 & (ntroduction to kicad....................................................................................................................
)ownload and install kicad..........................................................................................................
*nder +inu,............................................................................................................................ -
*nder .pple /S 0.................................................................................................................. -
' & Kicad work&flow.......................................................................................................................... 1
2orward and backward annotation.............................................................................................. 1
& )raw electronic schematics........................................................................................................ 3
4us connections in kicad...................................................................................................... 1
- & +ayout printed circuit boards..................................................................................................... 1-
Generate Gerber files........................................................................................................... 15
.utomatically route with 2ree6outer.....................................................................................'!
1 & "ake schematic components in kicad......................................................................................'!
e,port7 import and modify library components...........................................................................''
3 & "ake schematic components with 8uicklib...............................................................................'
"ake a high pin count schematic component............................................................................'-
9 & "ake component footprints....................................................................................................... '1
: & ;ote about portability of kicad pro<ect files................................................................................'9
5 & 2orward annotation in kicad...................................................................................................... '9
1! & "ore about kicad documentation............................................................................................ ':
Kicad 2re8uently .sked =uestions >2.=?.................................................................................':
1 !ntroduction to kicad
9icad is an open:source software tool for the creation of electronic schematic diagrams and "C5
artwor*. 5eneath its singular surface& *icad incorporates an elegant ensemble of the following stand:
alone software tools0
Kicad pro;ect manager
EESchema schematic editor
CVpcb footprint selector
PCBnew circuit board layout editor
GerbView Gerber 'iewer
Bitmap2Component component ma*er
)t the time of writing& *icad can be considered mature enough to be used for the successful de'elopment
and maintenance of comple8 electronic boards. 9icad does not present any board:si/e limitation and it
can easily handle up to 1< copper layers and up to 12 technical layers. 9icad can create all the files
necessary for building printed boards& Gerber files for photo:plotters& drilling files& component location
files and a lot more.
5eing open source $G"# licensed%& *icad represents the ideal tool for pro;ects oriented towards the
creation of electronic hardware with an open:source fla'our.
6n the =nternet& the home of *icad is0
http://kicad.sourceforge.net/wiki/"ain#$age
http://iut&tice.u<f&grenoble.fr/kicad/inde,.html
http://www.gipsa&lab.inpg.fr/realise#au#lis/kicad/inde,.html

"ownload and install kicad


9icad runs on #inu8& )pple 63 7 and >indows. You can download a copy of *icad from0
http://kicad.sourceforge.net/wiki/"ain#$age
=nstallation instructions are a'ailable on the *icad website under0 (nfos/(nstall.
#hatever installation method you choose$ always go for a recent version of kicad%
Under Linux
!nder #inu8& the easiest way to install *icad is 'ia .ptitude. Type into your Terminal0
sudo add-apt-repository ppa:paxer/ppa
sudo aptitude update sudo aptitude sa!e-up"rade
sudo aptitude insta## $icad $icad-doc-en
)t the time of writing& the standard apt&get repository of !buntu offers a 'ersion of *icad that is about one
year old.
)lternati'ely& you can download and install a pre:compile 'ersion of *icad& or directly download the
source code& compile and install *icad.
Under Apple OS X
)t the time of writing& the best way to install *icad on )pple 63 7 is to download a pre:build binary from0
http://kicad.sourceforge.net/wiki/Downloads
-
& 'icad workflow
+espite its similarities with other "C5 software tools& *icad is characterised by an interesting wor*:flow in
which schematic components and footprints are actually two separate entities. This is often the sub;ect of
discussion on =nternet forums.
The *icad wor*:flow is comprised of two main tas*s0 ma*ing the schematic and laying out the board.
5oth a components library and a footprints library are necessary for these two tas*s. 9icad has plenty of
both. ,ust in case that is not enough& *icad also has the tools necessary to ma*e new ones.
=n the picture abo'e& the greyed out bloc*s indicate component:drawing and footprint:drawing tools that
are not strictly part of *icad. -owe'er& since they are all 'ery 'aluable options& do not forget to chec*
them out. You can find some at this address0
http://$icad%rohrbacher%net/&uic$#ib%php
6n this site& you will find an e8ample of a tool that allows you to ?uic*ly create a *icad library component.
.or more information about &uic$#ib' refer to the section of this document titled "ake Schematic
@omponent Aith 8uicklib.
Forward and backward annotation
6nce an electronic schematic has been fully drawn& the ne8t step is to transfer it to a "C5 following the
*icad wor*:flow. 6nce the board layout process has been partially or completely done& additional
components or nets might need to be added& parts mo'ed around and much more. This can be done in
two ways0 5ac*ward )nnotation and .orward )nnotation.
5ac*ward )nnotation is the process of sending a "C5 layout change bac* to its corresponding
schematic. 3ome do not consider this particular feature especially useful.
.orward )nnotation is the process of sending schematic changes to a corresponding "C5 layout. This is
a fundamental feature because you do not really want to re:do the layout of the whole "C5 e'ery time
you ma*e a modification to your schematic. .orward )nnotation is discussed in the section titled 2orward
.nnotation.
1
( "raw electronic schematics
=n this section we are going to learn how to draw an electronic schematic using *icad.
1. !nder >indows run *icad.e8e. !nder #inu8 type *icad in your Terminal. You are now in the main window
of the *icad pro;ect manager. .rom here you ha'e access to fi'e stand:alone software tools0 EESchema&
@vpcb& $@4new& GerbBiew and 4itmap'@omponent. @efer to the wor*:flow chart for an idea of what all
these tools are used for.
'. Create a new pro;ect0 File A New. Clic* on the Bew .olderB button& and gi'e your new folder the same
name as your pro;ect0 Btute1B. 6pen the new folder by double clic*ing on it. )ll your pro;ect files will be
sa'ed here. ame the pro;ect file Btute1B. The pro;ect file will automatically ta*e the e8tension .pro.
. #etBs begin by creating a schematic. 3tart the schematic editor EESchema& . =t is the first button from
the left. =f an error dialogue appears telling you that a pro;ect file was not found& ignore it and clic* 69.
-. .irst thing& sa'e the whole schematic pro;ect0 File A )ave #hole )chematic Pro*ect. Clic* on the
B"age 3ettingsB icon on the top toolbar. 3et the "age 3i/e as B)CB and enter the Title as BTute 1B. You
will see that more information can be entered here if necessary. Clic* 69. This information will populate
the schematic sheet at the bottom right corner. !se the mouse wheel to /oom in.
1. >e will now place our first component. Clic* on the B)dd componentsB icon in the right toolbar. The
same functionality is achie'ed by pressing the B)dd componentsB shortcut a *ey.
6TD0 You can see a list of all a'ailable shortcut *eys by pressing the E *ey. Clic* in the middle of your
schematic sheet to place your first component. The Component 3election window will appear. Clic* on
the B#ist )llB button. The 3elect #ibrary window will appear. -ere you ha'e a list of all a'ailable libraries.
3. 3elect the Bde'iceB library by double clic*ing on it. The 3elect Component window will appear. -ere you
ha'e a list of components belonging to the Bde'iceB library& which is a ?uite generic and useful library.
9. 3croll down and double clic* on the resistor B@B. This will close the B3elect ComponentB window and ta*e
you bac* to your schematic sheet.
3
:. "lace the component in the schematic sheet by clic*ing where you want it to be. Clic* on the magnifier to
/oom in on the component. )lternati'ely& use the mouse wheel to /oom in and /oom out. !nfortunately&
the panning option has not yet been implemented.
5. -o'er the mouse o'er the component B@B and press the r *ey. otice how the component rotates.
6TD0 You do not need to actually clic* on the component to rotate it.
1!. @ight clic* in the middle of the component and select +dit Component A ,alue. You can achie'e the
same result by ho'ering o'er the component and pressing the ' *ey. )lternati'ely& the e *ey will ta*e you
to the more general Ddit window. otice how the right:clic* window below shows all possible shortcut
*eys for all a'ailable actions.
11. The Component 'alue window will appear. @eplace the current 'alue B@B with B1*B. Clic* 69.
6TD0 +o not change the @eference field $@E%& this will be done automatically later on. The 'alue inside
the resistor should now be B1*B .
1'. To place another resistor& simply clic* where you want the resistor to appear. The Component 3election
window will appear again.
1. The resistor you pre'iously chose is now in your history list& appearing as B@B. Clic* 69 and place the
component.
9
1-. =n case you ma*e a mista*e and want to delete a component& right clic* on the component and clic*
B+elete ComponentB. This will remo'e the component from the schematic. )lternati'ely& you can ho'er
o'er the component you want to delete and press the del *ey.
6TD0 You can rename any default shortcut *ey by going to Preferences A -otkeys. +o not forget to
sa'e the new *eys with Preferences A )ave preferences.
11. You can also duplicate a component already on your schematic sheet by ho'ering o'er it and pressing
the c *ey. Clic* where you want to place the new duplicated component.
13. @ight clic* on the second resistor. 3elect B+rag ComponentB. @eposition the component and left clic* to
drop. The same functionality can be achie'ed by ho'ering o'er the component and by pressing the g
*ey. !se the r *ey to rotate the component. The 8 *ey and the y *ey will flip the component.
6TD0 .ightClick A Move component $e?ui'alent to the m *ey option% is also a 'aluable option for
mo'ing anything around& but it is better to use this only for component labels and components yet to be
connected. >e will see later on why this is the case.
19. Ddit the second resistor by ho'ering o'er it and pressing the ' *ey. @eplace B@B with B100B. You can undo
any of your editing actions with the ctrlF/ *ey.
1:. Change the grid si/e. You ha'e probably noticed that on the schematic sheet all components are
snapped onto a large pitch grid. You can easily change the si/e of the grid by .ightClick A /rid
select. =n general& it is recommendable to use a grid of 2G.0 mils for the schematic sheet.
15. @epeat the add:component steps& howe'er this time select the BmicrocontrollersB library instead of the
Bde'iceB library and pic* the B"=C12CG0H)B component instead of the B@B component from it.
'!. -o'er the mouse o'er the microcontroller component. "ress the y *ey or the 8 *ey on the *eyboard.
otice how the component is flipped o'er its 8 a8is or its y a8is. "ress the *ey again to return it to its
original orientation.
'1. @epeat the add:component steps& this time choosing the Bde'iceB library and pic*ing the B#D+B component
from it.
''. 6rganise all components on your schematic sheet as shown below.
:
'. >e now need to create the schematic component BIYC6(B for our (:pin connector. You can ;ump to
the section titled "ake a Schematic @omponent in kicad to learn how to ma*e this component from
scratch and then return to this section to continue with the board.
( jump to the section: Make a Schematic Component in kicad
'-. You can now place the freshly made component. "ress the a *ey and select B#ist )llB. Choose the library
Bmy#ibB and pic* the component BIYC6(B.
'1. The component identifier B,EB will appear under the BIYC6(B label. =f you want to change its position&
right clic* on B,EB and clic* on BIo'e .ieldB $e?ui'alent to the m *ey option%. =t might be helpful to /oom in
before/while doing this. @eposition B,EB under the component as shown below. #abels can be mo'ed
around as many times as you please.
'3. =t is time to place the power and ground symbols. Clic* on the B"lace a power portB button on the
right toolbar. )lternati'ely& press the a *ey and choose the BpowerB library. =n the component selection
window& clic* on the B#ist )llB button. 3croll down and select BJCCB from the 3elect Component window.
Clic* 69.
'9. Clic* abo'e the pin of the 1* resistor to place the JCC part. Clic* on the area abo'e the microcontroller
BJ++B. =n the BComponent 3election historyB section select BJCCB and place it ne8t to the J++ pin. @epeat
the add process again and place a JCC part abo'e the JCC pin of BIYC6(B.
':. @epeat the add:pin steps but this time select the G+ part. "lace a G+ part under the G+ pin of
BIYC6(B. "lace another G+ symbol on the right of the J33 pin of the microcontroller. Your
schematic should now loo* something li*e this0
5
'5. e8t& we will wire all our components. Clic* on the B"lace a wireB icon on the right toolbar.
N0T+0 5e careful not to pic* B"lace a busB& which appears directly beneath this button but has thic*er
lines. The section 4us @onnections in kicad will e8plain how to use a bus section.
!. Clic* on the little circle at the end of pin 4 of the microcontroller and then clic* on the little circle on pin 2
of the #D+. You can /oom in while you are placing the connection.
6TD0 =f you want to reposition wired components& it is important to use the g *ey $grab% option and not
the m *ey $mo'e% option. !sing the grab option will *eep the wires connected. @e'iew step 2C in case
you ha'e forgotten how to mo'e a component.
1. @epeat this process and wire up all the other components as shown below. To terminate a wire ;ust
double:clic*. >hen wiring up the JCC and G+ symbols& the wire should touch the bottom of the JCC
symbol and the middle top of the G+ symbol. 3ee the screenshot below.
'. >e will now consider an alternati'e way of ma*ing a connection using labels. "ic* a net labelling tool by
clic*ing on the B"lace net nameB icon on the right toolbar. You can also use the l *ey.
. Clic* in the middle of the wire connected to pin < of the microcontroller. ame this label B="!TB.
-. .ollow the same procedure and place another label on line on the right of the 100 ohm resistor. )lso
name it B="!TB. The two labels& ha'ing the same name& create an in'isible connection between pin < of
the "=C and the 100 ohm resistor. This is a useful techni?ue when connecting wires in a comple8 design
where drawing the lines would ma*e the whole schematic messier. To place a label you do not
necessarily need a wire& you can simply attach the label to a pin.
1!
1. #abels can also be used to simply label wires for informati'e purposes. "lace a label on pin 4 of the "=C.
Dnter the name BuCto#D+B. ame the wire between the resistor and the #D+ as B#D+to@B. ame the wire
between BIYC6(B and the resistor as B="!Tto@B.
3. You do not ha'e to label the JCC and G+ lines because the labels are implied from the power ob;ects
they are connected to.
9. 5elow you can see what the final result should loo* li*e.
:. #etBs now deal with unconnected wires. )ny pin or wire that is not connected will generate a warning
when chec*ed by *icad. To a'oid these warnings you can either instruct the program that the
unconnected wires are deliberate or manually flag each unconnected wire or pin as unconnected.
5. Clic* on the B"lace no connect flagB icon on the right toolbar. Clic* on pins 2& (& C and G. )n 7 will
appear to signify that the lac* of a wire connection is intentional.
-!. 3ome components ha'e power pins that are in'isible. You can ma*e them 'isible by clic*ing on the
B3how hidden pinsB icon on the left toolbar. -idden power pins get automatically connected if JCC
and G3 naming is respected. Generally spea*ing& you should try not to ma*e hidden power pins.
11
-1. =t is now necessary to add a B"ower .lagB to indicate to *icad that power comes in from somewhere.
"ress the a *ey& select B#ist )llB& double clic* on the BpowerB library and search for B">@K.#)GB. "lace two
of them. Connect them to a G+ pin and to JCC as shown below.
6TD0 This will a'oid the classic schematic chec*ing warning0
Warning Pin power)in not dri*en +,et xx-
-'. 3ometimes it is good to write comments here and there. To add comments on the schematic use the
B"lace graphic te8t $comment%B icon on the right toolbar.
-. )ll components now need to ha'e uni?ue identifiers. =n fact& many of our components are still named B@EB
or B,EB. =dentifier assignation can be done automatically by clic*ing on the B)nnotate schematicB icon .
--. =n the )nnotate 3chematic window& select B!se the entire schematicB and clic* on the B)nnotationB button.
Clic* 69 in the confirmation message and then clic* BCloseB. otice how all the BEB ha'e been replaced
with numbers. Dach identifier is now uni?ue. =n our e8ample& they ha'e been named B@1B& B@2B& B!1B& B+1B
and B,1B.
-1. >e will now chec* our schematic for errors. Clic* on the B"erform Dlectric @ules Chec*B icon . Clic*
on the BTest D@CB button. ) report informing you of any errors or warnings such as disconnected wires is
generated. You should ha'e 0 Drrors and 0 >arnings. =n case of errors or warnings& a small green arrow
will appear on the schematic in the position where the error or the warning is located. Chec* B>rite D@C
reportB and press the BTest D@CB button again to recei'e more information about the errors.
-3. The schematic is now finished. >e can now create a etlist file to which we will add the footprint of each
component. Clic* on the Betlist generationB icon on the top toolbar. Clic* on BetlistB then clic* on
Bsa'eB. 3a'e under the default file name.
-9. You can now ?uit the schematic editor. .rom *icad& clic* on the B@un C'pcbB icon on the top toolbar.
=f a missing file error window pops up& ;ust ignore it and clic* 69.
1'
-:. @vpcb allows you to lin* all the components in your schematic with footprints in the *icad library. The
pane on the left shows all the components used in your schematic. -ere select B+1B. =n the pane on the
right you ha'e all the a'ailable footprints& here scroll down to B#D+JB and double clic* on it.
-5. =t is possible that the pane on the right shows only a selected subgroup of a'ailable footprints. This is
because *icad is trying to suggest to you a subset of suitable footprints. Clic* on the icon to deselect
this filter.
1!. .or B,1B select the B("=K<mmB footprint. .or B@1B and B@2B select the B@1B footprint. 3elect B+=":HK(00B for
B!1B.
11. =f you are interested in *nowing what the footprint you are choosing loo*s li*e& you ha'e two options. You
can clic* on the BJiew selected footprintB icon for a pre'iew of the current footprint. )lternati'ely& clic*
on the B+isplay footprint list documentationB icon and you will get a multi:page "+. document with all
a'ailable footprints. You can print it out and chec* your components to ma*e sure that the dimensions
match.
1'. You are done. You can now update your netlist file with all the associated footprints. Clic* on FileA)ave
As. The default name Btute1.netB is fine& clic* sa'e. 6therwise you can use the icon . Your netlist file
has now been updated with all the footprints. ote that if you are missing the footprint of any de'ice& you
will need to ma*e your own footprints. This will be e8plained in a later section of this document.
1. You can close @vpcb and go bac* to the EESchema schematic editor. 3a'e the pro;ect by clic*ing on
File A )ave #hole )chematic Pro*ect. Close the schematic editor.
1-. 3witch to the *icad pro;ect manager.
11. The netlist file describes all components and their respecti'e pin connections. The netlist file is actually a
te8t file that you can easily inspect& edit or script.
6TD0 #ibrary files $C.lib% are te8t files too and they are also easily editable or scriptable.
1
13. To create a bill of materials& go to the EESchema schematic editor and clic* on the B5ill of materialsB icon
on the top toolbar.
19. Clic* 69 and then B3a'eB. You can inspect the bill of materials with any te8t editor.
You are now ready to mo'e to the "C5 layout part& which is presented in the ne8t section. -owe'er&
before mo'ing on letBs ta*e a ?uic* loo* at how to connect component pins using a bus line.
Bus connections in kicad
3ometimes you might need to connect se'eral se?uential pins of component ) with some other
se?uential pins of component 5. =n this case you ha'e two options0 the labelling method we already saw
or the use of a bus connection. #etBs see how to do it.
1. #et us suppose that you ha'e three C:pin connectors that you want to connect together pin to pin. !se
the label option $press the l *ey% to label pin C of the "C part. ame this label Ba1B. ow letBs press the =ns
*ey to ha'e the same action automatically performed on the pin below pin C $"= (%. otice how the label
is automatically renamed Ba2B.
'. "ress the =ns 9ey two more times. The =ns *ey corresponds to the action B@epeat last actionB and it is an
infinitely useful command that can ma*e your life a lot easier.
. @epeat the same labelling action on the two other connectors C6K2 and C6K( and you are done.
=f you proceed and ma*e a "C5 you will see that the three connectors are connected to each other.
.igure 2 shows the result of what we described. .or aesthetic purposes it is also possible to add a series
of B>ire to bus entryB using the icon and bus line using the icon & as shown in .igure (. Iind&
howe'er& that there will be no effect on the "C5.
-. =t should be pointed out that the short wire attached to the pins in .igure 2 is not strictly necessary. =n
fact& the labels could ha'e been applied directly to the pins.
1. #etBs ta*e it one step further and suppose that you ha'e a fourth connector named C6KC and& for
whate'er reason& its labelling happens to be a little different $b1& b2& b(& bC%. ow we want to connect
4us a with 4us b in a pin to pin manner. >e want to do that without using pin labelling $which is also
possible% but by instead using labelling on the bus line& with one label per bus.
3. Connect and label C6KC using the labelling method e8plained before. ame the pins b1& b2& b( and
bC. Connect the pin to a series of B>ire to bus entryB using the icon and to a bus line using the icon
. 3ee .igure C.
9. "ut a label $press the l *ey option% on the bus of C6KC and name it BbL1..CMB.
:. "ut a label $press the l *ey option% on the pre'ious a bus and name it BaL1..CMB.
5. >hat we can now do is connect bus aL1..CM with bus bL1..CM using a bus line with the button .
1!. 5y connecting the two buses together& pin a1 will be automatically connected to pin b1& a2 will be
connected to b2 and so on. .igure C shows what the final result loo*s li*e.
6TD0 The B@epeat last actionB option accessible 'ia the =ns *ey can be successfully used to repeat
period actions. .or instance& the short wires connected to all pins in .igure 2& .igure ( and .igure C ha'e
been placed with this option. #earn how to use it because it will ma*e using *icad easier.
1-
11. The B@epeat last actionB option accessible 'ia the =ns *ey has also been e8tensi'ely used to place the
many series of B>ire to bus entryB using the icon .
1 2ayout printed circuit boards
=t is now time to use the netlist file you generated to lay out the "C5. This is done with the $@4new tool.
1. .rom the *icad pro;ect manager& clic* on the B"C5ewB icon . The B"C5ewB window will open. =f you
get an error message saying that a .brg file does not e8ist ;ust ignore it and clic* 69.
'. 5egin by entering some schematic information. Clic* on the B"age settingsB icon on the top toolbar.
3et Bpaper si/eB as B)CB and BtitleB as BTute 1B.
. =t is a good idea to start by setting the clearance and the minimum track width to those re?uired by
your "C5 manufacturer. =n general you can set the clearance to 0.01GB and the minimum trac* width to
0.01B. Clic* on the "esign .ules A "esign .ules menu. =f it does not show already& clic* on the Bet
Classes DditorB tab. Change the BClearanceB field at the top of the window to B0.01GB and the BTrac* >idthB
field to B0.01B as shown below. Ieasurements here are in inches.

-. Clic* on the BGlobal +esign @ulesB tab and set BIin trac* widthB to 0.01B. Clic* the 69 button to commit
your changes and close the +esign @ules Dditor window.
1. ow we will import the netlist file. Clic* on the B@ead etlistB icon on the top toolbar. Clic* on the
B5rowse etlist .ilesB button& select Btute1.netB in the .ile selection dialogue& and clic* on B@ead Current
etlistB. Then clic* the BCloseB button.
3. )ll components should now be 'isible in the top left hand corner ;ust abo'e the page. 3croll up if you
cannot see them.
9. 3elect all components with the mouse and mo'e them to the middle of the board. =f necessary you can
/oom in and out while you mo'e the components.
11
:. )ll components are connected 'ia a thin group of wires called ratsnest. Ia*e sure that the B-ide board
ratsnestB button is pressed. =n this way you can see the ratsnest lin*ing all components.
6TD0 The tool:tip is bac*wardsN pressing this button actually displays the ratsnest.
5. You can mo'e each component by ho'ering o'er it and pressing the g *ey. Clic* where you want to place
them. Io'e all components around until you minimise the number of wire crosso'ers.
6TD0 =f instead of grabbing the components $with the g *ey% you mo'e them around using the m *ey
you will later note that you lose the trac* connection $the same occurs in the schematic editor%. 5ottom
line& always use the g *ey option.
1!. =f the ratsnest disappears or the screen gets messy& right clic* and clic* B@edraw 'iewB. ote how one pin
of the 100 ohm resistor is connected to pin < of the "=C component. This is the result of the labelling
method used to connect pins. #abels are often preferred to actual wires because they ma*e the
schematic much less messy.
11. ow we will define the edge of the "C5. 3elect B"C5 DdgesB from the drop down menu in the top toolbar.
Clic* on the B)dd graphic line or polygonB icon on the right toolbar. Trace around the edge of the
board& clic*ing at each corner& and remember to lea'e a small gap between the edge of the green and
the edge of the "C5.
1'. e8t& connect up all the wires e8cept G+. =n fact& we will connect all G+ connections in one go using
a ground plane placed on the bottom copper $called 4ack% of the board.
1. ow we must choose which copper layer we want to wor* on. 3elect B.rontB in the drag down menu on
the top toolbar. This is the top copper layer.
13
1-. =f you decide& for instance& to do a C layer "C5 instead& go to "esign .ules A 2ayers )etup and
change BCopper #ayersB to C. =n the B#ayersB table you can name layers and decide what they can be used
for. otice that there are 'ery useful presets that can be selected 'ia the B"reset #ayers GroupingsB
menu.
11. Clic* on the B)dd Trac*s and 'iasB icon on the right toolbar. Clic* on pin 1 of B,1B and run a trac* to
pad B@2B. +ouble:clic* to set the point where the trac* will end. The width of this trac* will be the default
0.20( mm. You can change the trac* width from the drop:down menu in the top toolbar. Iind that by
default you ha'e only one trac* width a'ailable.
13. =f you would li*e to add more trac* widths go to0 "esign .ules A "esign .ules A /lobal "esign
.ules tab and at the bottom right of this window add any other width you would li*e to ha'e a'ailable.
You can then choose the widths of the trac* from the drop:down menu while you lay out your board. 3ee
the e8ample below.
19. )lternati'ely& you can add a et Class in which you specify a set of options. Go to "esign .ules A
"esign .ules A Net Classes +ditor and add a new class called BpowerB. Change the trac* width from H
mil $indicated as 0.00H0% to 2C mil $indicated as 0.02C0%. e8t& add e'erything but ground to the OpowerP
class $select BdefaultB at left and BpowerB at right and use the arrows%.
1:. =f you want to change the grid si/e& .ight click A /rid )elect. 5e sure to select the appropriate grid
si/e before or after laying down the components and connecting them together with trac*s.
15. Considering& for instance& that a 0.Hmm 5G) component has a pin to pin distance of about (0 mil
$0.Hmm%& it is generally commendable to set a grid si3e of 4 mil when you route.
19
'!. @epeat this process until all wires& e8cept pin ( of ,1& are connected. Your board should loo* li*e the
e8ample below.
'1. #etBs now run a trac* on the other copper side of the "C5. 3elect B5ac*B in the drag down menu on the
top toolbar. Clic* on the B)dd trac*s and 'iasB icon . +raw a trac* between pin ( of ,1 and pin H of
!1. This is actually not necessary since we could do this with the ground plane. otice how the colour of
the trac* has changed.
''. /o from pin A to pin 5 by changing layer. =t is possible to change the copper plane while you are
running a trac* by placing a 'ia. >hile you are running a trac* on the upper copper plane& right clic* and
select B"lace JiaB or simply press the ' *ey. This will ta*e you to the bottom layer where you can complete
your trac*.
'. >hen you want to inspect a particular connection you can clic* on the Bet highlightB icon on the
right toolbar. Clic* on pin ( of ,1. The trac* itself and all pads connected to it should become highlighted.
'-. ow we will ma*e a ground plane that will be connected to all G+ pins. Clic* on the B)dd QonesB icon
on the right toolbar. >e are going to trace a rectangle around the board& so clic* where you want
one of the corners to be. =n the dialogue that appears& set B"ad in QoneB to BThermal reliefB and BQone
edges orientB to B-&JB and clic* 69.
1:
'1. Trace around the outline of the board by clic*ing each corner in rotation. +ouble:clic* to finish your
rectangle. @ight clic* inside the area you ha'e ;ust traced. Clic* on B.ill or @efill )ll QonesB. The board
should fill in with green and loo* something li*e this0
'3. @un the design rules chec*er by clic*ing on the B"erform +esign @ules Chec*B icon on the top
toolbar. Clic* on B3tart +@CB. There should be no errors. Clic* on B#ist !nconnectedB. There should be no
unconnected trac*. Clic* 69 to close the +@C Control dialogue.
'9. 3a'e your file by clic*ing on File A )ave. To admire your board in (+& clic* on ,iew A (" "isplay.
':. You can drag your mouse around to rotate the "C5.
'5. Your board is complete. To send it off to a manufacturer you will need to generate all Gerber files.
Generate Gerber files
6nce your "C5 is complete& you can generate Gerber files for each layer and send them to your
fa'ourite "C5 manufacturer& who will ma*e the board for you.
1. .rom *icad& open the $@4;ew software tool and load your board file by clic*ing on the icon .
'. Clic* on File A Plot. 3elect BGerberB as the B"lot .ormatB and select the folder in which to put all Gerber
files.
. These are the layers you need to select for ma*ing a typical 2:layer "C50
15
'iCA" 2ayer Name #hat it is /erber File +6tension
Copper 5ottom #ayer .G5#
Component Top #ayer .GT#
3old"KCmp Top "aste .GT"
3il*3KCmp Top 6'erlay .GT6
Ias*KCop 5ottom 3older @esist .G53
Ias*KCmp Top 3older @esist .GT3
DdgesK"cb Ddges /)
-. "roceed by clic*ing on the B"lotB button. To 'iew all your Gerber files go to the *icad pro;ect manager and
clic* on the BGerbJiewB icon. 6n the drag down menu select B#ayer 1B. Clic* on File A 2oad /erber file
or clic* on the icon . #oad all generated Gerber files one at a time. ote how they all get displayed
one on top of the other.
1. !se the menu on the right to select/deselect which layer to show. Carefully inspect each layer before
sending them for production.
3. To generate the drill file& from $@4;ew go again for the File A Plot option. +efault settings should be
fine.
Automatically route with Freeouter
@outing a board by hand is ?uic* and fun& howe'er& for a board with lots of components you might want
to use an autorouter. @emember that you should first route critical traces by hand and then set the
autorouter to do the boring bits. =ts wor* will only account for the unrouted traces. The autorouter we will
use here is .ree@outer from freerouting.net.
1. .rom $@4;ew clic* on File A +6port A )pecctra "N) and sa'e the .dsn file locally. e8t& clic* on
Tools A Free.oute. ) menu with se'eral options will open& clic* on the B#aunch .ree@outer with ,a'a
>eb 3tartB button. Gi'e it some seconds $you will need to be connected to the =nternet% and the
.ree@outer main window will open. Clic* on the B6pen Your 6wn +esignB button& browse for the .dsn file
and load it.
'. .ree@outer has some features that *icad does not currently ha'e& both for manual routing and for
automatic routing. .ree@outer operates in two main steps0 first& routing the board and then optimising it.
.ull optimisation can ta*e a long time& howe'er you can stop it at any time need be.
'!
. You can start the automatic routing by clic*ing on the B)utorouterB button on the top bar. The bottom bar
gi'es you information about the on:going routing process. =f the B"assB count gets abo'e (0& your board
probably can not be autorouted with this router. 3pread your components out more or rotate them better
and try again. The goal in rotation and position of parts is to lower the number of crossed airlines in the
ratsnest.
-. Ia*ing a left:clic* on the mouse can stop the automatic routing and automatically start the optimisation
process. )nother left:clic* will stop the optimisation process. !nless you really need to stop& it is better to
let .ree@outer finish its ;ob.
1. Clic* on the File A +6port )pecctra )ession File menu and sa'e the board file with the C.ses
e8tension. You do not really need to sa'e the .ree@outer rules file.
3. 5ac* to $@4new. You can import your freshly routed board by clic*ing on the lin* Tools A Free.oute
and then on the icon B5ac* =mport the 3pectra 3ession $R.ses% .ileB and selecting your .ses file.
=f there is any routed trace that you do not li*e& you can delete it and re:route it again& using the del *ey
and the routing tool& which is the B"lace a wireB icon on the right toolbar.
4 Make schematic components in kicad
3ometimes a component that you want to place on your schematic is not in the *icad libraries. This is
?uite normal and there is no reason to worry. =n this section we will see how a new schematic component
can be ?uic*ly created with *icad. e'ertheless& remember that you can always find *icad components
on the =nternet. .or instance from here0
http://per%#aunay%!ree%!r/$icad/$icad)php/composant%php
=n *icad& a component is a piece of te8t that starts with a B+D.B and ends with BD++D.B. 6ne or more
components are normally placed in a library file with the e8tension .lib. =f you want to add components to
a library file you can ;ust use the cut and paste commands.
1. >e can use the @omponent +ibrary Editor $part of EESchema% to ma*e new components. =n our pro;ect
folder Bdemo1B letBs create a folder named BlibraryB. =nside we will put our new library file my+ib.lib as soon
as we ha'e created our new component.
'. ow we can start creating our new component. .rom *icad& start EESchema& clic* on the B#ibrary DditorB
icon and then clic* on the Bew componentB icon . The Component "roperties window will
appear. ame the new component BIYC6(B& set the B+efault reference designatorB as B,B& and the
Bumber of parts per pac*ageB as B1B. Clic* 69. =f the warning appears ;ust clic* yes.
)t this point the component is only made of its labels. #etBs add some pins. Clic* on the B)dd "insB icon
on the right toolbar. To place the pin& left clic* in the centre of the part editor sheet ;ust below the
BIYC6(B label.
'1
. =n the "in "roperties window that appears& set the pin name to BJCCB& set the pin number to B1B& and the
BDlectrical typeB to B"ower outputB then clic* 69.
-. "lace the pin by clic*ing on the location you would li*e it to go& right below the BIYC6(B label.
1. @epeat the place:pin steps& this time B"in nameB should be B="!TB& B"in numberB should be B2B& and
BDlectrical TypeB should be B"ower inputB.
3. @epeat the place:pin steps& this time B"in nameB should be BG+B& B"in numberB should be B(B& and
BDlectrical TypeB should be B"ower outputB. )rrange the pins one on top of the other. The component label
BIYC6(B should be in the centre of the page $where the blue lines cross%.
9. e8t& draw the contour of the component. Clic* on the B)dd rectangleB icon . >e want to draw a
rectangle ne8t to the pins& as shown below. To do this& clic* where you want the top left corner of the
rectangle to be. Clic* again where you want the bottom right corner of the rectangle to be.
:. 3a'e the component in your library my+ib.lib. Clic* on the Bew #ibraryB icon & na'igate into
demo1/library/ folder and sa'e the new library file with the name my+ib.lib.
5. Go to Preferences A 2ibrary and add both demo1/library/ in B!ser defined search pathB and my+ib.lib in
BComponent library filesB.
1!. Clic* on the B3elect wor*ing libraryB icon . =n the 3elect #ibrary window clic* on my+ib and clic* 69.
otice how the heading of the window indicates the library currently in use& which now should be my+ib.
11. Clic* on the B!pdate current component in current libraryB icon in the top toolbar. 3a'e all changes
by clic*ing on the B3a'e current loaded library on dis*B icon in the top toolbar. Clic* BYesB in any
confirmation messages that appear. The new schematic component is now done and a'ailable in the
library indicated in the window title bar.
1'. You can now close the Component library editor window. You will return to the schematic editor window.
Your new component will now be a'ailable to you from the library my+ib.
''
1. You can ma*e any library file.lib file a'ailable to you by adding it to the library path. .rom EESchema7 go
to Preferences A 2ibrary and add both the path to it in B!ser defined search pathB and file.lib in
BComponent library filesB.
+6port$ import and modify library components
=nstead of creating a library component from scratch it is sometimes easier to start from one already
made and modify it. =n this section we will see how to e8port a component from the *icad standard library
Bde'iceB to your own library my/wn+ib.lib and then modify it.
1. .rom *icad& start EESchema& clic* on the B#ibrary DditorB icon & clic* on the B3elect wor*ing libraryB
icon and choose the library Bde'iceB. Clic* on B#oad component to edit from the current libB icon
and import the B@D#)YK2@TB.
'. Clic* on the BD8port componentB icon & na'igate into the library/ folder and sa'e the new library file
with the name my/wn+ib.lib.
. You can ma*e this component and the whole library my/wn+ib.lib a'ailable to you by adding it to the
library path. .rom EESchema7 go to Preferences A 2ibrary and add both library/ in B!ser defined
search pathB and my/wn+ib.lib in the BComponent library filesB.
-. Clic* on the B3elect wor*ing libraryB icon . =n the 3elect #ibrary window clic* on my/wn+ib and clic*
69. otice how the heading of the window indicates the library currently in use& it should be my/wn+ib.
1. Clic* on the B#oad component to edit from the current libB icon and import the B@D#)YK2@TB.
3. You can now modify the component as you li*e. -o'er o'er the label B@D#)YK2@TB& press the e *ey and
rename it BIYK@D#)YK2@TB.
9. Clic* on B!pdate current component in current libraryB icon in the top toolbar. 3a'e all changes by
clic*ing on the B3a'e current loaded library on dis*B icon in the top toolbar.
'
7 Make schematic components with 8uicklib
This section presents an alternati'e way of creating the schematic component for IYC6( $refer to
page S% using the =nternet tool quicklib.
1. -ead to the quicklib webpage0 http://$icad%rohrbacher%net/&uic$#ib%php
'. .ill out the page with the following information0
Component name: ./C0,,1
2e!erence Pre!ix: 3
Pin 4ayout Sty#e: S54
Pin Count' ,: 6
. Clic* on the B)ssign "insB icon. .ill out the page with the following information0
Pin 7: VCC
Pin 2: input
Pin 1: G,8
-. Clic* on the icon B"re'iew itB and& if you are satisfied& clic* on the B5uild #ibrary ComponentB. +ownload
the file and rename it demo1/library/my+ib.lib. You are doneT
1. -a'e a loo* at it using *icad. .rom the *icad pro;ect manager& start EESchema& clic* on the B#ibrary
DditorB icon & clic* on the B=mport ComponentB icon & na'igate to demo1/library/ and select
my+ib.lib.
3. You can ma*e this component and the whole library my+ib.lib a'ailable to you by adding it to the *icad
library path. .rom EESchema7 go to Preferences A 2ibrary and add both library in B!ser defined search
pathB and my/wn+ib.lib in BComponent library filesB.
)s you might guess& this method of creating library components can be ?uite effecti'e when you want to
create components with a large pin count.
'-
Make a high pin count schematic component
=n the section titled "ake Schematic @omponents in 8uicklib we saw how to ma*e a schematic
component using the 8uicklib web:based tool. -owe'er& you will occasionally find that you need to create
a schematic component with a high number of pins $some hundreds of pins%. =n *icad& this is not a 'ery
complicated tas*.
1. 3uppose that you want to create a schematic component for a de'ice with G0 pins. =t is common practise
to draw it using multiple low pin:count drawings& for e8ample two drawings with 2G pins each. This
component representation allows for easy pin connection.
'. The best way to create our component is to use 8uicklib to generate two 2G:pin components separately&
re:number their pins using a "ython script and finally merge the two by using copy and paste to ma*e
them into one single +D. and D++D. component.
. You will find an e8ample of a simple "ython script below that can be used in con;unction with an in.t,t file
and an out.t,t file to re:number the line0
B7 "=1 1 :4G0 <00 (00 @ G0 G0 1 1 =B into B7 "=2< 2< :4G0 <00 (00 @ G0 G0 1 1 =B
this is done for all lines in the file in.t,t.
#!/usr/bin/env python
''' simple script to manipulate kicad component pins numbering'''
import sys, re
try:
fin=open(sys.argv!",'r'#
fout=open(sys.argv$",'%'#
e&cept:
print 'oh, %rong use of this app, try:', sys.argv(", 'in.t&t out.t&t'
sys.e&it(#
for ln in fin.readlines(#:
ob)=re.search('(* +,-#(.d/#(.s#(.d/#(.s./#',ln#
if ob):
num = int(ob).group($##0$1
ln=ob).group(!# 0 str(num# 0 ob).group(2# 0 str(num# 0 ob).group(1# 0'.n'
fout.%rite(ln#
fin.close(#3 fout.close(#
#
# for more info about regular e&pression synta& and kicad component generation:
# http://gskinner.com/4eg5&r/
# http://kicad.rohrbacher.net/6uicklib.php
-. >hile merging the two components into one& it is necessary to use the #ibrary Dditor from DD3chema to
mo'e the first component so that the second does not end up on top of it. 5elow you will find the final .lib
file and its representation in EESchema.
DD3chema:#=5@)@Y Jersion 2.(
Uencoding utf:H
U C6I"
+D. C6I" ! 0 C0 Y Y 1 .
.0 V!V :1H00 :100 G0 - J C C
.1 VC6I"V :1H00 100 G0 - J C C
+@)>
3 :22G0 :H00 :1(G0 H00 0 0 0
3 :CG0 :H00 CG0 H00 0 0 0
7 "=1 1 :2GG0 <00 (00 @ G0 G0 1 1 =
...
7 "=CS CS 4G0 :G00 (00 # G0 G0 1 1 =
D++@)>
D++D.
UDnd #ibrary
'1
1. The "ython script presented here is a 'ery powerful tool for manipulating both pin numbers and pin
labels. Iind& howe'er& that all its power comes for the arcane and yet ama/ingly useful @egular
D8pression synta80 http://gskinner.com/6egE,r/.
9 Make component footprints
!nli*e other D+) software tools& which ha'e one type of library that contains both the schematic symbol
and the footprint 'ariations& *icad .lib files contain schematic symbols and .mod files contain footprints& or
modules. @vpcb is used to successfully map footprints to symbols.
)s for .lib files& .mod library files are te8t files that can contain anything from one to se'eral parts.
There is an e8tensi'e footprint library with *icad& howe'er on occasion you might find that the footprint
you need is not in the *icad library. -ere are the steps for creating a new "C5 footprint in *icad0
1. .rom the *icad pro;ect manager start the $@4new tool. Clic* on the B6pen Iodule DditorB icon on
the top toolbar. This will open the BIodule DditorB.
'. >e are going to sa'e the new footprint in the footprint library BconnectB. Clic* on the B3elect wor*ing
libraryB icon on the top toolbar. 3elect the BconnectB library& though you can choose a different
location if you want.
. Clic* on the Bew IoduleB icon on the top toolbar. Type BIYC6(B as the Bmodule referenceB. =n
the middle of the screen the BIYC6(B label will appear. !nder the label you can can see the BJ)#RRB
label. @ight clic* on BIYC6(B and mo'e it abo'e BJ)#RRB. @ight clic* on BJ)#RRB& select BDdit Te8t IodB
and rename it to B3I+B. 3et the B+isplayB 'alue to B=n'isibleB.
-. 3elect the B)dd "adsB icon on the right toolbar. Clic* on the wor*ing sheet to place the pad. @ight
clic* on the new pad and clic* BDdit "adB. You can otherwise use the e *ey shortcut.
'3
1. 3et the B"ad umB to B1B& B"ad 3hapeB to B@ectB& B"ad TypeB to B3I+B& B3hape 3i/e 7B to B0.CB& and B3hape
3i/e YB to B0.HB. Clic* 69. Clic* on B)dd "adsB again and place two more pads.
3. =f you want to change the grid si/e& .ight click A /rid )elect. 5e sure to select the appropriate grid
si/e before laying down the components.
9. Considering& for instance& that a 0.Hmm 5G) component has a pin to pin distance of about (0 mil
$0.Hmm%& it is generally commendable to set a grid si3e of 4 mil when you route.
:. Io'e the BIYC6(B label and the B3I+B label out of the way so that it loo*s li*e the image shown
abo'e.
5. >hen placing pads it is often necessary to measure relati'e distances. "lace the cursor where you want
the relati'e coordinate point >!7!? to be and press the space bar. >hile mo'ing the cursor around& you
will see a relati'e indication of the position of the cursor at the bottom of the page. "ress the space bar at
any time to set the new origin.
1!. ow add a footprint contour. Clic* on the B)dd graphic line or polygonB button in the right toolbar.
+raw an outline of the connector around the component.
11. Clic* on the B3a'e Iodule in wor*ing directoryB icon on the top toolbar& using the default name
IYC6(.
'9
: Note about portability of kicad pro*ect files
>hat files do you need to send to someone so that they can fully load and use your *icad pro;ectE
>hen you ha'e a *icad pro;ect to share with somebody& it is important that the schematic file .sch& the
board file .brd7 the pro;ect file .pro and the netlist file .net& are sent together with both the schematic parts
file .lib and the footprints file .mod. 6nly this way will people ha'e total freedom to modify the schematic
and the board.
>ith *icad schematics& people need the .lib files that contain the symbols. Those library files need to be
loaded in the Eeschema preferences. 6n the other hand& with boards $.brd files%& modules $footprints%
can be stored inside the .brd file. You can send someone a .brd file and nothing else& and they would still
be able to loo* at and edit the board. -owe'er& when they want to load components from a netlist& the
module libraries $.mod files% need to be present and loaded in the $cbnew preferences ;ust as for
schematics. )lso& it is necessary to load the .mod files in the preferences of $cbnew in order for those
modules to show up in @vpcb.
=f someone sends you a .brd file with modules you would li*e to use in another board& you can open the
module editor& load a module from the current board& and sa'e or e8port it into another module library.
You can also e8port all the modules from a .brd file at once 'ia Pcbnew A File A Archive Footprints
A Create footprint archive& which will create a new .mod file with all the boardBs modules.
5ottom line& if the "C5 is the only thing you want to distribute& then the board file .brd is enough.
-owe'er& if you want to gi'e people the full ability to use and modify your schematic& its components and
the "C5& it is highly recommended that you /ip and send the following pro;ect directory0
!oxy)board/
9:: !oxy)board%pro
9:: !oxy)board%sch
9:: !oxy)board%brd
9:: !oxy)board%net
9:: #ib
; 9:: !oxy)board%#ib
; <:: !oxy)board%mod
9:: "erber
9:: %%%
<:: %%%
; Forward annotation in kicad
6nce you ha'e completed your electronic schematic& the footprint assignment& the board layout and
generated the Gerber files& you are ready to send e'erything to a "C5 manufacturer so that your board
can become reality.
6ften& this linear wor*:flow turns out to be not so uni:directional. .or instance& when you ha'e to
modify/e8tend a board for which you or others ha'e already completed this wor*:flow& it is possible that
you need to mo'e components around& replace them with others& change footprints and much more.
+uring this modification process& what you do not want to do is to re:route the whole board again from
scratch. =nstead& this is how you do it0
1. #etBs suppose that you want to replace a hypothetical connector C61 with C62.
'. You already ha'e a completed schematic and a fully routed "C5.
. .rom *icad& start EESchema& ma*e your modifications by deleting C61 and adding C62. 3a'e your
schematic pro;ect with the icon and clic* on the Betlist generationB icon on the top toolbar.
':
-. Clic* on BetlistB then on Bsa'eB. 3a'e to the default file name. You ha'e to rewrite the old one.
1. ow assign a footprint to C62. Clic* on the B@un C'pcbB icon on the top toolbar. )ssign the
footprint to the new de'ice C62. The rest of the components still ha'e the pre'ious footprints assigned
to them. Close @vpcb.
3. 5ac* in the schematic editor& sa'e the pro;ect by clic*ing on B.ileB A B3a'e >hole 3chematic "ro;ectB.
Close the schematic editor.
9. .rom the *icad pro;ect manager& clic* on the B"C5ewB icon. The B"C5ewB window will open.
:. The old& already routed& board should automatically open. #etBs import the new netlist file. Clic* on the
B@ead etlistB icon on the top toolbar.
5. Clic* on the B5rowse etlist .ilesB button& select the netlist file in the file selection dialogue& and clic* on
B@ead Current etlistB. Then clic* the BCloseB button.
1!. )t this point you should be able to see a layout with all pre'ious components already routed. 6n the top
left corner you should see all unrouted components& in our case the C62. 3elect C62 with the
mouse. Io'e the component to the middle of the board.
11. "lace C62 and route it. 6nce done& sa'e and proceed with the Gerber file generation as usual.
The process described here can easily be repeated as many times as you need. 5eside the .orward
)nnotation method described abo'e& there is another method *nown as 5ac*ward )nnotation. This
method allows you to ma*e modifications to your already routed "C5 from "C5ew and updates those
modifications in your schematic and netlist file. The 5ac*ward )nnotation method& howe'er& is not that
useful and is therefore not described here.
1< More about kicad documentation
This has been a ?uic* guide on most of the features in *icad. .or more detailed instructions consult the
help files which you can access through each *icad module. Clic* on -elp A Contents.
9icad comes with a pretty good set of multi:language manuals for all its four software components.
The Dnglish 'ersion of all *icad manuals are distributed with *icad.
=n addition to its manuals& *icad is distributed with this tutorial& which has been partly translated into other
languages. The pdf 'ersion and the libreoffice $.odt% 'ersion of this tutorial is distributed free of charge
with all recent 'ersions of *icad. This tutorial as well as the manuals can be found in the following
directories0
/usr/share/doc/$icad/en/
/usr/share/doc/$icad/he#p/en/
/usr/#oca#/$icad/doc/tutoria#s/en/
$icad/doc/tutoria#s/en/
'icad Fre8uently Asked =uestions >FA=?
) 'ery good and fre?uently updated source of information is the *icad .)W list a'ailable at this =nternet
addess0
http://$icad%source!or"e%net/wi$i/index%php=tit#e>?re&uent#y-as$ed-&uestions
'5

You might also like