Kisscad: Schematic Drawing Software

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

KISSCAD

Schematic Drawing Software

KISSCAD is a simple and quick-to-use program whose only purpose in life is helping its users draw
good-looking schematic diagrams. It does nothing else. It doesn't check design rules, make component
lists, netlists, design circuits for you, design PCBs, order parts, control assembly lines, manage your
factory, fire the husband of your girlfriend, etc. None of those. It ONLY draws schematic diagrams. But
it does that one thing well, I hope.

Why yet another schematic drawing tool? Simply because I needed one, and I couldn't find any that
works well enough. There are many software packages available, but they all suffer from various
problems, such as being payware and often very expensive, or being too capable, doing many things
nobody ever needs, and therefore being difficult to learn. Some are very buggy, to the point of simply
not allowing people to get any work done. Too many depend on a point-and-click interface with pull-
down menues, which is convenient for people who can't use a keyboard, but extremely slow. Many
produce crappy output. And a significant number of programs combine several of these disadvantages!

I used a commercial professional DOS-based schematic drawing software for many years (say, 25 years
or so!), which worked quite well, being nearly bug-free. But it became ever harder to make it run on
modern computers, so that finally I had to give up on it. Its newer Windows-based versions are hugely
complicated and totally exceed my needs, let alone my budget. For a year or so I tried to get by with
various free programs, but the frustration level kept building up. So I finally decided to make my own
program, which probably on the whole isn't any better, but at least it's under my control, so that I can
quickly fix any bugs that pop up. If you decide to use it, you will either have to live with the bugs, or
report them to me so I can fix them. And certainly you will have to live with the idiosyncrasies of my
program, because I made it to suit my taste, and not to be configurable for the different tastes of many
users. As you can see, it's an egocentrically inspired program, but at least I do allow others to use it!

Why KISSCAD, of all things? Well, if you have any experience in engineering and in the English
language, then you will know what KISS means: Keep It Simple and Stupid! That's the best rule to
make things that actually work. KISSCAD is very kissy. I mean, it's quite simple and VERY stupid.
You might love it for that, because this level of stupidity makes it practical to use, and quick to learn!

CAD normally stands for Computer-Assisted Designing, but in this case I would change that to
Computer-Assisted Drawing, because with KISSCAD it's the user who does the designing. Absolutely.
KISSCAD doesn't know what all those symbols mean. YOU are supposed to know. KISSCAD will just
help you make a good-looking drawing.

Installation: Basically there is none! KISSCAD is portable software. Simply open the zip archive and
expand all files in it into any directory of your choice. I would suggest naming it something with
KISSCAD, of course. Then run the kisscad.exe file. You will probably want to right-click on this file
from the Windows Explorer, and select “send to the desktop, create shortcut”, so you can start
KISSCAD conveniently from your desktop. Rename that shortcut to KISSCAD. You might want to tell
Windows to associate the .kcs extension to kisscad.exe, so that you can open schematics by just
clicking on the filename in the shell.
To uninstall KISSCAD, simply delete the whole directory, and delete the shortcut. That's it.

KISSCAD basics: KISSCAD allows you to edit, enlarge, maintain and manage a library of symbols,
which include all sorts of electronic components, but can also contain totally different things, such as
mechanical symbols or even a company logo. Parallel to this, KISSCAD allows you to use these library
symbols to create drawings. The symbols are created using lines, buses (which are just fat lines),
dashed lines, arcs of any radius and span including full circles, area fills, and text. Schematic drawing
can include these symbols, and also all of the just mentioned elements. That's all you need to create
schematic diagrams.

KISSCAD allows you to instantly switch forth and back between editing the library, and editing your
schematic. Any new symbols are immediately usable.

KISSCAD is a keyboard-oriented program. The mouse is used only as an alternative to the cursor keys,
in functions such as moving parts or drawing elements. It is possible to use KISSCAD entirely without
a mouse, although the mouse is useful for certain operations. All commands instead are exclusively
entered from the keyboard, using single letters.

The KISSCAD alphabet: You will soon learn it by heart! Here it is:

A: Arc
B: Bus
C: Copy
D: Dashed line
E: Edit
F: Fill
G: Get part
H: Help
I: Index of library
J: Junction
K: Kill
L: Line
M: Move
N: New
O: Open
P: Pick
Q: Quit
R: Rotate, Resize
S: Save
T: Text
U: Undo
V: View library
W: Worksheet size
X: Export
Y: Yes
Z: Zoom
Depending on the situation the program is in at any given moment, various of these commands are
available.

The cursor keys are used to move around. Holding down the CTRL key while pressing cursor keys
causes larger jumps. ENTER generally functions to confirm, place things, etc, while ESCAPE gets you
safely out of many situations. The mouse can be used as an alternative to the cursor keys in many cases.
The left mouse button equals ENTER, the right mouse button equals ESCAPE.

When KISSCAD is started without telling it which schematic to load, it will automatically load the last
schematic you were working on. When you quit KISSCAD, it will save the library and the schematic.
No questions asked. In between, you are encouraged to save the library and your schematic after any
mayor changes, to prevent excessive data loss in case the program or the computer crashes. You should
also make backups of your files by copying them onto a different hard disk, a pendrive, into the cloud,
or whatever.

KISSCAD uses a simple text format to store both the library and the schematics. You can peek into
these files, and even carefully edit them, using any text editor such as Notepad.

The final product, the finished drawing, is exported to a PNG file. Then you can use other programs to
print the schematics, send them to other people, put them into web pages or documents, etc. I find
IrfanView very useful for viewing, handling and printing PNG files.

Getting started: KISSCAD will start with a demo schematic loaded, and a friendly reminder to use the
H key if you need help. You can play with that schematic, or you might want to start you own one right
away. I suggest that you first use the R command to resize the screen to whatever size you prefer: After
pressing R, you use the cursor keys to set the desired screen size, then you press ENTER. The program
will remember this setting between sessions. The accustomed method of resizing windows, by picking
the border and dragging it with the mouse, cannot be used in KISSCAD. It's too kisSy. Neither do the
window frame buttons for closing and full screen mode work. Maybe in a future release.

If you want to open a specific schematic, just click on it in the shell, after having associated the .kcs
extension to kisscad.exe. Or just start the program, then use O for Open and type the filename.
Extensions are optional. The program will add the .kcs if you don't type it.

If you want to start your own drawing, just enter N, for “new”. The program will save any changes to
the current schematic, then ask you for a new filename, and present you with an empty screen to draw
on.
If instead you would like to start from an existing schematic, you can use C to copy the current
schematic to a new file. KISSCAD will save the original schematic, and create the new file. All
changes you make from now on go to the new file.

You will probably want to set the size of your drawing. This is done with the W command (Worksheet
size). It shows you the current size, in pixels, and asks you to enter the desired new size, in “x,y”
format. You can enter any size you want, but keep it within reason, because extremely large schematics
are hard to understand. It's better to split up a complex project into several smaller schematics. I would
say that 2000×1440 pixels is a good size for printing at a reasonable scale on a sheet of A4 paper, but
you can change this as you like. The more pixels you squeeze onto a paper, the smaller everything will
print. On the screen, your worksheet will simply be much larger than the screen, and you will have to
scroll around to see the area you are working on.
The maximum size of a worksheet is only limited by your computer's memory. If you make too large
drawings, the first thing that will fail is exporting a high quality output image, but the lower quality
export option will still work.

The worksheet dimensions need to be exact multiples of 16 pixels. If you enter dimensions that aren't
divisible by 16, KISSCAD will round down the worksheet size to acceptable values.

If you enter no new size, but just press ENTER, KISSCAD will keep the current worksheet size. Use
this if you need to see the current size you are working in.
KISSCAD automatically draws a frame around every new image, and it redraws this frame when you
change the size of an existing schematic. You can change the worksheet size at any time. If you make it
so small that previously drawn things end up outside the worksheet, these things are not lost. They will
reappear as soon as you again increase the worksheet size.

Drawing a schematic: The first things you put into a new schematic are typically library parts. To do
that, you need to know what parts are available, and what the handle of each is, because you get the
parts by their handles. So, use the V command to view the library. It will display in pages. Any key
press will advance one page. After the end of the library, the next key press returns you to whatever you
were doing.

Each library part displays in a line. First comes the Group to which the part belongs, then its handle,
and then its full name. Finally comes the actual part drawing. The Group is used only to better sort the
parts in this list. It has no other function. The library gets sorted alphabetically first by group, then by
handle. The only function of a part's name is explaining in clear words what a part is, and what exactly
the letters of the handle mean. It has no function in the program. But the handle is important, because
you need it every time you want to get a part and place it in your schematic.

You can also use the I command to get a library index. That's just the text list, without the drawings, so
more parts fit per page, and you get through quicker. When you have found the part you need, and
made a mental note of its handle, you can use ESCAPE to return to your drawing, instead of fully
scrolling through all pages.

Okay, now you know that the handle of a resistor is R. To place resistors on your schematic, type GR
followed by ENTER. That means GET RESISTOR. It will show up highlighted in red. Now you can
rotate it, using the R key, and move it around using the cursor keys. Note that the part will move only
to specific locations, which are on a 16×16 pixel grid. This way it's easy to create drawings that align
perfectly. If you hold down CTRL while pressing the cursor keys, the resistor will jump ten grid units
(160 pixels). So you can move it quickly. When it is where you want it, just press ENTER, and the
color change will indicate that it has been placed. But you still have it dangling from the cursor too!
You can now again move it to another location, rotate it if necessary, place another copy, and so on.
When you are ready placing resistors, hit ESCAPE.

You can also pick and drag the resistor with the mouse. As soon as you let go the mouse button, the
resistor gets placed. You can freely mix up keyboard and mouse commands, to the point that you can
even rotate a part with R while while you are holding the mouse button down to keep the part from
falling off the mouse!

Note that you don't need to place the mouse cursor exactly on the part, to pick and drag it. You can start
with the mouse cursor elsewhere! This keeps the mouse pointer from covering the exact location where
you want to place your part. The part and the mouse pointer move in parallel.

Note that there are 8 possible rotations. With a resistor you won't see that, because it's so symmetrical.
But get an NPN transistor, for example (GNPN ENTER), and then press R repeatedly. You will see the
transistor rotate through the four possible 90° orientations, and then do that again, but in mirror view.
After those eight variations, it will return to the original orientation.

If you placed any part where you don't want it, you can ESCAPE from placing, and then undo the last
part using U. The first U will delete the last part placed, the next U will delete the second last, and so
on. You can actually rip up an entire schematic in this way.

When you have placed some parts, you will want to interconnect them. This is done with lines. Place
the cursor where you want to start a line, and hit L. Then move the cursor to the first corner of your
intended line, or to the end of it if it has no corners, and press ENTER. At that moment the line will
appear, not earlier. Now you can move to the next corner or end point, hit ENTER, and so on. When
you are done with such a line, hit ENTER again on the same endpoint, or hit ESCAPE.

If using the mouse, first click on the starting point, then you still have to start the line by pressing L,
then you can click on each corner and the end point, then right-click to finish.

Undo will rip up the line segment by segment, if necessary.

By using B or D instead of L, you can create buses and dashed lines in exactly the same way.

Lines, dashed lines and buses can all be oriented any way. There is no limitation to the angles. But they
all start and end on the grid of 16×16 pixels, which helps getting a nice and orderly schematic.

When you have placed parts and lines, you will surely want to place some junction dots. To do this, hit
J, then move the cursor to each place where you want a junction and hit ENTER, or click the mouse on
each of those places. Finish with ESCAPE or the right mouse button.

If you want to draw any special figures, you might want to make arcs and circles. Both are started with
the A command. First place the cursor at the spot where you want the center of your arc or circle, then
press A, then move the cursor to the starting point of the arc and hit ENTER, then to the ending point
and hit ENTER again. Or use the mouse to the same effect. Arcs always draw counterclockwise, which
is something you have to consider when deciding which is the start and which the end! The arc can
span any angle. The first ENTER or click after the A command sets both the radius and the start angle,
while the second one sets only the end angle. So the second point does not need to be exactly on the
arc! It just needs to be located at the proper angle from the center point.

If you want a full circle, simply make an arc that starts and ends at the same place: Move the cursor to
the center position, hit A, then move it to any point of the circle, and hit ENTER twice, or click twice
there.

If you want to fill an area with black, press F and then click or hit enter on any spot inside the area to
be filled. Note that if there is even the slightest discontinuity in the lines around that area, the fill will
leak out and the whole screen will turn black! If that happens, just undo the fill, using the U command.
If filling an area confined by lines that form a small angle, sometimes the pixel in the very tip doesn't
get filled. This is due to the pixellation of the lines, and is pretty much unavoidable. If necessary, place
a small line through that area after having placed the fill, to blacken that stubborn pixel.

Typically the last step in creating a schematic is making the annotation, that is, placing a lot of texts
with contents such as 10µF, 2N2222, R27, and so on. In contrast to most schematic drawing programs,
KISSCAD does not tie any text to any part. All texts are independent and free. Another difference is
that text cannot be rotated. I don't like text printed sideways nor upside down, forcing me to crane my
old neck to read it, so I won't include such a feature in KISSCAD. Period!

To place text, hit T. Then type your text, and finish with ENTER. The text will appear in red at the
place where the cursor was. You can move it to the place where you want it using the cursor keys,
which work in fine resolution, pixel by pixel, to move text. CTRL with the cursor keys will move the
text in grid steps. If the cursor was on grid before starting the text operation, then by using CTRL with
the cursor keys the text will always be properly aligned on top of horizontal lines, and on the right side
of vertical ones. This is helpful, for example, for placing IC pin numbers in a nice and consistent way.

Be cautious when you place text on the left side of something. The text sizes between the normal view
and the zoomed view, used for high quality output, are not exactly proportional! Specially if you use
several uppercase letters and the string ends very close to some other object, in the high resolution
image the end of the text might overwrite that object. So, leave some safety margin. Lowercase text and
numbers shouldn't cause this problem.

The mouse is very useful for placing text. Just click and drag the text to where you want it. You don't
need to click right on the text, it's typically better to click close to it but not on it, so you can see
perfectly well where you are placing your text.

In electronics some special characters are used, mainly Greek letters. KISSCAD supports a selection of
them, but unfortunately there is a bug in the combination of the FreeBasic programming language and
the way Windows handles the keyboard, and the result is that a significant number of special characters
aren't handled correctly. This is NOT a bug of KISSCAD! One of the affected characters is the Ω,
which is obviously quite important. So I have implemented a workaround: When you enter text strings
into KISSCAD, the ` character, located in the upper left corner of English language keyboards, will get
converted into a nice Ω. In the text line you type it will still appear as `, but on the schematic it will be
Ω.
The µ character instead is not affected by this bug, so you can use it in the usual way. If you have it
defined on your keyboard, use it directly. Otherwise enter it by its code, ALT-230.

As soon as you have placed a text, KISSCAD is ready for you to enter the next one. That helps in
working quickly. When you have finished placing text, press ENTER without having entered any text,
to get out. ESCAPE won't work in this situation, because the program is in text entry mode and takes
the ESCAPE key as a character!

In some cases you might want to have a larger text size. KISSCAD is just barely clever enough to offer
two text sizes. Press R to resize any text, after having written it and before placing it.

If you want to move, copy, or eliminate any part or element of your schematic, you need to pick it first,
using the P command. After pressing P, you can press ENTER or click the mouse on any two opposing
corners of an imaginary rectangle encompassing the things you want to pick. It's useful to know exactly
by which places you can pick things:

- Lines of all sorts, and arcs, are picked by either of their ends.
- Circles are picked by their center.
- Texts are picked by their upper left or lower right corner. The lower right one can be somewhat
imprecise.
- Library parts are picked by the upper left or lower right corner of the on-grid rectangle encompassing
the whole part.

It will take you some practice to find out how to best pick the parts you want, without picking any
others.

If you want to pick a single thing, see if it has one of its pick points separate from the pick points of any
other things. Place the cursor there, and press ENTER twice, to create a selection box of zero
dimension. That will pick only any things that have a pick point at that very location.

You can make several selections in one operation. For example, select a block of things by clicking on
two corners of an imaginary rectangle, then click on the two corners of another such rectangle, and
another... All the ones you want. All selected parts will be highlighted.

If you select something you didn't want to select, hit ESCAPE to get out, and start anew.

When your selection is complete, you can press M to move all those things to a new location, or C to
copy them, or K to kill them. The move operation works just like when placing parts gotten from the
library: Use the cursor keys and ENTER, or drag and drop with the mouse. The copying works like that
too, but after placing a copy the selected things will remain highlighted, so you can place additional
copies at other places. When you are done, hit ESCAPE or the right mouse key.

A single press of K will kill all highlighted things, so be careful with that. And if you need to eliminate
things, but you are in a gentle rather than murderous mood, you might prefer to use the DELETE key
instead of Kill...

Remember to use the S command as often as you want, to save your work. This drastically reduces the
risk of losing all changes to your schematic due to a program crash or power outage! KISSCAD always
saves the library and the schematic before exiting, but this won't protect you against crashes.

When your schematic is ready, most likely you will want to e-mail it to somebody, include it in
document, or print it on paper. This is done by exporting the schematic to a PNG file, using the X
command. Simply press X, and then select the quality of the desired file. The Low quality mode
exports a PNG of the same resolution as the image you see on screen. The High resolution mode
exports a PNG zoomed ×5, that is, it has 25 times as many pixels. This produces a much smoother
image, which is great for printing, and also for further processing in image handling programs. This
image created in the high resolution mode has the exact same proportions between line thickness and
size as the low resolution image, but often slightly fatter lines look better. If you want a high resolution
image with fattened lines, use the F option. All lines will be 50% fatter, except for text, which stays
unchanged.

To produce really great looking schematics, you can use an image processing program to convert the
pure black/white images to 256 level grayscale, and then apply a smoothing function to get rid of all
the staircase patterns in diagonal lines, arcs, circles and text. But this is just a final touch. KISSCAD's
high resolution, fattened schematics look pretty good when printed on a paper, even without any
postprocessing! [ Oops - brag mode off]

Editing the library: Whenever you discover that a symbol you need isn't yet defined in the library, you
should add it. The exception to this rule is just one: Symbols that can be drawn on a 16-pixel grid, and
which you will need just once in your life, are better drawn directly on the schematic, using lines, arcs,
etc. But symbols needed more than once should be created as library parts, and if you need a resolution
better than the 16 pixel grid, the only way to get it is the library, anyway.

You edit the library by pressing E. There you are presented with a nice grid. The whole screen is now
zoomed in by a factor of 5, and the grid lines are spaced 4 image points away from each other, which at
zoom=5 means 20 screen pixels. Little circles mark the spots that fall on the normal 16-pixel grid, and
this is very important, because only the spots in those circles can be accessed in schematic drawing
mode! When you draw library parts, you can draw anywhere you want, but the connections to your
parts must land on these little circles, or you won't be able to connect to them in your schematics.

You can switch the zoom level between 5 and 1 by using the Z command. Zoom=1 gives a rather
crowded view with all those grid lines, and therefore you should work in zoom=5 whenever possible,
that is, as long as the part you are drawing fits in your screen window. For KI(Simplicity)S, the screen
doesn't pan in library edit mode. I may add that feature if it proves necessary, but for the moment I
don't see good reason to do so.

You can Get any library symbol, the same way as in schematic mode. Only that at zoom=5 you will see
the symbol in all its glorious detail. At the top you see the handle of the symbol, its full name, and the
group to which it belongs. You can edit any of these three texts by using the E command. And if you
want, you can go ahead and add elements to the symbol, or Pick and then Move, Copy or Kill any
elements. But it's usually not a good idea to modify an existing library symbol, specially not if you are
already using it in any of your schematics, because such an action will affect all of your existing
schematics that use this symbol! For that reason, KISSCAD will ask you for confirmation if you try to
do any such thing. Answer with Y (yes) if you indeed want to do that change. Any other key gets you
out of there.

While you have a symbol on screen, you can also Kill it. Since that would be the bitter end of this
symbol, KISSCAD asks you for confirmation too.

To create a new symbol from scratch, you can use the N command. KISSCAD will ask you for a
handle for the new symbol, which is mandatory and must be unique in the library. Make this handle as
short and logical as possible, because you will need to type it every time you need to place that symbol
in one of your schematics. You can enter it in upper or lower case, as you desire. KISSCAD is not case
sensitive, neither with the symbol handles nor with any commands, by the way.

Then KISSCAD will ask you for a name, and a group. You can enter whatever suits you best, or even
leave them blank. KISSCAD uses the group information only to sort the symbols when you request an
Index or when Viewing the library. And KISSCAD makes no use at all of a symbol's name. The name
exists only as a reminder for you, to know what the letters of the handle mean.

Instead of starting a new symbol from scratch, it's very often more convenient to start from an existing
symbol, and only modify it or add to it. For this purpose, you Get a suitable (hopefully similar) symbol,
and then you press C to copy it. KISSCAD will ask you for a new handle. Then it will allow you to
enter a new name and group, and if you just hit ENTER, it will keep those of the original symbol. At
this point you have a copy of the original symbol, which you can safely modify into your new symbol,
without affecting the original one.

After filling the three text fields, you can start drawing your new symbol. This works with the same
Line, Dashed line, Bus, Arc, Fill, Junction, Text, Undo, and Pick commands you already used in
schematic drawing mode, only that in library edit mode all of these commands work on a fine grid,
which provides individual pixel resolution in the final drawing. The cursor keys will move by single
pixels, and if combined with CTRL, they will move in steps of 16 pixels, locking to the grid. This
locking function is very convenient to align any elements with the little circles that mark the points
accessible on the 16-pixel grid.

The grid lines are just there to help you draw your parts in a nice and symmetrical way, without having
to count too much. Still you will probably find yourself counting cursor key presses quite often! That's
fine.

The mouse can be used, of course, and is convenient in some cases, but in many situations the cursor
keys are more practical.

You can draw your symbols anyplace you want on the screen window, as long as you align them to the
16 pixel grid indicated by the little circles. KISSCAD will automatically move them to the upper left
corner later on. But as a matter of principle, you should draw longish symbols in horizontal orientation.
This is just to make more symbols fit on each page when you View the library! A vertical symbol
occupies more space there than a horizontal one. And when placing symbols in your schematics, of
course you can easily rotate them as needed.

A word about texts: All library symbols can be rotated before placing them in a schematic. Since
KISSCAD doesn't rotate any text, you should strictly avoid using any text in symbols you intend to
rotate! Because in a rotated symbol the text will still be horizontally oriented, left-to-right, and its upper
left corner location will be preserved relative to the symbol drawing, which means that the text in all
likelihood will end up out of place and overwriting part of the drawing!

If you absolutely want symbols with text rotated in different ways, you have no option but to create
several separate versions of your symbols, each one rotated in another way.

In addition to drawing electronic symbols, you can add any other drawings as library parts. If you have
a nice logo for your company, you might want to create it as a library symbol. One non-electronic
symbol I defined is the title box, which usually goes in the lower right corner of any schematic.

All the changes and additions you make to any symbol take effect immediately. You don't need to save
the symbol, merge it with the library, or anything like that. But I suggest that you press S to save the
complete library to the hard disk whenever you have done any significant work on it, just to prevent the
loss of your work in the event of a program crash or power cut! Saving the library file takes just that
one key press, and is essentially instantaneous.

You can use the Index and View commands from the library editor, just as you did from the schematic
drawing mode. You can also Resize the screen window, or request Help, which will give you the list of
commands available in library edit mode. That's the KISS way to provide context-sensitive help!

When you are done editing the library, press Q to quit the library edit mode and return to your
schematic.

The supplied library: KISSCAD is packaged with a basic library containing a selection of common
components. You can use this library as a base and expand it by adding any components you need, or
you might prefer to create your own library from scratch. I cannot deliver KISSCAD with a complete
library having detailed symbols for all components you might ever find, because that would mean
millions of library parts, which I simply don't have time for!

The provided library uses a mixture of European and USA styles of symbols. For example I used the
European style for resistors, that is, a longish rectangle, instead of the USA version, which is a zigzag
line. Conversely, the symbol I chose for inductors is the one used in the USA, looking like a coil
pressed into a plane, which I find far more logical than the old European style, a rectangle filled with
black! When it comes to fuses, there are at least five different drawing styles in common use, so I
simply picked one that looks like a common glass tube fuse... The greatest thing about standards is that
there are so many to choose from, right?

If you live in a well defined electronic environment, you might want to edit the whole library to use the
exact symbols most common around you. It's easy to do, and will take just a few hours of your time.

The provided library takes a modular approach to certain components, such as transformers, relays and
tubes. For example let's take relays: They can have a single contact, or two, three, four, sometimes up
to eight. Some have normally open contacts, others have normally closed contacts, many have double
throw contacts, and some have a combination of all these. It would be totally impractical to include
exact symbols for each of the many possible combinations! So I drew just one normally open contact,
one normally closed one, one double throw contact, and one relay actuator. You can take these basic
ingredients from the library, and combine them in any way needed to construct the exact relay you want
to use. A dashed line completes the coupling between the actuator and the contacts.

This method also allows you to draw the actuator and each of the contacts at different places of the
schematic. When relay contacts are in the signal path, this method can make a schematic much more
readable. In that case you might name the actuator RL1, for example, and each of the contacts RL1a,
RL1b, etc.

To draw tubes I provided a filament, a cathode, a grid, a screen grid with a cathode connection, beam-
forming plates, an anode, and a half of the bulb. These can be combined to form many kinds of tubes.
More elements can easily be added as needed.

Transformers of any sort and complexity can be composed by using the magnetic core, the inductor, the
small inductor, and the phasing dot.

If you frequently use a specific kind of relay, tube or transformer, of course you might want to create it
as a complete part in the library.

Using several libraries: Most schematic drawing programs can use several libraries, combine them,
switch between them, and so on. KISSCAD cannot. And that's because I don't think it's necessary to
have several libraries. I prefer to have all my parts in a single one.
If you still want to switch between libraries, you can do that: Just edit the KISSCAD.CFG file. The
second line contains the library file name.

It's also good to know that if you absolutely need to do so, you can merge two or more libraries, using
nothing but a text editor such as Notepad. The library file format used by KISSCAD is simple text. The
first line contains a number stating the number of parts in the library, and then comes a group of lines
for each part. The first line of such a group tells the handle, name, group, x and y size in pixels, and the
number of elements. Then comes one line for each element, containing the element type, starting x and
y, ending x and y, starting and ending angles, radius, and text. Depending on the element type, several
of these parameters are zero or empty, but still present. It's a very KISSy format.

The parts in the library appear in the same order they were created. So, if you take my library and add
your own parts, your new parts will always come in a block after mine. This makes it easy to cut off a
whole block of parts with a text editor, and paste it into another library file. But then you must count
the number of parts in each block, and adjust the number in the first line of each library file so that it
shows exactly the actual number of parts present! If this number declares fewer parts than the library
has, the extra parts won't be read in, and will be lost when KISSCAD next saves the library. And if you
declare more parts than you actually have, I would expect the program to crash. So, if you want to edit
the library with a text editor, do it right!

The schematic file format: Schematic files created by KISSCAD use a similar format as the library.
The first line gives the size of the drawing, in x and y pixels, and then the number of “things” in it.
Each thing can be a library part, or a basic element such as a line or a text. Then comes one line for
each thing. The format of these lines is the same as for library part elements, except that the element
type “p” also exists, which means a library part, and these lines have the part's handle in the text field
and the rotation of the part in the radius field.
The first 8 elements of any schematic contain the frame around the drawing, created automatically by
KISSCAD.

This format is of course compatible only with KISSCAD and nothing else. I will try to keep future
versions of KISSCAD 100% backwards-compatible with this format.

The PNG files created by KISSCAD are in pure black and white, using a single bit per pixel. PNG uses
highly effective compression, so that even a large drawing in high resolution results in a reasonable file
size.

Credits: KISSCAD was written in February and March 2016 by Manfred Mornhinweg, using the
FreeBasic language. FreeBasic is a modern and powerful programming language based on the well
known and beloved BASIC syntax, and as its name tells, it's free. You can get it here:

http://freebasic.net/

KISSCAD directly uses three libraries: CRT, PNG and Z. These are built into the executable, and make
up the bulk of it...

During development of KISSCAD, I received important help from several people on the FreeBasic
forum, among them dodicat, MrSwiss, dkl, St_W, D.J.Peters, badidea, srvaldez, fxm, SARG, Tourist
Trap, rolliebollocks, and leopardpm.
Angelsoft's Bitmap Font Generator was employed to generate the font used in KISSCAD drawings.

KISSCAD is freeware, in the sense that it is free to use, without any strings attached. I developed it
primarily for my own use, and it doesn't cost me much to make it available to others, so here it is. If
you find it useful, excellent! If instead you think it's worthless, just delete it and look for something you
like better. The source code is not open, though, because I don't want other programmers to add
features which I might consider not KISSy enough to keep within KISSCAD's philosophy.

At the time of this second release, I have been using KISSCAD as my only schematic drawing software
for nearly two years. A few small bugs have popped up, but nothing serious that would make one lose a
lot of work. And that's actually a better performance than I ever expected...
I have now fixed the bugs that I felt deserved fixing - but some minor ones are surely still present for
you to discover! You may want to report any bugs to me, but I will probably come across them myself,
and fix them, as time passes.

Be sure to save your files often, and keep backups of your files in another directory and on external
storage media. Although KISSCAD has so far shown to be stable and reliable, it cannot protect your
data against loss caused by computer crashes, power failures or stupid fingers.

I developed KISSCAD in Windows XP 32 bit, and I'm still using it in the same system. I would like to
hear from you if there is any problem in some other flavor of Windows. So far all reports I got are
favourable. Instead success using KISSCAD in Windows emulators on Linux and other operating
systems seems to depend on various factors. Several users reported good results, while others didn't. So
you have to try, if you want to do that.

You can reach me at manfred @ ludens.cl.

Revision history:

First release: 24th March 2016

Second release: 17th December 2017

- Fixed bug that prevented entering commas into texts.


- Fixed little mistake in help text (it said BMP instead of PNG).
- Fixed bug that allowed placing a new part or line off-grid after having moved a text.
- Added command line parameter reading, to allow associating .kcs files to KISSCAD and open
them by clicking on the filename.
- Updated documentation.

You might also like