February 8, 2010 update:

PUFF microwave CAD software on Linux

PUFF is the name of a computer aided design program for microwave circuits, developed at the California Institute of Technology. It allows one to easily edit a circuit and calculate and plot the circuit's scattering parameters. It was originally created under MS-DOS in the 1980s and 1990s, and distributed for a modest fee together with a manual and sourcecode. Since late 2000, this web page contained information on how to compile it under Linux.

In early 2010, the original program was made available under the GPLv3 license, and therefore a complete Linux package is now available for free here, including the original manual: here it is.

Here's a screenshot:

[screenshot]

Feedback is welcome, by e-mail to pa3fwm@amsat.org.
Copyright © 2000-2010.
Back to PA3FWM's amateur-radio software page

Compiling PUFF microwave CAD software on Linux

PUFF is the name of a computer aided design program for microwave circuits, developed at the California Institute of Technology. It allows one to easily edit a circuit and calculate and plot the circuit's scattering parameters. It runs under MS-DOS (and Windows in DOS mode).

The PUFF software is no longer available for sale separately in English. It is included in the The Electronics of Radio and Complete Wireless Design. Puff 2.1 is still available by itself in Europe (German computer adjustments with manual in English) from UKW-Berichte (/Produkte/Software/) and from Japan from Ishitobi. Although it is not free, it is quite cheap compared to other software; furthermore, for that price it comes with a printed manual and with source code written in Turbo Pascal.

The fact that PUFF comes with source code makes it possible to port it to other systems than the original MS-DOS. Using the Free Pascal compiler, most of the original Turbo Pascal code compiles without problems on Linux. The main part that needed work to get PUFF running, was the graphics part: Free Pascal does not (yet?) have support for using X11 graphics in a way that is compatible with Turbo Pascal, so some new code was needed. Furthermore, some miscellaneous other modifications were needed, in areas such as memory allocation and keyboard reading.

For people who would like to compile PUFF on their own Linux systems, I've made available a .tgz-archive which contains the needed files along with detailed instructions in the README file. Note that this tgz-file does not contain the PUFF source code itself; you must obtain a copy of this yourself, from one of the sources mentioned above.

Compared to the original version (dated 2000-11-12) of this package, the present version (from 2001-02-18) fixes a few problems; for details, see the HISTORY file in the archive. Finally, here's a screenshot:

[screenshot]

This page can be found on the web at: http://wwwhome.cs.utwente.nl/%7Eptdeboer/ham/puff.html