PCB Layout (Tutorial) Schematic Capture (Reference Manual)
PCB Layout (Tutorial) Schematic Capture (Reference Manual)
INTRODUCTION
Introduction
The aim of this tutorial is to take you through the process of entering a circuit of modest complexity in
order to familiarise you with the techniques required to drive the schematic capture module in Proteus
(ISIS). The tutorial starts with the easiest topics such as placing and wiring up components, and then
moves on to make use of the more sophisticated editing facilities, such as creating new library parts.
An accompanying tutorial in the PCB module (ARES) then continues the project development using the
completed schematic drawn in this tutorial.
For those who want to see something quickly, DSPIC33_REC_SCHEMATIC.pdsprj contains the
completed tutorial circuit but no layout while DSPIC33_REC_UNROUTED.pdsprj and
DSPIC33_REC_COMPLETE.pdsprj both contain a completed schematic and a PCB. All of these projects
can be loaded from the Open Sample command on the Proteus 8 home page under the tutorials category.
Note that throughout this tutorial (and the documentation as a whole) reference is made to keyboard
shortcuts as a method of executing specific commands. The shortcuts specified are the default or system
keyboard accelerators as provided when the software is shipped to you. Please be aware that if you have
configured your own keyboard accelerators the shortcuts mentioned may not be valid. Information on
configuring your own keyboard shortcuts can be found in the General Concepts section of the
Documentation.
See Also:
We shall assume at this point that you have installed the Proteus 8 software package.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 2 de 64
To start the software, click on the Start button and select Programs, Proteus 8 Professional and then the
Proteus 8 application. The main application will then load and run and you will be presented with the
Proteus home page.
If you have a Demonstration copy of the software you can start the Proteus application via the Proteus 8
Demonstration tab from the Start Menu.
In order to create a schematic we must first create a project. Since this tutorial is partnered with the PCB
tutorial we will create a project for schematic/PCB.
See Also :
Start by pressing the new project button near the top of the home page in Proteus.
On the first page of the wizard specify a name and path for the project.
We need a schematic so check the box at the top of the next step and then choose the default template.
Similarly, we need a layout so check the box at the top of the layout page and again choose the default
template.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 3 de 64
We are not simulating the design so leave the firmware page blank and continue on to the summary which
should look like the following:
Further Reading:
A schematic template can contain sheet size, colour scheme, company logo, header block and various other
aesthetic presets. Further information can be found in the Templates chapter of the reference manual.
A PCB template can contain board edge, mounting holes, design rules, layer stack and various other
technology information. Refer to the Templates chapter in the PCB documentation for more information.
The project will open with two tabs, one schematic capture and the other for PCB layout. Click on the
schematic tab to bring the ISIS module to the foreground.
Guided Tour
The largest area of the screen is called the Editing Window, and it acts as a window on the drawing - this is
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 4 de 64
where you will place and wire-up components. The smaller area at the top left of the screen is called the
Overview Window. In normal use the Overview Window displays, as its name suggests, an overview of
the entire drawing - the blue box shows the edge of the current sheet and the green box the area of the sheet
currently displayed in the Editing Window. However, when a new object is selected from the Object
Selector the Overview Window is used to preview the selected object - this is discussed later.
If you don’t like the default layout of the toolbars you can pick them up and dock them on any of the four
sides of the application. Similarly you can move the Object Selector & Overview Window pane across to
the right hand side of the application by dragging the end of it all the way across to the other side.
Toolbars and menu options will switch according to which tab is active (at the front). Throughout this
tutorial when we refer to an icon or a menu command we are assuming that the schematic tab is active.
Right clicking the mouse either in the Object Selector or in the Overview Window will provide a context
menu, including the option to ‘auto hide’ the left hand pane. This is extremely useful if you want to
maximise the editing area of the application. When enabled the Object Selector and Overview Window
will be minimised to a ‘flyout bar’ at the left (or right) of the application by default and will appear either
when the mouse is placed over the bar or when the mode of operation is changed by selecting a different
icon.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 5 de 64
See Also:
Navigation of the view displayed in the Editing Window takes two forms; adjusting the scale of the
drawing (zooming) and adjusting the area of the drawing displayed (panning). These techniques are
somewhat intertwined and are discussed in more detail below:
Zooming
There are several ways to zoom in and out of areas of the schematic :
Point the mouse where you want to zoom in and out of and roll the middle mouse button (roll
forwards to zoom in and backwards to zoom out).
Point the mouse where you want to zoom in or out of and and press the F6 or F7 keys respectively.
Hold the SHIFT key down and drag out a box with the left mouse button around the area you want to
zoom in to. We call this Shift Zoom
Use the Zoom In, Zoom Out, Zoom All or Zoom Area icons on the toolbar.
Zoom Icons
The F8 key can be used at any time to display the whole drawing.
The Shift Zoom and the middle mouse zoom techniques can also be used over the Overview Window. That
is, you can position the mouse over the Overview Window and either roll the middle mouse button or use
Shift Zoom to navigate in or out of an area of the schematic.
Panning
As with zooming, there are a number of options for panning across the editing window.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 6 de 64
Click on the middle mouse button to enter track pan mode. This puts ISIS is a mode where the entire
sheet is picked up and will move as you move the mouse. The track pan cursor will indicate when
you have entered this mode. Left click the mouse again to exit track pan mode.
To simply 'pan' the Editing Window up, down, left or right, position the mouse pointer over the
desired part of the Editing Window and press the F5 key.
Hold the SHIFT key down and bump the mouse against the edges of the Editing Window to pan up,
down, left or right. We call this Shift Pan.
Should you want to move the Editing Window to a completely different part of the drawing, the
quickest method is to simply point at the centre of the new area on the Overview Window and click
left.
Use the Pan Icon on the toolbar
Note that when using the track pan method above you can also zoom in and out by rolling the mouse
wheel. So, click the middle mouse button to pick up the sheet and move the sheet by moving the mouse
and zoom the sheet by rolling the middle mouse button. Left click to 'drop' the sheet and exit track pan
mode.
It is well worth spending a few moments familiarising yourself with navigation in ISIS - it is after all one
of the most common operations you will perform. In particular, learning to use the middle mouse button
both for track pan and for zooming will save you time during schematic design.
A grid of dots or lines can be displayed in the Editing Window as a visual aid using the Grid command on
the View menu, or by pressing 'G' to toggle the grid from ‘dots’, ‘lines’ or ‘off, or by clicking the Grid Icon
on the toolbar. The grid helps in lining up components and wires and is less intimidating than a blank
screen. If you find it hard to see the grid dots or lines, either adjust the contrast on your monitor slightly
(by default the grid is displayed in light grey) or change their colour with the Set Design Defaults on the
Template menu.
Below the Overview Window is the Object Selector (sometimes known as a 'parts bin') which you use to
select devices, symbols and other library objects. We'll familiarise ourselves further with using the Object
Selector later.
Finally, at the bottom of the screen is the co-ordinate display, which reads out the co-ordinates of the
mouse pointer when appropriate. These co-ordinates are in 1 thou units and the origin is in the centre of the
drawing
Origin Co-ordinates
Note that ISIS allows you to reposition all the icon toolbars as well as move/resize the Object
Selector/Overview Window. Do be aware however, that this documentation refers to all the rebars and
windows in their default locations.
ISIS is designed to be as user friendly as possible and provides two main ways to help you see what is
happening during the design process – objects are encircled with a dashed line or ‘twitched’ when the
mouse is over them and mouse cursors will change according to function. Essentially, the object-twitching
scheme tells you which object the mouse is over (the ‘hot’ object) and the mouse cursor tells you what will
happen when you left click the mouse on that object. While extremely intuitive, a summary of cursors
used, together with their actions, is provided below:
Cursor Description
Standard Cursor - Used in selection mode when not over a 'hot' object.
Placement Cursor - Placement of an object will commence on a left click of the mouse.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 7 de 64
Hot Placement Cursor - Appears green when placement of a wire is available on left click
of the mouse.
Bus Placement Cursor - Appears blue when placement of a BUS is available on left click
of the mouse.
Selection Cursor - Object under the mouse will be selected on a left click of the mouse.
Move Cursor - The currently selected object can be moved.
Drag Cursor - The wire or 2D graphic can be dragged by holding the left mouse button
down.
Assignment Cursor - When over an object (having set the Property Assignment Tool) You
can assign the property by left clicking the mouse button.
We will see more of the different cursor types throughout the course of the tutorial.
Keyboard Shortcuts
For those customers who prefer to invoke commands and dialogues via the keyboard Proteus provides a
comprehensive and flexible scheme for assigning shortcuts. The dialogue form is invoked from the System
Menu – Set Keyboard Mapping command, where all commands and operation modes can be accessed from
the combo box at the top. Simply select the command you want, apply a key sequence and assign it to that
command
While there are few limits on shortcuts, a few standard windows accelerators are restricted as they are
global across the entire Proteus system (e.g. CTRL+S for save).
See Also:
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 8 de 64
Display Options
ISIS is capable of harnessing the power of your computers graphics card to speed up operation and present
a crisp and smooth display. However, as not all machines have sufficient graphics cards the software is
also capable of using Windows to perform display and graphical operations. The available modes of
operation are called:
If your graphics card is not powerful enough to support hardware acceleration then ISIS will simply default
to Windows GDI mode. Should your computers graphics card be capable of both Direct2D and OpenGL
the system will default to Direct2D mode as this tends to be more reliably implemented by graphics card
vendors.
Configuration of the screen display takes place from the Set Display Options on the System menu. Some of
these options are specific to a particular hardware acceleration technology and will be disabled when a
different mode is enabled.
The first section of the dialogue reports on whether your graphics card will support OpenGL and/or
Direct2D hardware acceleration and, if so, allows you to switch between graphics mode.
The auto-pan section of the dialogue allows you to control distance, smoothness and speed of pan
operations on the schematic. For example, holding down the shift key and bumping the mouse against the
edge of the window will auto-pan the screen.
The highlight animation options allow you to specify the speed at which objects become active when the
mouse is moved over them. The attack rate is the rate at which the object is highlighted and the release rate
is the speed at which the object returns to it’s default state. These options are only available in hardware
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 9 de 64
Finally, the multi-sampling combo box allows you to specify the level of anti-aliasing you want when
working in OpenGL mode. The higher the level of multi-sampling the better the anti-aliasing effect but the
more GPU resources are consumed. If you select a level of multi-sampling which is not supported by your
graphics hardware the software will reset the level to the closest one which your card can handle.
What you get with multi-sampling varies enormously between graphics cards. Some present extremely
smooth text, while with others it looks blurry and on a few it causes display issues. We would suggest you
being with multi-sampling off if you choose to work in OpenGL mode.
Configuration of colours and styles in ISIS takes place from the Template Menu. This allows to change
everything from paper, grid and highlight colours to the thickness and colour of all the object types used in
a design. Please refer to the reference manual section on Templates for more information.
DESIGN OVERVIEW
Introduction
The circuit we are going to draw is shown below. This is reasonably straightforward schematic that will
nonetheless allow us to cover most of the major features of the ISIS schematic capture package. Being a
real-world design, it will also allow users to follow the design through the PCB phase of development via
the PCB tutorial.
General Description
The dsPIC33 Data Recorder Tutorial circuit is a solid state recorder designed to collect three of the most
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 10 de 64
Atmospheric pressure
Ambient temperature
Relative humidity
A number of low cost silicon transducers with built-in signal conditioning or digital interfaces have been
used for measurement. This reduces the number of components to the minimum required for dsPIC33
interfacing.
All measurements get periodically stored into a non-volatile, low power memory in row binary format for
later transfer to a host PC either by using a serial terminal or, more properly, a simple program (not
supplied with the project). For the purpose of this project a serial terminal is used.
The circuit is designed to work with a battery for relatively long period in an unattended environment and,
as such, a particular emphasis has been given to optimizing the power consumption and consequently the
battery life. The recorder will sleep most of the time and will be woken up periodically only to accomplish
the required recording operations.
Circuit Description
The following is a block diagram showing the behaviour and interaction of the circuit components.
We’ll cover the basics of the design construction as we progress through the tutorial but in order to keep
the focus on the practical aspects of using the software, design decisions and theory will not be discussed
in this document.
SCHEMATIC ENTRY
Basic Schematic Entry
We’ll start the tutorial by familiarizing ourselves with the basics of schematic design; picking components
from the libraries, placing them on the schematic and wiring them together.
The design in question is relatively large and there is therefore a reasonable amount of drawing involved.
We provide a completed schematic at the end of this section so, if you feel that you have mastered the
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 11 de 64
basics at any point, there is no need to continue with drawing the remainder of the circuitry. We do
however urge you to read through the full contents of the documentation as we introduce important
features throughout.
The first thing we need to do is to get the parts from the libraries that we need in our schematic.
You can select parts from the library in one of two ways :
Click on the P button at the top left of the Object Selector as shown below. You can also use the
Browse Library icon on the keyboard shortcut for this command (by default this is the P key on the
keyboard).
Right click the mouse on an empty area of the schematic and select Place – Component - From
Libraries from the resulting context menu as shown below :
Either of these two methods will cause the Device Library Browser dialogue form to appear.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 12 de 64
For reference, the following is a list of all the components we will need for our design:
There are several ways in which we can find and import components from the libraries into the schematic.
In the case of parts where you would know the part name its usually best to start the search with that. Try
entering ’2N7002’ into the Keywords field on the Device Library Browser dialogue form. This gives three
components to choose from and we can then simply double click on the part in the results list to import it
into the schematic. When you do this you should notice that the part now populates the Object Selector as
in the following screenshot.
Given that we know the names of all the parts we want we could simply proceed by using this technique to
bring in all the components we need. However, this may not always be the case and ISIS provides several
methods for finding parts in the component libraries. One of the most intuitive is to use the library browser
a little like an internet search engine, typing in descriptive keywords and then browsing the results to find a
specific part. Try this now with the resistors, typing in ‘1k SMT resistor’ in the keywords field of the
library browser dialogue to locate the CHIPRES1K component (double click on the part in the results list
to import into the schematic). We could similarly search for ‘10k SMT resistor’ to find and insert the
CHIPRES10k component and so on.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 13 de 64
You can customize the information displayed in the Library Browser’s results list by right clicking the
mouse on the results list. The context menu provides you with options to display Categories, Sub-
Categories, Manufacturer and Library alongside each result.
It may be that we simply want to browse for a specific type of part and/or one available from a specific
manufacturer. To take an example, clear out the contents of the keyword field and then select the
Capacitors Category. In our design we are looking for some Nickel Barrier caps from AVX so we can
further filter the results set by selecting Nickel Barrier from the sub-category field and AVX from the
Manufacturer field. There are still a large number of caps available so we might type in ‘22p’, ‘1N’, etc. in
the keywords field to isolate and select the particular components we require (AVX0805NP022P,
AVX0805X7R1N and so on).
Whilst this exercise is a little contrived given that we are starting from a preset list of parts, the techniques
described are flexible enough to allow you to locate any library part quickly. Work through the full parts
list for the design (as provided above) now using one or more of these methods to find and select the parts
into your design. When you are finished you should have all of the required components in the Object
Selector as shown in the following screenshot.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 14 de 64
For example, if you wanted to search for a specific stockcode you would need to make sure that the
stockcode column was enabled (right click on results list) and then type something like ‘digi <stockcode>’
to locate the digikey stockcode.
Similarly, if you want to search through only your own library parts, you can simple enable the library
field and then type something like ‘user <partname>’; the user term will filter the results to the USERDVC
library thus reducing the search range to your own libraries.
Having selected the parts we need the next thing is to actually place them on the drawing area – the Editing
Window – and wire them together. You’ll notice from the screenshot that we have also split the contents of
the schematic into logical blocks of circuitry. This is partly aesthetic but also reduces wiring clutter on the
schematic and will allow us to cover the use of terminals to form connections as we work through the
tutorial.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 15 de 64
We are going to start off simply and complete the block of circuitry comprising the I2C Memory device as
shown below.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 16 de 64
Move the mouse to the desired location for the part, then left click the mouse again to ‘drop’ the part
and commit placement.
Often we need to move parts or blocks of circuitry after placement and now is a good time to cover the
different ways in which we can do that. The procedure for this should be familiar to most users; we need to
select the object(s) we want to move, left depress the mouse, drag to the new location and finally release
the mouse to drop.
Choose the Selection Icon and then left click on the object. This is a standard technique found in
most graphical applications and will tag any object. Bear in mind when using this technique that you
must change back to component mode for example, when you wish to perform other actions such as
placing components etc.
Right clicking the mouse on an object will both tag the object and present a context menu containing
available actions on that object.
Draw a tagbox around the object by depressing the left mouse button and dragging the mouse to
form a box encompassing the object to be selected. This method will work for any object (or indeed
sets of objects). Sizing handles are provided to allow you to resize the tagbox in the event that it does
not fully enclose the object. This is the technique that should be used for moving multiple, connected
objects or blocks of circuitry.
We’ll get plenty of practice moving things around as we lay out the schematic; for now just use one of
these techniques to move the memory device down towards the bottom left of the Editing Window in
roughly the same position as in the screenshot at the top of the section.
Having placed the memory device, we now need to get the peripheral circuitry down and oriented
correctly. We are going to need two 10k pull up resistors and two 100 Ohm resistors for the data and clock
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 17 de 64
lines. Additionally, we are going to need to use terminals to achieve connectivity with power, ground and
other sections of circuitry. Begin by selecting the CHIPRES10k device and click left once on the anti-
clockwise Rotation icon (shown below); note that the preview of the resistor in the Overview Window
shows it rotated through 90°.
Now place the resistor above and to the left of the memory device in the same way as before. Then, simply
left click again on the Editing Window to start placing the second 10K resistor just beside the first one.
Next, select CHIPRES100R, rotate appropriately (see above) and place two to the left of the memory
device in line with the SCK and SDA pins.
You can also rotate parts 'live' when in placement mode. Left click the mouse once to enter placement
mode (at this point you will see the component outline following the mouse) and then use the '+' and '-'
keys on the numeric keypad to rotate the component as you are placing it. Left click again to commit the
placement in the normal way.
We use terminals in schematic design simply to terminate a wire and assign a connection. Often this
connection is to either power or ground but it can just as easily be to another wire elsewhere on the circuit.
Terminals allow us both to vastly reduce actual wiring (avoiding spaghetti schematics) and to make
connections between different sheets on the schematic. To place terminals, start by selecting the terminal
mode; this will switch the Object Selector and provide us with a listing of the available terminal types.
We need a power terminal, ground terminal and also two default terminals for the connections on the I2C
bus. From this stage, placement and orientation are identical to any other object in ISIS and should now be
quite familiar. Place the appropriate terminals in their approximate locations now, such that the area around
the memory device now looks something like the following
Unless you are fairly skillful, you are unlikely to have got all the components oriented and positioned
entirely to your satisfaction at the first attempt, so now is a good time to practice moving things around as
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 18 de 64
discussed earlier. In particular note that you can drag a tagbox around a group of objects to move the lot in
one go.
Similarly, you can clear a selection (or group of selections) either by left clicking in empty space or by
right clicking in empty space and choosing the Clear Selection option from the resulting context menu
Dragging components
Remember that you can rotate while moving by using the '+' and '-' keys on the numeric keypad.
Wiring Up
Having placed all the requisite components we now need to wire them together. There are three main
techniques used to help make wiring a circuit as simple and quick as possible :
Modeless Wiring
There is no 'wiring mode' in ISIS - wires can be placed and edited at any time, without the hassle of
entering a dedicated wiring mode prior to placement. This means less mouse travel, less mode switching
and quicker development.
After starting to place a wire, the proposed route of the wire will follow the movement of the mouse
orthogonally to the termination point of the wire.
The cursor will change as a visual indicator when wiring to show when a wire can be placed, when a wire
can be terminated and when a wire is being placed.
The basic procedure for placing a wire between two pins is given below, using the connection between the
SCK pin of the memory device and the 100Ohm resistor as an example:
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 19 de 64
Move the mouse over the SCK pin on the memory device - the cursor will change to a green pen.
Left click the mouse and then move it to the left until it is over the pin of the 100 Ohm resistor. The
wire will follow the mouse and the cursor / pen is white during wiring
Left click the mouse again to commit the connection and place the wire.
The procedure for wiring onto an existing wire is almost identical but there are a couple of items to note:
You cannot directly start a connection from an arbitrary point on a wire; in our example you want to
start the connections from the pin and terminate them on the wire.
When you terminate the connection on another wire a junction dot will be placed automatically to
complete the connection.
If, during a design, you want to make a wire-to-wire connection you must first place a junction dot on the
wire and then wire from the junction dot to the other wire
If you want to adjust a wire after placement (for example, the wire from the SDA pin to the resistor) then
simply right click on the segment you want to move and then either select the ‘Drag Wire’ context menu
option or simply depress the left mouse button and drag to the new location.
Dragging a wire
Armed with the above you should now be able to connect up all of the circuitry, so that your schematic
now looks something like the following
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 20 de 64
Remember, ISIS provides visual indicators to help you. If the cursor turns green you can start/stop wire
placement.
See Also:
The final thing we need to do to complete this block of circuitry is label the terminals. Terminal naming is
extremely important as it denotes the connection to be made. We could name the terminals in any fashion
we liked but sensible names make the schematic more legible and easy to understand.
Terminal connection
Power and Ground terminals are the exception to this rule, although there is no reason not to label them; an
unlabelled power terminal is assigned to the VCC net and an unnamed ground terminal will be assigned to
net GND.
Essentially what we are doing by labeling a terminal is making a connection to somewhere else on the
schematic (a terminal with the same name) without placing a physical wire between the two objects.
As discussed previously ISIS is flexible enough to present you with several methods for editing parts -
choose your preferred method for editing the terminal from the following:
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 21 de 64
Having now launched the terminals dialogue form, type in VDD in the edit field as shown below and hit ok
to exit the dialogue form
Note that, where appropriate you should always prefix numerical terminal values with a '+' or '-'. For
example, a terminal labeled 12V is ambiguous and you should therefore ensure it is labeled +12V or –12V
Finish the job now by editing the other terminals and labeling them appropriately such that your completed
circuit block now looks like the following:
See Also:
Power Connections
ISIS supports a powerful scheme for making power connections implicitly, thus vastly reducing the
number of wires on the schematic. There are three main concepts involved that we will discuss in turn
below.
Almost all relevant parts in ISIS have their power pins hidden (not visible on the schematic). The crucial
point to remember is that in such cases is that by default the name of the pin denotes the net to which it will
connect.
See Also:
The easiest way to manage power nets and connectivity is through the Power Rail Configuration dialogue
form, which is invoked from the Design Menu. If we do this now we can see that we have three pre-
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 22 de 64
defined power supplies, namely GND, VCC/VDD and VEE. Changing the combo box at the top we should
also see that the GND net is connected to the GND supply and that both the VCC and the VDD nets are
connected to the VCC/VDD supply. It’s worth examining how this happened more closely:
Managing power nets and power supplies is a very important concept so we’ll experiment a little to re-
inforce the point. Exit the Power Rail Configuration dialogue form, right click on the I2C memory part and
select Edit Properties from the resulting dialogue form. Next, click on the Hidden Pins button at the right
hand side to view the hidden pins and their net assignments.
Let’s change the power pin to be on net VDD, instead of the default of VCC. If we then exit the dialog and
re-invoke the Power Rail Configuration dialogue and switch to the VDD/VCC power supply we should see
that the VCC net is no longer present (this was the only connection on our schematic so far).
While we are here and for completeness change the Voltage of the power supply to be 3.3V, which is
actually what we will be using. In PCB Design this is useful only as a reference to ourselves but actually
has significance in the software for simulation purposes.
This exercise, while useful in explaining how to view/change the power nets for individual components,
had no effect on design connectivity. The software is clever enough to assign both the VCC and the VDD
nets to the same supply and the Power Rail Configuration dialogue allows us to configure our power
connectivity at design level.
Returning to the schematic now, edit the VDD terminal (right click, edit properties) and change the
terminal label to ‘MY_POWER_NET’. If you go back to the Power Rail Configuration dialogue you
should see that this is now an unconnected power net (a power net which is not associated with a power
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 23 de 64
supply).
If we were doing this for real, we would now have to select the VCC/VDD power supply and then click the
assign button to map our power net onto the correct supply.
If we had simply removed the label from the power terminal (instead of renaming it), it would have been
designated to the VCC net and again everything would be done for us.
A final point worth noting is that new power supplies are created automatically when you label a terminal
with a voltage. For example, labeling a power terminal +12V would create a +12V supply and assign the
+12V net to the supply automatically. This means again that no action is required by the user.
In general usage therefore, the software will handle the assignments of power nets to power supplies and
will create new supplies automatically. However, if you need more flexibility (for example, an analogue
ground and a digital ground) then using terminal labels and the Power Rail Configuration dialogue gives
you the control you need. Please see the reference manual for more information if required.
Let’s change our terminal label back to VDD for consistency before we move on.
See Also:
Power nets and connections are always global on a given sheet on the schematic. By default, they are also
global to the design. However, if you do have a multi-sheet design and you want separate power supplies
on different sheets you can isolate the supplies by un-checking the Global Power Nets box (Design Menu -
Edit Design Properties dialogue form). This means that you need to explicitly wire through the sheets on
the design but not within a given sheet. It is typically used only for the most complex of designs and is not
relevant for the purposes of this tutorial.
You should see that all the parts you have placed have both a unique reference and a value. A unique and
sequential annotation is assigned to components as you place them on the schematic, although you can re-
annotate manually if you need to.
You have full control over the position and visibility of part labels – you can change the values, move the
position or hide information that you feel is unnecessary. The discussion below details how to manipulate
part labels on a per component basis.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 24 de 64
If you zoom in on any resistor you have placed you will see that ISIS has labelled it with a unique
Reference (e.g ‘R1) and also with a Value (e.g. ‘10k’). You can edit both these fields and their visibility
via the Edit Component dialogue form. Launch this dialogue form now by double clicking the left mouse
button over the resistor (or using one of the alternative methods discussed previously).
From the resulting dialogue form you can edit both the part name reference and, in this case, the resistance.
Of more interest to us however, is the visibility options (highlighted in the above screenshot). It can be
useful, particularly in densely populated schematics to hide some details displayed beside the parts – the
trade off being that you would then need to edit the part as above to see it’s reference and value.
At this stage it is worthwhile familiarising yourself with editing components and hiding and showing
references and values.
Some caution is required when changing part references in this manner. If, for example, you change ‘R1’
to be ‘R2’ then you will have two parts with the same reference on the schematic. This will cause netlist
errors when working in the PCB module. If, however, you re-annotate using the new button on the edit
component you are guaranteed a unique part reference.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 25 de 64
Similarly, the Global Annotator (discussed later in the tutorial) will always avoid duplication of part
references.
As well as the ability to hide part labels you can move them to a more convenient place. This is commonly
used where you might want to place a wire over the current position of the label and need to free up some
screen space. We will try this now with the 'R2' and the '10k' labels on the pull up resistor, moving them
across to the other side of the component body.
Start by selecting the resistor. Now point at the label 'R2' and with the left button depressed, drag it to its
new position to the left of the component body. Then do the same with the '10k’ label.
Dragging a reference
Armed with all of the basic techniques we can now look at the other blocks of circuitry on the front sheet
of the design, practice what we have covered so far and introduce a couple of new timesaving techniques.
Let’s start by drawing the dsPIC33 block as shown below:
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 26 de 64
You should be able to tell which components go where by comparing the component names in the Object
Selector to the parts labels on the screenshot above. For clarity however, you can use the following table as
a reference:
Begin by placing and wiring the oscillator and power sections (left hand side) of this circuitry using the
methods outlined in the previous sections. When you are ready we’ll look at the right hand side, where we
can use a couple of additional features to speed up the process.
ISIS has a very useful feature to help with schematic wiring when we are laying out a series of
topologically identical wires. Essentially, it allows us to auto-repeat the last wire placed to form a new
connection.
Start by rotating and placing a couple of the terminals to the right of the processor.
Now drag a box around the terminals and select the block copy command; this will allow you to quickly
copy out three more sets of terminals ready for connection. Right click the mouse when you are finished to
exit block copy mode
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 27 de 64
Wire up the first connection from pin 4 (RB0) of the dsPIC to the terminal exactly as we discussed
previously. Instead of repeating the process for the other seven connections simply hover the mouse over
the next pin down (so that the cursor turns green) and double click. This will auto-repeat the previous
connection, allowing you to rapidly wire up the other lines.
Note that this technique works by placing an identical wire to the one placed directly beforehand. It
follows that the destination must be exactly the same distance away (i.e. aligned) and that you must
perform the operations consecutively
We can now complete this section of circuitry, placing and wiring up the remaining components and
labeling the terminals as per the screenshot at the top of the section. Note that a list of existing terminal
label names is available as a drop down list from the Edit Terminal dialogue form (refer to the section on
labeling terminals if you need a reminder).
It is highly recommended that you use this where applicable as it avoids the potential to make typing
errors. Remember that terminal names donate connections so care should be taken during labeling.
You should be getting quite proficient at basic schematic entry now and the other three small blocks of
circuitry on this sheet should present no problem. When you are finished your schematic should look
something like the one below:
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 28 de 64
If you feel comfortable with the topics we have covered to date, you can skip some of the drawing and load
a pre-supplied completed schematic later in the tutorial
As a final point it is worth re-emphazing that you can re-arrange or move blocks of objects at any time by
tagging a box around them and dragging them to the desired location.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 29 de 64
It is increasingly common in larger designs to split the schematic into multiple sheets. This serves both to
reduce clutter on the schematic and also to organize the design into logical blocks. ISIS fully supports this
methodology and we have arranged our tutorial design into two sheets in order to cover the relevant
procedures. The work we have done so far has been to complete the first sheet (processor, sensors and
memory circuitry), meaning we still need to cover the analog and power circuitry. We’ll do this on a
separate sheet.
While beyond the scope of this tutorial it is worth mentioning that Project Clips provide a method for re-
using logical blocks of design and layout. More detail is in the reference manual and a short tutorial movie
is linked below.
See Also:
To add a new sheet to the schematic we simply invoke the command from the Design menu as shown
below.
Before we lay out the circuitry on this sheet we need to do a little housekeeping. While it’s not necessary it
is often helpful to name the different sheets on the schematic and also to order them in some sensible
fashion. We can do both of these things via the Edit Sheet Properties command on the Design Menu.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 30 de 64
The Sheet Title is what will be displayed and should therefore reflect the contents of the sheet. In our case
let’s name it ‘Analog, Reference & Power’.
Sheets on the schematic are organized by Sheet Ordinal and by default these are 10, 20 and so on. A sheet
with an Ordinal of 20 will therefore appear behind the first sheet (default Ordinal 10). If you prefer purely
numeric nomenclature we can change the sheet name to be ‘2’, to better reflect it’s position in the design
structure.
The default sheet names may seem inconsistent. This is because ISIS also has a Master Sheet, present in all
designs, which allows the application of a company logo, revision number, author and other schematic
information. This is beyond the scope of this tutorial but more information can be found in the Templates
chapter of the accompanying reference manual (Help Menu – ISIS Help).
Sometimes, it is desirable to have a base annotation for a sheet; this means that the global annotator will
increment from the value entered in this field. For example, if we set this to be 100 then the first resistor
placed on the sheet would be annotated as R100. When left at it’s default value the global annotation will
continue from it’s current position – this is fine for the purposes of the tutorial.
Before exiting, your dialogue form should now look something like the following:
For completeness we should also follow this process for the sheet we have just finished laying out. Before
we can change the properties of a sheet we must first navigate to that sheet in the design and ISIS provides
several ways to do this :
From the Design Menu select Root Sheet 2 at the bottom of the menu,
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 31 de 64
From the Design Menu, select the Goto Sheet command, select the sheet and click OK to switch to
that sheet.
Use the PGUP and PGDOWN keyboard shortcuts to navigate between sheets. These cycle up and
down the sheets respectively, although for a two sheet design they will seem to have the same
function!
The Design Explorer is also a powerful way to navigate the schematic – this is covered in the Design
Verification section of the tutorial and in more depth in the reference manual.
Once you find yourself back on the sheet we have laid out simply repeat the process above, with a sheet
title of ‘MCU, sensors and memory’ and a sheet name of ‘1’.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 32 de 64
Sheet 1 properties
You should now see correctly organized and labelled sheets at the bottom of the Design Menu
Now that we have taken care of the naming, let’s navigate back to our blank sheet and lay out the analog
circuitry. The following screenshot shows the circuit we need to draw.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 33 de 64
As we can see, there are three logical blocks of circuitry; a reference generator for the ADC module, an
analog buffer for the pressure channel and a DC/DC converter to provide 5V from the 3V battery to the
other two sections on each pressure sampling time.
If you feel that you need more practice then you can use all of the techniques we have covered so far to
complete the schematic. Alternatively, if you are comfortable with the basics of schematic entry we will
load a pre-supplied completed schematic in the next section. Regardless, there are a couple of points of
note that are worth emphasizing.
Firstly, connectivity between sheets is achieved by having terminals with the same name on both sheets.
From the screenshot above you can see the named terminals and, switching to the first sheet, the
corresponding terminals with the same name. This technique allows signals to propagate not only across a
sheet but also across sheets.
See Also:
Secondly, it is possible when placing wires to ‘guide’ the wire placement as you place the wire. This is
achieved by left clicking the mouse as you change direction, placing an ‘anchor’ to help the follow-me
algorithm place the wire the way you want. Typically, this is useful on more complex wire trails but we
can look at a simple example for the purposes of illustration.
Consider the connection between the negative input of U4:B and resistor R18 as shown below.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 34 de 64
If we delete this wire (right click and select delete), we could replace the connection in the usual way and
the follow-me algorithm would make a decent job of it. However, if we wanted to be more precise we
could proceed as follows:
Hover the mouse over the negative input such that it turns green and then left click to start wire
placement.
Move the mouse along to the left and then left click the mouse once to place an ‘anchor’.
Move the mouse up, left click to place an anchor, then right, left click to place an ‘anchor’ and
finally down onto the wire between the op-amp output and resistor.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 35 de 64
This technique constrains the follow-me algorithm and provides greater control during wire placement. If
at any time during placement you change your mind and wish to remove an anchor simple right click the
mouse once. Finally, if you want to completely disable the wire-auto-router and, for example, place a wire
at 45 degrees, simply hold the CTRL button down on your keyboard during placement.
Gateswap
Now that we have a multi-element placed (LM358 dual op-amp) it's a good time to look at gate-swapping
on the schematic. The reference for a multi-element part reflects both it's part reference (e.g. U4) and also
it's gate element identifier (e.g. A) as shown below.
Start by editing one of the LM358 gates (right click - edit properties) to bring up the Edit component
dialogue form.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 36 de 64
To swap the gates we are switching the element identifiers (A and B) on a single part (U4). The element
field of the dialogue conveniently contains a combo box will all available gates so all we need do is change
the element and hit OK to commit.
On schematic this switches the gates over according to the change specified in Edit component.
See Also:
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 37 de 64
PCB Layout
Preparing for PCB Layout
Now that we have completed the circuit we need to give some thought to PCB Layout and the information
that we are going to provide from the schematic. A netlist basically consists of a set of footprint names
(packages associated with schematic components) and connections (wiring on the schematic), although we
can make things easier for ourselves later on by providing additional information.
If you do not have a completed schematic at this point or wish to work with the pre-supplied schematic you
can load it via the Open Samples command on the Proteus home page. The file name is
dsPIC33_REC_SCHEMATIC.pdsprj
Packaging Considerations
Ideally, each component in ISIS should be associated with a footprint in the PCB editor (ARES). While
you can do this at the point of placement in ARES best practise would be to sort this out in the schematic.
Fortunately, the Proteus system provides a large set of pre-packaged components where this work is all
done for us. As a case in point, the schematic we have just created requires no alteration or packaging work
as the parts we have selected from the libraries already have footprints assigned to them.
However, it is possible that you may want to change the footprint associated with a part (e.g. PTH to
SMT). We’ll use the current schematic as a playground to explore how we can view and change packages
to components.
The footprint for a component is simply a property of the component in ISIS. We can therefore easily view
the footprint by editing the component. Try this now by right clicking on one of the resistors on the
schematic and selecting Edit Properties from the resulting context menu. You should see that there is a
PCB Package property on the dialogue form and that the part is packaged with a standard 0805 footprint.
You can also see what the default footprint is for a component at the time you select it from the libraries.
At the bottom of the Pick Devices dialogue form a preview of the footprint is shown for the currently
selected component.
For convenience, components in ISIS often have packagings for more than one footprint. For example, if
you launch the Edit Component dialogue form for the dsPIC33 component you will see that you have the
option of either an SO18W or a DIL18 footprint. In this case the designer can simply change the footprint
if required via the Edit Component dialogue form.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 38 de 64
Launch the Edit Component dialogue form by right clicking on the resistor and selecting Edit
Properties from the resulting context menu.
Click on the question mark to the right of the package property to launch the footprint browser
Clear out the text from the keywords field and then use the filters on the left hand side to narrow
down the selection. We will want to select the ‘Discrete Components’ category with type ‘Through
Hole’ and Sub-Category ‘Resistors’. We can then select for example the ‘RES40’ footprint and click
OK to commit.
You should now see that the RES40 is listed as the PCB Package for the component in ISIS.
See Also:
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 39 de 64
Connectivity Considerations
When we transfer our schematic to the PCB Layout software (netlist) all of the wires and connections are
grouped into nets and passed through. ISIS actually does quite a lot of work for us behind the scenes at this
point, automatically generating numerical names for the nets and also assigning the net to a default ‘net
class’.
A group of connections which include a named terminal will be assigned a net name according to the
name of the terminal.
A group of connections which include an unnamed ground terminal will be assigned to the GND net.
A group of connections which include an unnamed power terminal will be assigned to the VCC net.
Any other group of connections is given an auto-generated numerical name.
What this means in practice is that all the work is done for us here; there is no real need for us to get
involved in naming groups of connections. It is important however, that we understand the rules for
unnamed ground and power terminals. If in any doubt, you should always name your terminals explicitly.
If a net does not have a name from a terminal you can if you wish explicitly name a net by placing a wire
label with syntax (NET=NAME). This is useful if you wish to place a power plane on the net in ARES and
otherwise helps to distinguish the net from other nets with auto-generated names.
A ‘net class’ is simply a group of nets which will have common properties in the PCB Layout.
Specifically, all connections in a net class will have the same trace width and will obey a single set of rules
with regard to clearances and design rules. Again, ISIS will do a considerable amount of work for us and
will assign net classes as follows:
Any net with a power or ground terminal is assigned to the POWER net class.
Any net with a bus is assigned to the BUS net class.
Any other net is assigned to the SIGNAL net class.
This gives us quite a bit of flexibility during PCB layout as we can define different trace widths, via styles,
clearances and so on for each net class. Sometimes, however, we will need a particular set of conditions for
particular connections. ISIS allows us therefore to create our own net classes and these will then be passed
through to the PCB Layout software, allowing us to define routing and clearance properties specifically for
those connections.
Let’s take an example. On the tutorial schematic consider the output of the DC/DC converter on the
Analog sheet of our design. This is the 5V switched power supply for the analog circuitry so we really
want to lay this out with a track width smaller than that on the POWER net class but larger than on the
SIGNAL net class. The procedure for specifying a new net class is very straightforward.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 40 de 64
Left click the mouse on a wire we wish to assign the net class to. Any wire on the net will do – in our
case let’s place it between the output of the MAX1724 and the SW_PW terminal. You will see a
small ‘x’ under the cursor when the mouse is over the wire.
Left click the mouse over the wire to launch the wire label dialogue form. Then simply type in
‘CLASS=ANSW’ to assign the net class.
If you have completed drawing the schematic follow this procedure now to add the net class; this will
already be in place if you have loaded our pre-supplied schematic. If you work through the PCB layout
tutorial, you'll see how to configure routing styles and design rules for the net class.
See Also:
Design Verification
Design Verification
It is always a good idea to spend a little time checking the schematic before we move through to PCB
layout. ISIS provides a unique and extremely powerful tool in the form of the Design Explorer that will
help us catch any errors before we sign off on the schematic phase of design. In this tutorial we will
introduce the tool and cover some basic functionality but we do recommend that you read the section in the
reference manual (Help Menu – ISIS Help) and spend some time familiarizing yourself with it’s many
capabilities.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 41 de 64
Note that what you see in the Design Explorer throughout this section will depend on whether you have
drawn the schematic yourself or loaded the pre-supplied one from disk.
The Design Explorer can be launched from top level application module toolbar and will appear as a
separate tab inside the Proteus application.
It is worth mentioning that, in terms of your Proteus workspace, you can detach tabs into separate frames.
This is particularly useful if you want to view more than one module at the same time and have two
monitors or a lot of space on screen. To split a tab onto it's own frame simply drag and drop it onto an area
of free space. This will allow you to view both the Design Explorer and the Schematic at the same time.
Alternatively, if you do prefer to work with tabs in a single frame you can quickly cycle between tabs
using the standard Windows CTRL+TAB keyboard shortcut.
Once launched and in it’s default mode, you should see a dialogue form that looks a little like Windows™
Explorer. The left hand pane displays the sheets and the right hand pane displays the contents of the
currently selected sheet. Clicking on another sheet in the left hand pane will force the right hand pane to
show the contents of that sheet selected.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 42 de 64
The Design Explorer has two distinct modes; partlist mode and netslist mode. The former will show a
physical representation of the sheets (the components on a sheet) whilst the latter will show how the design
is organized into groups of connections (nets). You can switch between the two modes via the Design
Explorer Icons.
Since we are in partslist mode by default let’s look at what we can do from there. You may remember that
earlier in this topic we discussed how to check the packaging for a single part. The Design Explorer shows
us the bigger picture and allows us to make a global check of the packagings on the design at a glance. All
of the footprints used are displayed beside their schematic reference at the far right hand side of the right
hand pane so all we need to do is scan down the list to make sure everything is packaged, switch sheets
(via the left hand pane) and repeat the process. If a part on the schematic did not have a footprint assigned
it would have bright red text stating 'MISSING' in this field to highlight the potential problem.
A quick scan will immediately show that we do not have a packaging associated with the LED schematic
part. Right click on the Design Explorer on the line with the LED and select Goto Schematic Part from the
context menu
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 43 de 64
This will zoom the schematic around the part and tag it for editing. Simply right click on the highlighted
part and select Edit Properties in the normal way. We could follow the procedure that we discussed earlier
to find a suitable footprint but in this case take it as a given that it is named LED and simply type in LED
in the PCB Package field of the dialogue form.
After making the change, the Design Explorer will live update to reflect the current status of the schematic.
Now, simply follow the same procedure as above to change the footprint to an 0805.
We can also use the Design Explorer to investigate the connectivity of the schematic – for this we need to
switch into netslist mode via the icon at the top left of the dialogue form. This will give us a view as shown
below.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 44 de 64
The first point to note is the net names which, as we discussed earlier, are either named according to
terminal or label or simply assigned a number if the net consists only of wire connections. We can right
click on any net to view it’s connections on the current sheet by selecting the ‘Goto Schematic Net’ option
from the resulting context menu. This is particularly useful when we want to check single pin nets for
example, or if we want to name a net manually (see the section on connectivity considerations earlier in the
tutorial). Finally, where we have a net or nets grouped with a named net class (far right column on the right
hand pane) it can be useful to check our assignments.
The Design Explorer is an extremely powerful tool and has many different uses throughout the lifecycle of
a typical project. In particular it can be used as a link between the schematic and the PCB, facilitating
cross-probing and PCB lookup. We recommend that you read and work through the chapter in the
reference manual (Help Menu – ISIS Help) for more information.
See Also
Bill Of Materials
Bill of Materials
Constructing a Bill of Materials is an often necessary but frustrating task at the end of the schematic design
phase. Fortunately, ISIS provides a completely flexible scheme which allows you to include as much or as
little information as required.
Let’s start by looking at the default Bill of Materials Output. Launch the Bill of Materials module from the
application module toolbar at the top of Proteus
The section at the top of the report is taken from the Design Properties Command, which you can find on
the Design Menu in ISIS and modify accordingly.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 45 de 64
Bill of Materials categories control the grouping of parts in the report and work by comparing the reference
prefix of the components. For example, all resistors have a prefix of ‘R’, capacitors a prefix of ‘C’ and IC’s
a prefix of ‘U’. Similarly, Bill of Materials Fields control the content of the report with each field
contributing a column.
Both fields and categories can be created, edited or deleted directly from the left hand control panel on the
BOM report.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 46 de 64
Let's work through a couple of examples. First, we'll order all our parts from Digikey so let's specify a
supplier in the BOM. To do this, we need a new field.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 47 de 64
BOM Fields
Launch the BOM Field editor by clicking on the Add button underneath the Fields listing.
The 'Add' button enters the Edit BOM Fields dialogue form
If you are adding a field that you have previously defined then you select it from the drop down combo box
at the top of the dialogue form. However, since we have not defined a SUPPLIER property before click on
the new button to create a property definition.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 48 de 64
Property name is SUPPLIER, description can also be Supplier and Type is String.
We don't need to prefix or suffix values and this is not a numerical property so sub-totals are meaningless.
Click on the OK to exit the dialogue form and create the property.
At this point the BOM has switched to the Property Editor tab which is essentially a grid view of the data
in the report. We need to add information for each component in the Supplier column. We could do this
individually but since all of our parts are coming from a single supplier it's far easier to use find/replace.
Left click on the supplier column and then either use the CTRL+F shortcut or click on the find/replace
icon.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 49 de 64
Leave the find edit box blank (we are entering data into blank fields), type Digikey in the Replace edit box
and make sure that the current column only checkbox is selected.
Hit the replace all button to enter the data. You should see that all of the fields in the Supplier column are
populated and coloured in blue.
The blue indicates that the changes have not yet been committed; if you have made a mistake the clear
pending changes button will revert your edits. When you have reviewed your changes use the Apply
Changes button at the top to commit.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 50 de 64
If you switch back to the HTML View of the report you should now see the information you entered in the
report.
Also, if you return to the schematic and edit a component the data will be present there as well.
Changing the data in the edit component dialogue form will live update the BOM report.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 51 de 64
This process can of course be repeated as required with other properties such as RoHS, MoQ, Lead Time,
etc. More practical examples and detail can be found in the Bill of Materials reference manual (accessed
via the Help Menu in BOM Module).
Note that property changes are applied locally to the schematic components and not to the library parts. If
you want to update your parts with newly entered information then run the 'Compile to Library' command
from the Library menu. This will put all components in the design (along with their new properties!) into a
library of your choice.
Having configured the information on the BOM you can generate the report from the export options from
the icons at the top.
It is beyond the scope of this tutorial but you also have full control of the colour and styling of the report.
This works via the customize stylesheet button at the top of the HTML view and is discussed in detail in
the BOM Reference manual.
Printing
To print the schematic, first select the correct device to print to using the Printer Setup command on the
File menu. This activates the Windows common dialogue for printer device selection and configuration.
The details are thus dependent on your particular version of Windows and your printer driver - consult
Windows and printer driver documentation for details. When you have selected the correct printer, close
the dialogue form and select the Print option on the File menu to print your design. There are a number of
options available on this dialogue form, all of which have context sensitive help and are also discussed in
more detail in the reference manual under Hard Copy Generation. For our purposes we will simply center
the schematic output on the page and print. Do this now by right clicking on the Print Preview and
selecting the Position Output at Center option as shown below.
You can also export the schematic directly in PDF format from the Output Menu (no driver installation
required).
The current schematic is now ready for board layout so if you have purchased a Proteus PCB Design
package you can move straight onto the accompanying tutorial booklet for ARES.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 52 de 64
See Also:
If a part you need to use in your design is not present in the pre-supplied libraries you may need to create it
yourself. Alternatively, you may wish to permanently adjust the properties or footprints of an existing
component. This section of the documentation starts from the basics of creating a new device and covers
the entire process through to storing the new part in the library.
For our example part lets assume that we want to create a Microchip MCP23008 I2C expander. The first
thing we need to do is to create a graphical representation of the part on the schematic. When we are
finished it should look something like the following:
Select the 2D Graphics Square icon and make sure the component style is selected in the Object
Selector.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 53 de 64
Move the mouse until the rectangle is around the size of the part that you want. It’s better to make
this slightly larger than might be required as we can easily resize it later.
Left click again to complete placement of the graphic.
ISIS supports a powerful graphics style system of local and global styles and the ability of local styles to
follow or track global styles that allows you to easily and flexibly customize the appearance of your
schematic. See the section Graphics and Text Styles in the online reference manual for a complete
explanation of how styles work and how they are used.
Select Component pin mode and make sure that you have the default pin type selected in the Object
Selector.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 54 de 64
Left click the mouse on the schematic to begin placement. The small cross at the end of the pin
indicates the side of the pin that will be wired to so it is important that this is outward facing.
Move the mouse so that the other end of the pin touches the edge of the component graphic and left
click again to place.
A new pin is automatically primed for placement so simply move the mouse down slightly and left
click to place again.
Repeat the process down the left hand side of the component graphic using the completed screenshot
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 55 de 64
as a reference.
Move the mouse across to the right hand side and use the plus or minus keys on the keyboard to
rotate the pin under the mouse until the cross at the end of the pin is facing outwards.
Repeat as of stage 3 to place the pins down the right hand side of the component.
Right click the mouse when you are finished to exit pin placement mode.
At this stage your component graphics should look something like the following:
The actual positioning of the pins is of course somewhat aesthetic and you may prefer to have different
groupings to those we have chosen.
Now that we’ve placed the pins we may need to adjust the size of the component body. If you need to
adjust the size of the component body to better fit. To do this, click on the Selection Mode icon and simply
left click on the edge of the component body, then left depress the mouse on one of the nodes, drag to the
new size and release the mouse to commit.
This works much like any other graphics package. For example, if you right click along the bottom you can
drag up and down and if you right click on an edge and you can drag diagonally. Make sure however, that
you do not leave any of the pins ‘hanging’ (not touching) when you do this, else you will have to
subsequently move the pins back onto the component edge.
If you want to make fine adjustments you may need to adjust the Snap level – these options are available
from the View menu in ISIS (defaulted to 0.1in) and are discussed in more detail in the reference manual.
Now that we have the basic shape of the part we need to add names to the pins. This can be done as
follows:
Right click on the pin at the top left of the component and select Edit Properties from the resulting
context menu.
Type in the name of the pin (SCL), the default pin number (1) and the electrical type (INPUT). You
can use the other options to control visibility but for our purposes the defaults are fine.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 56 de 64
Hit the Next button at the bottom to switch to the next pin in the list and repeat the process – the
schematic will update to show which pin you are editing. If you are unfamiliar with this part and
don’t therefore know the electrical type of the pin simply leave it as the default Passive type.
When you get to the RESET pin you’ll need to add an overbar. Do this simply by adding a dollar
(‘$’) prefix and suffix to the name.
You may have noticed that there is a significant omission from the schematic part as we have drawn it so
far, namely that there are no physical power pins on the device. Since we do not need to wire power nets
explicitly we do not need a physical pin for the component. We need only ensure that the power pins are
handled correctly with respect to the physical PCB footprint and we’ll discuss this in more detail in the
next section. It is worth noting however, that while it is very common to have non-physical power pins in
order to reduce clutter on the schematic, you may have a preference for everything to be explicitly wired.
In this case you could simply add two extra pins and name them VDD and VSS respectively.
Our final task now is to make a device from the composite graphics and pins that we have placed. Start by
drawing a tag box around the entire graphic (right depress the mouse and drag the selection box). Next,
right click the mouse inside the selection box and select the Make Device option from the resulting context
menu.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 57 de 64
This presents us with the Make Device dialogue form, where we can customize the part. All fields
throughout this wizard have context sensitive help associated with them, accessed by clicking on the
question at the top right and then on the field in question. However, the only items we need to deal with
here are the Device Name and the Reference Prefix. The device name should be MCP23008 and the
reference prefix should be ‘U’.
The reference prefix serves to categorize parts for Bill of Materials Output and is also used in annotation.
These are fairly standard across the industry with ‘R’ denoting resistors, ‘C’ for capacitors, ‘U’ for IC’s
and so on.
Use the Next button at the bottom of the dialogue to move onto the next screen.
Adding Footprints
In a previous section of the documentation we saw how to quickly add a footprint to a schematic part. This
is useful for small passives and simple parts but, when we are creating a device we need to follow a more
complete procedure. This ensures not only that we have a correct mapping between the pins on the
component and the pads on the footprint but also allows us to better handle power pins.
From the screen on the Make Device dialogue form click on the Add/Edit button to launch the Visual
Packaging Tool. The first thing we need to do is to find the footprint we want to use so click on the Add
button at the top of the dialogue form.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 58 de 64
This brings up the package browser dialogue which we covered earlier in the documentation. Assuming
that we want the surface mount package, type SOP18 in the Keywords field and then double click on the
part in the results list to select it.
The Visual Packaging Tool will now look something like the following screenshot.
There are several points of note here. Firstly, the pads in the preview which are white are deemed to be
mapped onto component pins. This has happened as we have correctly specified the default pin numbers
when we edited the pins earlier on (pad name maps onto pin number when present). If we had chosen to
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 59 de 64
leave the pin number fields blank we would have to map all of the pins in this dialogue form.
Secondly, we can see that there are three pads (7, 9 and 18) which are not mapped onto component pins.
Normally we would have the datasheet beside us to get the footprint mappings but in this case pin 7 is an
NC pin, pin 9 is the VSS pin and pin 18 is the VDD pin.
The NC pin is easily handled – simply type 7 in the field for NC Pins. Notice that the preview on the right
hand side will update to show that this pad is now considered dealt with.
We now need to add two ‘virtual’ pins for the power pins. These are pins which don’t need to be on the
schematic (their connection is made implicitly according to their name) as they will add unnecessary
clutter, but do need to be mapped onto pads in the footprint.
If you are in any doubt regarding power nets and connections please see the section earlier in the document
on powering the circuit or consult the reference manual.
Click on the Add Pin button underneath the grid, type VSS to name the pin and then repeat the process for
the VDD pin. Remember that connections to these virtual pins are made according to their name so make
sure that you name them correctly.
Having created the pins we assign them to pads on the footprint as follows:
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 60 de 64
We should see that all the pads on the footprint are now highlighted, indicated that the part is fully
packaged. Simply hit the ‘Assign Package’ button at the bottom of the Visual Packaging Tool to commit
and return to the Make Device dialogue form.
It is possible (and extremely useful) to have more than one packaging for a given component. We could,
for example, follow the exact same procedure to add a DIL18 footprint to the component. Where more than
one packaging exists you can specify the one which will be used by default by checking the default box
underneath the package name in the Visual Packaging Tool.
Click the next button at the bottom of the dialogue form to move onto the Property definitions section.
See Also:
Adding Properties
This screen allows us to add component properties to the device. We looked at doing this on a particular
instance of a device (the part on the schematic) earlier in the documentation; the difference is that
properties entered here will be stored in the master library part and therefore available every time we use
the part in a design.
We can see that the PACKAGE property is already defined – this was what we configured visually on the
previous screen
Start by clicking on the New button at the bottom left and then clicking on Blank Item.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 61 de 64
On the right hand side fill out the name as ‘ROHS’ and the description as ‘RoHS Compliant’
The next field is the data type which in our case is a simple Boolean (Yes/No) – select this from the
drop down list.
Change the Default value to be Yes and leave the visibility defaults as they are.
If you want to add more properties (e.g. MoQ, Price, Code, Supplier, etc.) simply repeat the process above.
Alternatively, the Bill of Materials provides a convenient way to apply data to schematics as discussed
earlier in the tutorial. Finally, for complete control or if you are doing this on a large scale, we recommend
you read up on ASCII Data Import in the reference manual.
Click the next button at the bottom of the dialogue when you are finished to move on to the next screen.
Attaching a Datasheet
This screen allows us to attach a datasheet to the part we are creating. To do this we would need to enter
the filename for the datasheet and then configure the path as required. As we don’t have a datasheet handy
we’ll ignore this step but the following screenshot shows an example of how we would set it up.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 62 de 64
The main advantage of working through this step is to have the datasheet handy when you place the part. If
present, you can simply edit the component and click on the Data button at the right hand side.
For convenience, we have configured many of our library parts with datasheets which you can download
from our web server via this button.
The final screen allows us to categorize our part and choose which library we will place it in. As we have
seen earlier in the tutorial the part description and the categories are used as filters when finding and
selecting parts from the library so it is worth giving some thought to your description. An example of what
you might enter is shown in the following screenshot.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 63 de 64
When you are finished simply click the OK button. You will be prompted to replace all instances of the
device on the schematic – this allows you to update the current design if you are modifying a part which
already exists on the schematic.
Finally, if you now select the part from the Object Selector and edit it’s properties you should see
something like the following screenshot.
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014
Introduction Página 64 de 64
It is also possible to create multi-element parts in ISIS. While beyond the scope of this tutorial these are
covered in the reference manual.
See Also:
file:///C:/Users/Vinicius%20Araújo/AppData/Local/Temp/~hhC481.htm 24/03/2014