Related kicad pages

Things that are Common to all the different kicad programs

Common Key Strokes of Kicad - Worth Memorizing
mouse wheel zooms (needs to be a bit finer (2006-08-28))
F1 Zoom in
F2 Zoom out
F3 Re-paint
Mouse-wheel click or F4 Center drawing at cursor
M Move
R Rotates
X Mirrors over X axis
Y Mirrors over Y axis
N Orient Normal (Remove mirror, rotation)
A Add component
Space Zeros relative coordinates at cursor
Left-click get object info - displays in bottom bar
Left-double-click Edit part
left-click-drag Block Select - and move - left click drops
Shift+Left-click-drag Block copy - and move - left click drops
CNT+Shift+Left-click-drag Block delete
Right-Click Context menu (repeat cancels menu)
Del Deletes
Insert Duplicates last element (works with lines not parts as of 2006-08-28)
A few more key strokes for PCBNEW
+ Switch to next layer
- Switch to previous Layer
pg-up Copper layer
pg-down Components layer
V Place 'Via' when routing track
F Flip footprint
M Move footprint (disconnect from tracks)
G Grab footprint (tracks are stretched)
R Rotate footprint
T Get? and move footprint
L Toggle footprint lock (glue)
O Add Module ???
Left mouse button held down Trace framework to move block
Shift + Left mouse button held down Trace framework for invert block (180deg rotate)
Ctrl + Left mouse button held down Trace framework for rotating block 90┬░
Shft+Ctrl + Left mouse button held down Trace framework to delete the block
Centre mouse button held down Trace framework to zoom to block

The programs that makeup Kicad

kicad navigator

This is the top program of the kicad system - a project manager which lets you create and name projects and start the major components of kicad. This wiki page covers the Kicad manager. The manager also lets you start these sub programs :

Assign footprints to parts Creates .cmp and .stf files. You don't have to run cvpcb if you fill the footprint field in eeschema!
For viewing Gerber 274-X format, (These used to be .pho files, but now we use the standard Gerber file extensions that tell which layer is used SilkS_Front = .gto etc. )

Navigator Procedures - Project level Tasks

Incrementing the file names of a Project

After making the first version of a schematic and a board - lets say named ( where xxx would be .sch .brd .net .pro )- it is a good idea to make a copy and increment the version ready for any changes that might come.

Changes that only affect the parts list in the schematic could be 1.0A - 1.0B etc.

Simply copy the old files to the new names and in the kicad project browser open up the new project. Where original projects_dir = widgit1.3

$cd project_dir $cd .. $cp -Rp widgit1.3  widgit2.0 $cd widgit2.0 $mv widgit1.3.sch  widgit2.0.sch $mv widgit1.3.brd  widgit2.0.brd $mv $mv 

Open the new .pro with the project manager, open the schematic and under pagesettings update the version once more..

Archiving a Project

External Autorouters


MUCS-PCB Autorouter

This is not actually part of kicad - but has been recommended as a better auto router than the one that comes with kicad. Its drawback is that it does not route at 45 degree angles, the traces only go parallel and perpendicular to each other.

Topological Autorouter

Also not part of kicad - worth listing here for now.

The Files of kicad

Open eeschema directly ( it will load the default .pro file )
Make changes to Your library list
Save to /usr/share/kicad/template/
Backup a copy as it will get overwritten on software updates. (this file really should be in /etc/kicad or

Features - Future


Components of Kicad

New under development Distributed Library System for Kicad's EESCHEMA

of parts into different "directory like" areas within a library source.

Wish list:

Kicad Project Manager and functions common to all subprograms


When placing components such as passives (mainly R's and C's) you come across the common problem that you draw the symbol either horizontally or vertically, but when you place the component it could be in one of four orientations, but generally you only need two versions that can be mirrored. (bridge circuits need a 45 - makes 3 versions).
Needs Pin-swap and gate-swap! 


Very ugly
Also, many times pads run under chips-bodies where it would be good to simply mask-out the paste with a line along the part body, and similarly re-add a solder-masked area under the now masked-solder-paste area. This takes both a solder-paste-mask and a negative-solder-mask layer (a solder-mask-mask? or a solder-mask-re-add layer? A good name escapes me as the solder-mask layer is really the holes in the solder mask and anything I think of sounds confusing )

Impedance Control features


Module Editor

Gerb View





Building from source

Download kicad-buildme.tar.gz

extract this into /usr/src


$ /usr/src/kicad-buildme/kicad-w-scripting-packaging/debian/ 

If some dependency is missing it will complain about it - install the dependency and try again.

The scrip you run is listed here - might help non Debian linux users

apt-get update
apt-get install bzr \
bzrtools \
build-essential \
cmake \
cmake-curses-gui \
debhelper \
doxygen \
grep \
libbz2-dev \
libcairo2-dev \
libglew-dev \
libssl-dev \
libwxgtk2.8-dev \

revnu=`bzr revno lp:~kicad-product-committers/kicad/product`
#c=kicad-0.0.$(date +%Y%m%d)
#tgz=kicad_0.0.$(date +%Y%m%d).orig.tar.gz

cd /usr/src

if [ ! -d $d ]; then
echo "Create kicad-bzr and checkout"
mkdir -p $d
bzr checkout lp:~kicad-product-committers/kicad/product $d/kicad
bzr checkout lp:~kicad-developers/kicad/doc $d/kicad-doc
bzr checkout lp:~kicad-product-committers/kicad/library $d/kicad-library
# need to do update here..
bzr update $d/kicad
bzr update $d/kicad-doc
bzr update $d/kicad-library
mkdir -p c$
cp -a -r $d/* $c
# link to a copy of the boost tar ball as the download is not reliable.
#mkdir -p $c/kicad/.downloads-by-cmake/
#if ! [ -L $c/kicad/.downloads-by-cmake/boost_1_54_0.tar.bz2 ]; then
# ln -s kicad-buildme/boost_1_54_0.tar.bz2 $c/kicad/.downloads-by-cmake/boost_1_54_0.tar.bz2

tar czf $tgz $c
rsync -au /usr/src/kicad-buildme/kicad-w-scripting-packaging/debian /usr/src/$c/
cd /usr/src/$c/debian
echo "kicad (0.0."$revnu"-1) unstable; urgency=low" > tmp
echo >> tmp
echo " * Updated daily build" >> tmp
echo >> tmp
echo " -- "$USER "<> "$(date -R) >> tmp
echo >> tmp
cat tmp changelog >>
mv changelog changelog.bkup
mv changelog
cd ..
dpkg-buildpackage -b -uc -us

This debian directory is maintened at lp:~js-reynaud/+junk/kicad-package

Related Software Tools

further reading

Top Page wiki Index


This information may have errors; It is not permissible to be read by anyone who has ever met a lawyer.
Use is confined to Engineers with more than 370 course hours of electronic engineering for theoretical studies.
ph +1(785) 841-3089


(C) Copyright 1994-2017, Transtronics, Inc. All rights reserved
Transtronics® is a registered trademark of Transtronics, Inc.
All trademarks are the property of their respective owners.