This is only a preview of the January 2019 issue of Silicon Chip. You can view 40 of the 112 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Items relevant to "DAB+ Tuner with FM & AM and a touchscreen interface!":
Items relevant to "ATtiny816 Breakout and Development Board with capacitive touch":
Items relevant to "Zero Risk Serial Link":
Items relevant to "The PicoPi Pro Robot":
Purchase a printed copy of this issue for $10.00. |
“Hands On” review and tutorial by Tim Blythman
Aimed at “makers” and electronics hobbyists, CircuitMaker
is free circuit and PCB design software, from the creators of
professional PCB software Altium. In fact, if you have used
Altium, you will find CircuitMaker familiar. If you haven’t designed a PCB before,
but want to, it’s a great way to get started. This article goes through the all steps from
installing the software to producing the files needed to manufacture your PCB.
W
e use Altium Designer for PCB design here at SILICON CHIP. You may recall our review of Altium
Designer 18 in the August 2018 issue (siliconchip.
com.au/Article/11189). But Altium also produces another
piece of software named CircuitMaker, which is also EDA
(electronic design automation) software but is targeted at
hobbyists and “makers”. And while Altium Designer costs
quite a lot to buy, CircuitMaker is free!
While this sounds like a great deal, there are, of course,
some restrictions. All projects are stored in Altium’s
“cloud” server, and are also available to be viewed by anyone who has a CircuitMaker account. Anyone can make
a copy of someone else’s project and add it to their own
collection.
Such projects may also be subject to open-source licensing restrictions; these vary, but you may be required to
make your design files available if they have been derived
from another open-source project.
As you might expect, CircuitMaker does not have all the
features that Altium Designer boasts. For example, it doesn’t
have support to simulate the circuit that you draw. But it
still has pretty much all the features you need, including
an advanced auto-router.
This is an introduction to using CircuitMaker,
suitable for those who are new to EDA
software.
We’re going to
assume that
you’re fairly comfortable with computer software
in general, and
we will point
out some of the
things we noticed
along the way.
As with many
Altium products,
CircuitMaker is re78
Silicon Chip
stricted to the Windows operating system (version 7 or later), although you can browse and view projects from the Circuit Maker website in a browser on many other platforms.
You might like to have a look at some of the projects
that have been created by others now. These can be found
on CircuitMaker’s project page, at: https://circuitmaker.
com/Projects
A brief introduction to EDA
With a modern EDA tool, the design starts with a process
called “schematic capture”, ie, drawing the circuit diagram
in CircuitMaker. It mainly involves placing components
on the schematic and then drawing wires to connect them
in the desired fashion.
While you are doing this, the software is generating a
“netlist”. Each connected group of wires is called a net and
is given a unique designation (name). Circuit simulation
programs also use netlist files; while CircuitMaker does
not have this feature, Altium Designer 18 does.
Each component on the circuit is also assigned a “footprint”. This is a representation of the physical component
and is used in the later PCB layout stage.
A given component can have many different footprints
associated with it (such as SOIC and DIP for an
IC). While these may
look the same in
the schematic,
they require different handling
on the PCB.
Once the schematic is complete,
it is transferred to
the PCB layout editor, populating the
blank PCB with all
the required component footprints.
These can then be
dragged into place
Australia’s electronics magazine
siliconchip.com.au
Fig.1: the Layer
Stack Manager tells
CircuitMaker how
the PCB is going to
be assembled. This
default view shows
how a typical doublesided PCB is made.
The Gerber files
produced at the end
of the process consist
of one file for each of
these layers, plus an
eighth which dictates
where holes are to be
drilled.
on the PCB and connected by tracks and vias.
A design rules engine ensures that manufacturing tolerances are maintained (such as minimum track separation)
and confirms that all nets have been properly routed.
The traces on the PCB can be routed manually or an autorouter can run the tracks automatically. While auto-routers
keep getting better, they don’t always produce ideal results.
The final stage is to export the project in a format which
can be used to manufacture your design. These are typically in the “Gerber” format, which virtually all PCB manufacturers accept.
In the near future, we hope to do a review of the various
ways that you can PCBs made, both at home and from fabricators who will do this for you. Gerber files can be used
for all these methods.
A two-layer board, such as those we typically create at
SILICON CHIP , will consist of eight files (usually bundled
inside a zip file), each of which corresponds to a layer
within the PCB layout editor.
When we speak of a two-layer board, we are referring to
it having two conductive copper layers, one on each side
of the dielectric (insulating) core, which is typically made
from FR4 fibreglass (or Kapton film in a flexible PCB).
But there are also separate solder mask, drilling and outline (silkscreen) layer files. These additional files are used
at different stages in the manufacturing process.
In fact, the various component footprints consist of not
much more than a specific arrangement of shapes, such as
circles and polygons, on the various layers.
A simple pad or via consists of a hole on the drill layer,
a copper disc on the top and bottom copper layers, and a
similarly sized hole in the solder mask, and may have, for
example, a hollow circle defining its footprint on the overlay layer – see Fig.1.
Installing CircuitMaker
Before downloading and installing CircuitMaker to your
Windows PC you need an Altium account, which in turn
Fig.2: the CircuitMaker main
page appears immediately
after launching the software.
You can browse other users’
projects, and even make
copies for your own use.
Not surprisingly, the “My
Projects” tab is where you
will find your own projects.
siliconchip.com.au
Australia’s electronics magazine
January 2019 79
some local copies are kept in addition to the files kept on
Altium’s cloud server.
Once the installation is complete, open CircuitMaker
and log in. The start page (Fig.2) lists your projects which
are stored on Altium’s servers.
Starting off with CircuitMaker
Fig.3: the Octopart library has a vast number of parts; we
couldn’t even count how many 1k resistors there are.
When choosing a component for use in CircuitMaker, make
sure that it has a PCB footprint. The small black box with
a green tick tells us this is the case for this part. Take care
that the footprint matches the part you will actually use.
requires an email address. You can sign up for one at: https://workspace.circuitmaker.com/Account/SignUp This
will send an activation link to your email, which validates
your account.
You can then use your credentials to sign in at https://
workspace.circuitmaker.com/Account/Login and click
“Download” to download and then run the installer.
The installer has a long EULA (end-user license agreement) that you will need to agree to before proceeding and
you will then be prompted to enter your Altium/CircuitMaker credentials before it installs. The version we installed downloaded another 660MB of files.
We normally keep our documents on a network drive,
which the installer refused to accept, so we had to set our
documents storage location on a local hard drive. It appears
80
Silicon Chip
A CircuitMaker project consists of a main project file,
which usually contains at least one schematic (.SchDoc
file) and one or more PCB files (.CMPcbDoc). It may include other types of files too.
To begin, click “My Projects” on the Start tab, then click
“Add New Project”. Enter a name and description and
choose whether it will be stored in the public folder or a
private sandbox. You’re allowed to have two files in the
private sandbox, and these cannot be seen by other users.
Anything in the public folder can be seen by other users.
If you like, you can find our “Simple Uno Clone” project and make a copy of it in your account by using the
“fork” option.
If you are not sure, you may wish to start with the sandbox. You need to save and then open the project to start
working on it. The project will appear in the “Projects” tab
at left. From here, you can right-click on the project name,
select “Add new to project” and click “Schematic”.
Change the name if you wish, then press Enter. You
are presented with a blank sheet onto which you can add
components.
We found this stage was one of the more challenging,
but also demonstrates the power of the cloud-based setup. There are literally millions of components to choose
from, with many of them added by other users and available to everyone.
As with many open source projects, the quality of the
user-added content varies. For example, when we were
looking for header pins, we found a number that had been
customised by other users for a specific role, rather than
having a simple set of numbered pins.
Another example is that the capacitors we were using for
one project contained elements on the board outline layer; if we had used these footprints as-is, the manufacturer
would have cut a rectangle out of the board, leaving nothing but a hole for the component to mount on!
While many users, particularly those who sell their finished designs, may use specific parts from specific manufacturers in their design; however we often use generic
parts in our design. For example, we may want to place a
¼W resistor which you can buy from any retailer. But we
couldn’t easily find a generic “¼ W resistor” component
that we could use.
To add a component, you need to choose one from the
many that are available. Pressing the component button on
the ribbon opens up a dialog box, from which you can click
the “Choose” button to open a search window. The search
window is limited to 25 entries, which can be quite limiting.
It’s more helpful to click the “View” ribbon button and
select “Libraries”. At the top of the panel that appears, you
can select between “Favorites”, “Octopart” and “Project”.
As you won’t have any favourites yet, choose “Octopart”.
Octopart is a company owned by Altium, mainly known
for their website octopart.com which collects data from
various suppliers (such as element14, Digikey and Mouser) which can then be searched in one place.
Australia’s electronics magazine
siliconchip.com.au
Fig.4: our
completed
schematic
for a simple
Arduino Uno
clone. We have
used ports (the
yellow lozenges)
for our power
connections
to simplify the
appearance of
the wiring.
We found it helpful to search on the Octopart website
alongside the library view (Fig.3), as the specific manufacturer part numbers gave definitive search results.
The Library view gives a lot more information than the
basic component window, and in particular, you can tell
straight away whether a part has a PCB footprint available.
This is important, as we cannot complete the PCB design
without a component footprint.
We finally found what we needed by searching for “1k
resistor axial” and selecting the first item in the list. Once
you have found a match for your component, you can rightclick it to add it to your favourites. When you’ve established a good set of favourites, you will not need to spend
as much time searching for commonly-used parts.
Once you have found the part you need, click “Place”
to add it to your schematic. The part appears under the
mouse pointer and can be placed multiple times by clicking repeatedly. Stop placing components by pressing the
“Escape” key. Once you have opened the library, you will
notice it minimises to a small icon to the side of the window, and can be opened again by clicking on the icon.
Having placed a part, you will see that it has text above
and below it. The upper text (initially “R?” for a resistor,
for example) is the designator while the lower text is a
comment, which is useful for extra information such as
component values or IC part numbers.
Either can be edited by double-clicking and changing the
“Value” parameter. In our case, we changed “R?” to “R1”.
A component can be moved by clicking and dragging it,
and if you press the space-bar while the mouse button is
down, the component will rotate by 90°. Similarly, pressing “X” or “Y” will flip the part around the horizontal and
vertical axes respectively.
Once the components have been added and roughly
placed, wires can be added by selecting “Wire” from the
home ribbon, or simply pressing “W” on the keyboard.
This follows an intuitive click and drag process, with
the pointer lighting up with a red cross when a connection
is ready to be made. As with the place command, pressing “Escape” will cease wiring. Many of the shortcut keys
are worth remembering, as they are also used similarly in
the PCB editor.
You can move components after they have been wired
and the wires will generally remain attached to the components. A wire (or component) can be removed by clicking on it and pressing “Delete”.
If you have wires that have many connections (power
connections would be a typical example), you can add a
“Port”, found among the circuit elements. Any ports with
the same name are considered connected, meaning wires
don’t have to snake all over the schematic.
Navigating around the circuit
You can hold down the right mouse button and move
the mouse to move around the document, as though by
dragging. Pressing <Ctrl> while scrolling the mouse wheel
zooms in and out. You can also zoom in and out using the
“View” menu.
Fig.5: the so-called “rat’s nest”
that is visible at the start of PCB
layout is always messy (hence
the name), but clever component
placement is the key to turning
this into a working PCB.
siliconchip.com.au
Australia’s electronics magazine
January 2019 81
These shortcuts can be changed by clicking on “My Account” from the Start page, and choosing “Preferences”,
and then select the System => General Settings option.
Creating a PCB layout
Once you have finished drawing the circuit (ours is
shown in Fig.4), you can proceed to PCB layout. The first
step is to create a PCB layout file (.CMPcbDoc) within your
project. Right-click on the project name, select “Add New
to Project” and click “PCB”.
The next step is to transfer the components and netlist
from the schematic to the PCB layout. This is done by selecting Project from the Home ribbon, and selecting “Update PCB document...”, or by pressing Ctrl-F5.
This brings up a dialog box listing the changes that will
be made to the PCB document. It’s a good chance to review what changes are occurring, and you can untick any
of the changes if you don’t want them to affect PCB. Usually, though, you leave all options checked, and click “Execute changes”.
If, for example, you notice during the PCB layout stage
that you have made an error in the circuit, you can go back
to the schematic, make the changes, and then use the “Update PCB document” option again to push the changes
through to the PCB layout. This is important, as later when
we come to check that the PCB is fit for manufacture, everything needs to be consistent.
You will now find your PCB document contains a jumble
of part footprints that need to be rearranged and connected
(see Fig.5). It is said that most of the work in PCB layout is
placing the components correctly, so it pays to take your
time and organise the components well.
The components are connected by fine lines which show
where a connection needs to be made. This is often referred
to as the “rat’s nest”.
Ideally, you should place the components to minimise
the length of these links, and also how many times they
cross (as it’s not always easy to cross traces on a PCB). As
in the Schematic editor, you can use the space bar, X and
Y key to rotate and flip the components as you move them.
CircuitMaker, like Altium, has a good set of keyboard
shortcuts, and we often find that we have our left hand
of the keyboard and right hand on the mouse as we work
with these programs (you would do the opposite if you
are left-handed).
Routing tracks
To manually lay track, click on the “Route” button on the
Home ribbon, then click on the PCB to start the track. Typically, a track will run between two or more components,
so it makes sense to start on a component. Clicking again
will ‘lock’ the track so that if you need to route it around
another component, it won’t collapse on itself.
Keep going until you have clicked on an endpoint, then
click one more time and press “Escape” to finish routing
the track. You will notice that the program automatically
avoids conflicting paths and pads, and it will follow a neat
45° path along the way.
Much of the cleverness of routing comes from it automatically trying to enforce design rules (such as track spacing
in this case) as the routing occurs. Altium refers to this as
interactive routing.
The layer tabs are useful during the track layout stage, as
82
Silicon Chip
Fig 6: the simple Uno Clone, after it has been routed. The
top copper layer is shown in red and the bottom copper
layer is blue. The colour codes can be seen at the bottom
of the PCB editor window and you can change them if you
want to.
you can switch between layers easily. Pressing “*” on the
numeric keypad will toggle between top and bottom copper
layers, and if pressed while laying a track, will place a via
to allow the trace to continue on the other side of the board.
Another useful design rule which you may wish to
change, especially for high current designs, is the track
width. The track width design rule consists of a minimum,
preferred and maximum value. During track routing, pressing “3” will cause the currently laid track to cycle between
these widths, allowing you to quickly lay a combination
of power and signal tracks.
If you wish to try the Auto-router, switch to the Tools
ribbon and click “Autoroute”. The default setup is fine, so
you can select “All”. We’d recommend selecting “Lock all
pre-routes” so that any tracks you have already laid will
not be changed. Finally, click “Route All”.
To stop the Auto-router, press the “Stop” button on the
ribbon. Ctrl-Z (undo) can be used to revert, if you find the
layout isn’t to your liking.
We usually don’t use Auto-route much, except to check
if a component layout is routable. We find that if the computer can complete the routing, a human will do a neater
job (see Fig.6).
PCB size and shape
The board size and shape can be changed at any time,
and can be done in several different ways from the “Board
Shape” option on the Home ribbon. “Redefine Board
Shape” allows you to draw the outline of your board using the mouse pointer, while “Edit Board Shape” allows
the existing shape to be tweaked by dragging the existing
edges and corners.
If you need to create a complex shape, you can compose it from lines and arcs. At the bottom of the PCB editor, there are small tabs representing all the layers. Select
the “Outline” layer, then use the line and arc tools under
“Place” to draw the outline. Under “Clipboard”, click Select, then “all on layer”. Finally, select Board Shape and
Australia’s electronics magazine
siliconchip.com.au
Fig.7: the 3D rendering is a great tool for visualising that
the PCB looks ‘right’, but there are some limitations. If
a component does not have a 3D body associated with it
(like crystal X1), then the component won’t appear. On the
other hand, the footprints of the headers we are using are
suitable for male or female parts to be fitted. Note also that
the rendered diode body lacks a cathode stripe.
Define from Selected Objects.
A 3D view of the PCB
The PCB 3D view (see Fig.7) can be a handy tool as you
are working on the board. You can’t do any editing in 3D
mode, but it helps you to visualise how the PCB is coming together. You can get an idea of whether there would
be issues with assembly due to the components being too
close and so on.
You can enter 3D mode by pressing “3” on the keyboard,
and return to 2D mode with “2”. Panning is the same as 2D
mode, and is done by right-clicking and dragging, while
rotation is achieved by shift+right-clicking the mouse.
Much of the 3D content (such as component shapes) is
from the community, so you may find that not all your components appear as you would expect. If you feel that some
of this content could be improved, CircuitMaker provides
the means for users to add things like footprints and 3D
shapes to components.
Design rules
Another important item to consider at this stage is the
Design Rules (see Fig.8). The “Design Rules” button on
the Home ribbon is used to set the rules while the “Design Rule Check” option is used to verify that your PCB
meets the rules.
The Design Rules are the criteria used to confirm that a
board can be successfully manufactured. For example, a
board manufacturer might specify that they can produce
tracks down to 8 mils in width (0.008”), with a spacing of
10 mils. If you run a track that’s smaller than this, or closer than that, the board you get back may be faulty. So you
want the software to alert you if that is the case.
The default design rules are quite conservative, so that
even a layout that falls afoul of some of these rules can
probably be manufactured. Most board fabrication firms
publish their design rules, so you can set them correctly
in your software.
siliconchip.com.au
While ideally you should set the design rules up correctly from the start, you certainly can lay out a board and
then adjust the rules later. A Design Rule Check will then
indicate which areas of the board need attention.
You can apply complex rules to certain parts of the board
instead of the whole. These can apply to certain nets, for
example, to require thicker tracks for those that carry higher currents, or to require more spacing to provide isolation
from high-voltage traces.
To take advantage of the Design Rules, click on “Design
Rule Check”, and then click “Run Design Rule Check” in
the window that appears. You will have a list of ‘violations’
appear. If this list is empty, all is well.
If you have not finished routing, you should see a number
of “Un-Routed Net Constraint” violations. This just indicates that there are no tracks joining points which should
be joined, and the layout cannot be considered complete.
One constraint which we had to reduce on our design
was the “SilkToSolderMaskClearance” constraint, which
is the separation between objects on the silkscreen overlay
from holes in the solder mask. The problem is that many
footprints contain violations of this rule, so you cannot fix
them by changing the layout. You would have to edit all
the components to eliminate the errors.
Manufacturers generally fix this for you anyway, removing any silkscreen lines which intersect with holes in the
solder mask.
It’s a good idea to ensure that the design rules are fully
satisfied before exporting the board. This may require rerouting or rearranging the board, or even modifying the
design rules to suit the actual design rule limitations of
the board fabrication process. Otherwise, you might get
complaints from the manufacturer, or in the worst case,
boards which don’t work.
Exporting to Gerber files
As well as saving the individual files, you also have the
option to ‘commit’ the project. This is part of the in-built
version control that CircuitMaker provides; there is also
an option to revert a project to an earlier stage.
Before producing Gerber files, you may be required to
commit your project.
Once the board is laid out and all the design rules are
satisfied, the board can be exported. We prefer to use a
two-step process. The first step exports all files except for
the drill holes, and the second part exports a file with the
drill holes. The reason for this is that the standard drill
file format is slightly different than the others (it’s known
as “Excellon”).
The following export settings work with a number of the
board fabrication firms we have tried, but yours may differ. Since the Gerber exporter for CircuitMaker is nearly
identical to Altium Designer, any published settings for
Altium Designer should work fine.
From the PCB layout document, click the “Output” ribbon, and then “Gerber”. On the dialog box that opens up,
work through the tabs from left to right.
On the General tab, select Inches and 2:5 format. On the
Layers tab, select Top Overlay, Top Solder, Top Layer, Bottom Layer, Bottom Solder, Bottom Overlay and Outline.
These should be seven of the first nine items, skipping
the two Paste layers. The Paste layers are needed for solder paste masks, which you generally don’t need unless
Australia’s electronics magazine
January 2019 83
Fig.8: rules, rules, rules! The design rules are essential in
ensuring that your design can be manufactured. Helpfully,
the small diagram indicates where the constraint applies. The
rules for your board fabricator may not match CircuitMaker’s
defaults but it doesn’t take long to change them to suit.
you are having your board fully assembled.
Skip the Drill Drawing tab; we will export a separate
drill file next. On the Apertures tab, ensure Embedded Apertures is ticked, and on the Advanced tab, the “Generate
DRC Rules export file” should be unticked.
Click OK, and a save dialog box will appear. Save the
file in a known location. The Gerbers are saved as a zip file
containing the individual layer files, and we will have to
add the drill file later.
Windows 10 natively supports working with zip files,
although we have long used the 7zip program for working
with zip files too.
To generate the drill file, click on “NC Drill Files” on
the Output ribbon. As for the other files, ensure that Inches and 2:5 format are selected, then click OK, and save the
file in the same location. You should have two zip files
with similar names.
The final step is to add the drill file into the zip which
already contains the other Gerber files (see Fig.9).
Checking the Gerbers
Before sending the files to a manufacturer, it’s a good
idea to check them by viewing them with software like
gerbv (http://gerbv.geda-project.org/). This was how we
spotted the errant board outline strokes from our dodgy
capacitor footprints.
Simply extract all the files and then open them one at a
time in gerbv. You can assign preferred colours and switch
layers on and off.
Ordering the boards
You can then send the Gerber files to be manufactured.
Many fabricators provide an online Gerber viewer service.
We recommend using this to check that the file appears as
you think it should. It’s a good sanity check that the files you
have created are compatible with the fabricator’s systems.
There are many PCB manufacturers, both here in Australia and overseas, who offer low-cost options for low quantities. Several of these advertise regularly in SILICON CHIP,
either in display ads or in “Market Centre”.
We haven’t had the opportunity to try all of them but we
would be very surprised if they couldn’t all handle your
Gerber files.
We suggest emailing the manufacturer(s) to check out
their pricing for one-off PCBs of the size you are considering.
If you have placed the project in your public CircuitMaker
84
Silicon Chip
Fig 9: if your Gerber zip file has been assembled correctly, it
should look something like this. There should be eight files
with the file extensions shown (or similar). For some reason,
Excellon NC Drill files usually have a .TXT extension (all
Gerber files are essentially text files anyway). Your system
may show different file types if these files are associated
with a different program.
folder, you may wish to publish photos of the completed
board or circuit to encourage others to use and improve it.
You may even find other users can suggest improvements;
this is one of the great advantages of the collaborative nature of open source software in general.
Conclusion
So you can see from the above that you get many of the
useful features from Altium Designer but don’t have to pay
a lot of money to do so. The old adage “you get what you
pay for” is definitely not true with CircuitMaker!
While the package is fairly intuitive after you have had
some time to familiarise yourself with its interface, there
is extensive documentation available. To answer any
questions you may have, check out the docs, including a
sample project walk-through, at: https://documentation.
circuitmaker.com/
SC
Can you export a CircuitMaker file
for use elsewhere?
The short answer is yes . . . but in some cases there
may be a little work required.
In general, you simply open the project in CircuitMaker
and on the Project ribbon, click ‘Release Project’. Select at
least one output from the list presented and click Release.
Now, when you view the project on either the CircuitMaker website, the ‘Release’ can be found under ‘Components and Releases’ for that project. Click the download
button to download a zip file of the project.
The zip file contains the design files inside a ‘Design’
subfolder, and the exported files in the ‘Released’ folder.
To open in Altium Designer:
If you wish to open the files in Altium Designer, make a
copy of them. The .SchDoc schematic file can be opened
directly, while the .CMPcbDoc will need to be imported.
To i m p o r t i n A l t i u m D e s i g n e r, c l i c k
File=>Import=>Altium PCB, and browse to the
.CMPcbDoc file and open it.
Australia’s electronics magazine
siliconchip.com.au
|