Developing Electronic Hardware on Mac OS X
Volume Number: 20 (2004)
Issue Number: 5
Column Tag: Programming
by Tom Djajadiningrat
Developing Electronic Hardware on Mac OS X
Schematic Capture and PCB Routing
Contrary to popular belief amongst engineers using machines from the evil empire, it is quite well possible to develop electronics hardware on the Mac. In true Mac fashion, there are much fewer solutions, but those that are there are pretty good quality. What follows is a list of pointers to Mac software for schematic capture (the process of drawing electronic hardware diagrams, see Figure 1) and PCB routing (the process of laying out components and tracks on printed circuit boards, see Figure 2).
Figure 1: Schematic capture
Figure 2: Printed circuit board layout
This company offers three packages: DesignWorks, DesignWorks Lite and Logic Works.
(From 395 USD; save disabled evaluation version available)
This is Capilano's flagship product. It is purely a schematic capture and simulation program and cannot be used for laying out PCBs. However, it can export parts lists (specifying the components) and net lists (specifying the connections between components) to a great many PCB layout packages. These include not only software which runs on the Mac such as McCAD and Douglas, but also 'evil empire' only packages such as OrCAD and PADS.
(39.95 USD; 30 days evaluation version is free)
DesignWorks Lite does only schematic capture. It does not do simulation. More importantly, however, the parts/net list export functionality is missing. This makes DesignWorks Lite kind of useless for developing printed circuit boards: the essential link between schematic capture and PCB layout is absent. Of course, if you need to merely document electronic circuitry or have your circuit boards laid out by someone else then it may suit you just fine.
(approx. 80 USD)
Luckily, Capilano offer something that sits in between DesignWorks and DesignWorks Lite: LogicWorks. Targeted originally at the educational market, it is bundled with a book and available from Amazon. Like DesignWorks, LogicWorks offers schematic capture and simulation, though with far fewer parts libraries. Unlike DesignWorks Lite, LogicWorks does offer export of parts and net lists, but only in a single format. You have to massage the parts and net lists into a format your PCB software understands, either using search and replace with a text editor (say BBEdit) or by parsing the text using your favourite programming language. Another caveat is that LogicWorks 4.0 is currently Mac OS9 only though rumours have it that version 4.5 will be OSX native and is soon to appear. If a Mac OS9 version is ok, you may want to hunt about in the secondhand section of Amazon.
Douglas are not only a software company but also have manufacturing facilities for printed circuit boards which puts them in an interesting position. They offer two versions of their software. One is called Douglas Professional Plus. This program is for PCB routing which does autorouting (automatically laying out the tracks). Its natural companion seems to be Capilano's DesignWorks which can even be bought through Douglas. Douglas Professional Plus exports layouts in Gerber format and therefore you can have your printed circuit boards made at any company you like.
Douglas also make a second version of their software which is simply called Douglas Professional. It does the same as the Professional Plus system but it cannot export to Gerber. This means that you need to use Douglas' manufacturing facilities. To this end the software contains a job order and price quote module.
Whether it is economical to go for the Douglas Professional system and get your prints made at Douglas of course depends on a price comparison between Douglas and your local PCB manufacturer but also on where you are based (postage) and how frequently you need prints and in what volumes.
- EDS-1 (schematic capture, PCB layout, Gerber export) $1495
- EDS-2 (EDS-1 + simulation) $1895
- TK-1 (autorouter) $895
- EDS-Lite (free version of EDS-1 with a 200pin limit and smaller board size)
McCad offer packages for schematic capture, simulation, PCB layout, autorouting and Gerber export, either separately or combined. McCad seem to be the only ones who offer all these components, developed in-house for the Mac platform. You have to cough up some serious money to get this kind of integrated workflow though. If you can live with a 200pin limit you can actually get EDS-Lite for free.
Osmond is a currently free PCB layout tool which is still in beta. Though this may sound unattractive, Osmond appears to be much more stable than many so-called final releases. In fact, judging from the version history Osmond seems to have been in beta for more than five years. Personally, what I like about it, is that it does not suffer from featuritis. It seems to do what it is supposed to do but no more. The interface feels very clean and intuitive and the tutorial was enough to get me started in about two hours. Should you get stuck there is always the Osmond Yahoo! Group: http://groups.yahoo.com/group/osmondpcb/. Osmond exports Gerber/Excellon files so you can have your boards made anywhere you like. One of Osmond's drawbacks is that it does not do autorouting. Though it can do rat's nests and can indicate which pads need to be connected, you have to route the tracks around the board yourself as it cannot do it automatically. As long as the boards are not too complex, this need not be a problem. An example of a small print designed in Osmond can be seen in Figure 2-5. Osmond comes with various parts libraries. What I found somewhat tedious was making part names in LogicWorks' parts/net lists match the part names in Osmond's libraries.
Figure 3: Silkscreen side of the one-sided print resulting from the Osmond file shown in Figure 2
Figure 4: The side with the tracks.
Figure 5: The completed print with components.
(open source; pre-built OSX binary: 40 USD)
Electric is somewhat different from the other packages mentioned here as it was not originally developed for the Macintosh. It is also the only package which I haven't tried for myself. Electric is open source, cross-platform software for schematic capture, simulation and PCB layout. However, compiling the source using XCode or CodeWarrior is apparently non-trivial: one has to do quite a bit of tweaking. The recommended compiler is Qt by Trolltech (www.trolltech.com). Although Qt is far from free (1550USD), a 30 day evaluation version is available. If you are not into compiling Electric yourself, you can always order a CD with a pre-built OSX binary.
To send your design to a print manufacturer it needs to be in a file format called Gerber. It is always a nice sanity check to be able to view these files before you send them off. There are two Gerber viewers available. One is GerberReader which is a utility included with Douglas Professional. You may find that this utility alone makes it worth to spend $25 on Douglas Professional. The other is Gerber2PDF, a Python command-line utility which you can get from the Osmond home page. It takes a little effort to install but it does actually work very well, with different board layers being output to separate pages of a multipage PDF document. When you open such a document with Apple's Preview app, you can simply switch layers by pressing page icons in the drawer.
So there you have it, there is quite some choice actually. Some of these packages have been around since the very start of the Mac: obviously the Macintosh GUI worked miracles for such spatial tasks as schematic capture and PCB routing. What this list of pointers does not address is the user experience: each of these packages has its own idiosyncrasies. Therefore I would strongly recommend that you try out a few of these packages for yourself before you jump. The nice thing is that virtually all of them are available in evaluation versions of their software so that you can get a feel for the full package whilst not spending more than 25-50 US Dollars.
Tom Djajadiningrat is a member of the Designed Intelligence Group, a research and teaching facility of Eindhoven University of Technology, which focuses on the design of intelligent products and services. You can reach him at firstname.lastname@example.org