Saturday, February 16, 2013

Open-source electrical engineering design tools

When doing test and measurement often the mechanical fixtures and the software get the most attention. My users like the fixtures because they are shiny as they sit on the bench and the software because the GUI is pretty and it's their direct link to the functionality. The electronics that glues these two together doesn't get the credit it deserves, but it's a critical part of the system.

My electronic designs are usually not incredibly complicated. Perhaps a few amplifiers or some simple signal-conditioning filters or, occasionally, a micro-controller when the computer can't do the job by itself. Most often these designs are so simple that my schematic is in my notebook and the design never gets past the solder-less breadboard, or maybe the soldered perf-board, level.

However, some of the time I need to take the electrical design much farther and I need the tools to do so. A full schematic is always a good idea, circuit simulation can teach me about how the design will perform and a printed circuit board makes the design robust, and is alarmingly inexpensive to buy. If I'm ever going to make more than 1 or 2 of a given board, I do the layout and buy the boards, it pretty much always saves time and money. Lacking a frequent need for advanced EE tools, I can't justify buying OrCAD or PADs or another expensive, but highly functional, EE tool. Fortunately, open-source comes to my rescue.

The first job is schematic capture, and there are many options. I've heard very good things about Eagle (not open-source) and TinyCAD, but my pick of choice has always been KiCAD. It's a simple schematic tool that I've found similar in many ways to OrCAD schematic capture.

Figure 1: KiCAD

For simulation, I've struggled with many Spice (simulation program with integrated circuit emphasis) simulators, but found that LTSpice to be an excellent tool. It's not open-source, but it is a free tool offered by Linear Technologies, and it comes with Spice models for many of the LT parts. There are some open-source Spice options out there, such as NGspice and EIspice, but I have yet to give those a try.

Figure 2: LTSpice

Finally, to take the netlist from KiCAD and layout the PCB, I've used FreePCB for a long time and had an excellent experience. It's a full-featured PCB layout program, all open-source. In the past few years FreePCB has added an autorouter, which I have yet to use but one of the engineers on my team gave it a go with good results.

Figure 3: FreePCB

The final step is to send the gerber files for the PCB off to get manufactured. There are a ton of manufacturers who do this, so use what you know. I've been using Advanced Circuits for years and they have always done a good job for me. I'm constantly shocked by how fast, and how inexpensive, custom PCBs are to get.

Have you tried these, or other, EE tools? What EE tools do you prefer?

No comments:

Post a Comment