Introduction:
FreePCB is a free, open-source PCB editor for Microsoft Windows, released under the GNU General Public License. It was designed to be easy to learn and easy to use, yet capable of professional-quality work. It does not have a built-in autorouter, but it can use the FreeRoute web-based autorouter at www.freerouting.net. Some of its features are:
The layout for a small PCB is shown in the screenshot below.
Latest News:
Dec. 11, 2021 |
For various reasons, I've been unable to work on FreePCB since the last release in 2010. I intended to keep this website up but my hosting contract expired and I didn't get the notices so the site has been down since August. I've restored it, but lost the data for the User Forum, so I've turned that off. |
Sept. 11, 2010 |
Version 1.359 released. This mainly fixes a few more bugs. See the User Forum/Latest News for more details. Also, the Wiki is down for the time being while we install some new software. |
Aug. 9, 2010 |
I've added a Wiki to the website, and the first page is a FAQ being created by gnuarm from the User Forum. Please take a look at it, and add comments if you have ideas for it. We're complete newbies to this Wiki thing, so its a work in progress. |
Aug. 3, 2010 |
Utility fpcb2cad added to the download page. This converts *.fpc files to GenCad format, which is used for interchange of PCB data. The utility was written by "edeheld" of the User Forum. Here is a link to the thread: FreePCB to Gencad 1.4 converter. |
July 21, 2010 |
Version 1.358 released. This fixes a bug where moving a vertex with ratline visibility turned off created problems. |
July 16, 2010 |
The executables for version 1.357 showed their version incorrectly as 1.356. I've fixed this and reposted them on the Downloads page. |
July 15, 2010 |
Well, it didn't take long for the first bug to be reported, and it was a serious one so I've fixed it and released 1.357. See the User Forum/Latest News for more details. |
July 14, 2010 |
I've posted a new version of FreePCB (1.356). I've fixed all of the bugs that I could find in the much-maligned version 1.355. I've also added a few new features. I hope that everyone will give it a good workout and report any bugs. I promise to fix them ASAP. See the User Forum/Latest News for more details. Also, I've switched the source code repository for public access from Berlios to Google. The URL for Subversion is https://freepcb.googlecode.com/svn. The URL for web access is http://code.google.com/p/freepcb/source/browse/. The current release is in "tags/version_1356". |
July 14, 2010 |
I've posted a new version of FreePCB (1.356). I've fixed all of the bugs that I could find in the much-maligned version 1.355. I've also added a few new features. I hope that everyone will give it a good workout and report any bugs. I promise to fix them ASAP. See the User Forum/Latest News for more details. Also, I've switched the source code repository for public access from Berlios to Google. The URL for Subversion is https://freepcb.googlecode.com/svn. The URL for web access is http://code.google.com/p/freepcb/source/browse/. The current release is in "tags/version_1356". |
June 1, 2010 |
I'm BACK! I'm sorry for neglecting FreePCB for the past year or so, but I got overloaded at work and then had a few other issues to deal with, so I had to put FreePCB on hold for a while. Now that things are more or less back to normal, I'd like to take up where I left off. I'll start by looking at the bug reports for things to fix. Thanks to Bruce and the other regulars on the User Forum for keeping things alive while I was gone. |
Apr. 22, 2009 |
I've posted the most recent versions of Bruce Parham's utilities FpcLib and FpcRef on the Downloads page. |
Feb. 1, 2009 |
There is a new version (1.41) of Bruce Parham's FpcPlace
utility on the Downloads
page. Actually, this was posted on the User Forum Nov. 21, 2008, but I missed
it. |
Jan. 25, 2009 |
There is a new version of FreePCB (1.355). This fixes multiple bugs, including an annoying one where moving or changing the footprint of a part using a dialog could cause errors in traces routed to the part. See the User Forum/Latest News for more details. There is a new version (1.303) of Bruce Parham's
FpcROUTE utility. Click
here
for more details. |
Nov. 19, 2008 |
There is a new version (1.301) of Bruce Parham's FpcROUTE on the Downloads page. |
Oct. 20, 2008 |
There is a modified version of TinyCad.exe on the Downloads page. This was created by Gil (gldf from the User Forum). It adds the ability to export values in the PADS netlist. |
Oct. 13, 2008 |
Version 1.354 posted. This includes a nice feature: the ability to move trace segments while maintaining the angles of adjacent segments. This was added to the code by Pete Koziar (AKA CharteuseDog from the user Forum). There are also some important bug-fixes. See the User Forum/Latest News for more details. |
Sept. 18, 2008 |
There was an error in some of the footprints in
the th_header_40_mil_holes.fpl library file, which I've
corrected. I've also posted th_sip_40_mil_holes.fpl, which is a
library of SIP footprints with 40 mil holes and 60 mil pads. These
files are on the Downloads page.
There is also a new version of FPCfab by Bruce Parham on the Downloads page. |
August 12, 2008 |
More new stuff on the Downloads
page: - I've posted a new version 1.353 of FreePCB. This seems pretty stable, so I'm recommending it for all users. There are both debug and release versions, and there is a new combined update. See the User Forum/Latest News for more details. - There is a new version of the library file for through-hole headers with 100 mil pin spacing. These have larger 40 mil holes and 60 mil pads so that standard 0.25" square pins will fit. The new file is called th_header_40_mil_holes.fpl. I would suggest that you add it to the freepcb/lib folder. You may want to remove or rename the original file (th_header.fpl) to avoid confusion. If you load a project file with the old footprints, you will see a warning about the small holes. - There is also a new version 1.13 of FpcPoly by Bruce Parham. See his post in User Forum/Comments and Questions for new features. |
August 3, 2008 |
There's lots of new stuff on the Downloads page. There are new versions of the
FpcLib, FpcROUTE and FpcRef utilities from Bruce Parham, and there is a
new version of Guillaume Rosanis' PCB-Tools (GerberRender, PCB-View,
PCB-Render and PCB-Print). These are all updated to work with the
latest alpha versions of FreePCB. The executables for FpcROUTE and
GerberRender should be placed in the freepcb\bin folder, since FreePCB
uses these utilities directly for some of its functions.
Since the latest versions of FreePCB are pretty stable, the next release will be a non-alpha version, and I'll provide a combined update that will include the latest versions of the essential utilities. |
July 15, 2008 |
There is a new version (1.12) of Bruce Parham's FpcPoly on the Downloads page. |
July 8, 2008 |
There are 2 new items of contributed software on
the Downloads page: - FpcPoly is a command-line utility written by Bruce Parham, for translating some of the Gerber files produced by FreePCB into a form suitable for producing very realistic renderings of the top and bottom of the PCB. The actual rendering is done by Guillaume Rosanis' PCB-Render program. - NetValue is a program for converting TinyCAD netlists to PADS-PCB netlists. For parts, it sets the package name to the "Package" attribute of the TinyCAD symbol, if it exists. Using the extra information available, it can set the FreePCB "Value" of a part to be a comma-separated string containing any or all of the attributes attached to a TinyCAD symbol including the Symbol name and Package. It was written by Phil Walker, whose username on the Forum is "philboard". |
July 7, 2008 |
Version 1.352a posted. This fixes a bug that caused crashes when editing a footprint and trying to apply it to multiple parts. This is another alpha version, but I would suggest that more experienced users start using it since it seems pretty stable. As always, please check your Gerbers before submitting them. If you find any bugs, let me know and I'll fix them ASAP. |
July 6, 2008 |
Version 1.351a posted. This fixes a bug that could cause crashes when trying to edit a part that doesn't have a footprint. This is another alpha version, not recommended for production work. |
July 5, 2008 |
Since my new hosting service allows it, I turned on the "subscriptions" feature of the User Forum, that allows registered users to receive an email once a day with all of the new postings on Forums that they subscribe to. You can select these Forums by editing your profile. |
July 3, 2008 |
Version 1.350a posted. This fixes a bug that was introduced in version 1.349a, that prevented clearances being drawn on inner layers for some through-hole pins. |
July 2, 2008 |
Version 1.349a posted. This fixes a bug that was causing crashes, mainly when generating Gerber files for inner copper layers. This is still an alpha version. |
July 1, 2008 |
I was on vacation last week, and when I got back I discovered that my email address "allan@freepcb.com" had stopped working, apparently due to a problem with the new hosting service for FreePCB. I'm sure the problem could be fixed, but I've decided to stop using that address anyway, due to the amount of spam it was receiving. From now on, please contact me through the User Forum, where my username is "allan". Also, if you sent me any email at that address in the last 9 days or so, I'm afraid that it has been lost and you'll have to resend it. I'm sorry for any inconvenience this may cause. |
June 25, 2008 |
Version 1.348a released. This is another alpha version,
although it should be pretty stable. It fixes several bugs, including
some bugs in earlier non-alpha versions. |
June 11, 2008 |
Bruce Parham has found a problem with the IPC-7351 libraries, where thermal pads on some footprints were not assigned a pin name, which caused problems in versions of FreePCB earlier than 1.345a. This has been fixed, and new versions of the library files are available on the Downloads page. |
June 10, 2008 |
My first pass at a set of IPC-7351 footprint libraries is
posted on the Downloads page. They were
extracted from the data files for the PCB Libraries LP Viewer (version
6.20.00). There are three separate library folders with different pad
sizes, "Least", "Nominal" and "Most" (i.e. small, medium and large
pads). The names of the library files in each folder are derived from
the "Description" field of the LP Viewer database.. |
June 4, 2008 |
Version 1.347a released. This fixes several bugs that crept into the code for reading/writing project files, so that certain part and footprint parameters weren't preserved. |
May. 31, 2008 |
Version 1.346a released. This fixes a bug where FreePCB would crash on opening a project with parts that didn't have footprints assigned. |
May. 28, 2008 |
Bugs already! Two of them are fixed in 1.345a. This is still an alpha version, for testing and comments. I would not recommend it for production work. |
May. 27, 2008 |
I've posted a new version 1.344a. This is an "alpha" version, meaning that isn't quite finished, but I'm releasing it so that anyone who is interested can see the new features and help me test them. Although it seems pretty stable, I would not recommend using it for production work. For one thing, if you use the new features you can create footprints that are not backwards compatible with earlier versions. |
Apr. 13, 2008 |
I've posted a new version 1.343. This is exactly the same as 1.342 except that it fixes a bug where the centroids of parts were not correctly reported in the report file. |
Apr. 5, 2008 |
I've fixed the panelization bug, and posted a new version 1.342. This is exactly the same as 1.341 except for the bug-fix. |
Apr. 4, 2008 |
A bug has been found in the panelization code. The board outline dimensions are rounded to the nearest mil in the Gerber file generator, but not in the drill file generator. Therefore, if you have specified the board dimensions in mm, an error can be introduced. This will be fixed in the next release. In the meantime, if you are using the panelization feature, you should enter the board outline coordinates in mils. |
Dec. 18, 2007 |
I've posted a new version 1.341. This fixes at least 3 bugs in 1.340. I wasn't planning to release a new version this soon, and there is some unfinished code for adding new elements to footprints, so there are a few new menus and dialogs that don't actually do anything. See the User Forum/Latest News for more details. |
Dec. 1, 2007 |
I've posted version 1.211 of FpcROUTE on the Downloads page. This fixes a bug in version 1.210, so everyone should get the new version. I've also put the new version in the 1.340 Combined Update. |
Nov. 30, 2007 |
Well, I didn't get much feedback on the debug2 version, but I'm going to assume that the right-click bug is fixed. So I'm releasing version 1.340 which is basically the same as 1.339_debug2. It's on the Downloads page. |
Nov. 14, 2007 |
I've created another version to try and solve the right-click bug . It's called 1.339_debug2, and it's on the Downloads page. Please try it out. If you'd rather just get your work done, you should probably use version 1.338 until the bug is fixed. |
Nov. 10, 2007 |
A bug has apparently appeared in 1.339 that can crash FreePCB on right-clicking. I can't reproduce this myself. The debug assertion indicates that the right-click menu is failing to load. I've created a special debug version of 1.339 that traps this error and should show a message without crashing. It's called 1.339_debug1, and it's on the Downloads page. |
Oct. 31, 2007 |
Version 1.339 posted. This fixes some bugs, and adds a new
function to generate a report file which contains board statistics,
etc. See the User Forum/Latest
News for more details. |
Sept. 20, 2007 |
I apologize for neglecting the User Forum for
the past 10 days or so, but I've been on vacation to Barcelona and
Madrid, with limited internet access. I gather that the Forum was down
for much of this time. This is a recurring problem, where one of the
configuration files gets corrupted. The tech support people at my
hosting service have been unable to figure it out. I've upgraded to the
latest version of the Forum software, and I've tightened the
permissions on the configuration files. If this doesn't work, I'll
probably have to change hosting services.
Bruce Parham has contributed a command-line utility for editing library files, called FpcLib. You can see Bruce's post describing the software here. I've added the latest version to the Downloads page. |
Aug. 14, 2007 |
Version 1.338 posted. Hopefully, this fixes a bug that could cause crashing on closing the program. See the User Forum/Latest News for more details. |
Aug. 9, 2007 |
Version 1.337 posted. This adds full support for 16 layers. See the User Forum/Latest News for more details. |
July 19, 2007 |
Version 1.336 posted. This fixes some bugs. See the User Forum/Latest News for more details. |
July 14, 2007 |
Version 1.335 posted. This fixes a few bugs and allows changing the net assignment of a copper area. See the User Forum/Latest News for more details. |
June 30, 2007 |
Version 1.334 posted. This increases the display resolution to 0.1 mils for Windows 2000, XP and Vista, and fixes a few bugs. See the User Forum/Latest News for more details. |
June 22, 2007 |
Version 1.333 posted. This fixes several bugs. See the User Forum/Latest News for more details. |
June 11, 2007 |
Version 1.332 posted. This adds several new features. See the User Forum/Latest News for more details. |
May 29, 2007 |
Version 1.331 posted. This adds a "redo" function and rotation of groups. See the User Forum/Latest News for more details. |
May 18, 2007 |
Version 1.330 posted. See the User Forum/Latest News for more details. |
May 11, 2007 |
Version 1.329 posted. See the User Forum/Latest News for more details. |
May 8, 2007 |
Version 1.328 posted. See the User Forum/Latest News for more details. |
Apr. 29, 2007 |
Thanks to Bruce Parham, there is an updated PDF version of the User Guide available on the Downloads page. If you download it, you should extract the files to the freepcb\doc\ folder. The next release of FreePCB will have a link to this file in the Help menu. |
Apr. 14, 2007 |
I've been working on updating the User Guide with the new features that have been added since version 1.2, which was the last stable version . This is a work in progress, which I was planning on releasing with the next stable version, which will be 1.4. However, since I'm now recommending the latest unstable version instead of version 1.2 for new users, I've decided to make it available. You can see it by clicking on User Guide, and you can download it on the Downloads page. If you download it, you should extract the files to the freepcb\doc\user_guide folder. |
Apr. 7, 2007 |
This version fixes a few bugs, and adds the ability to create Gerber files for solder paste masks. It also adds the ability to "panelize" your Gerbers (i.e. create Gerbers with multiple copies of your board). There is also a change in the way it handles importing session files from the FreeRoute autorouter. See the User Forum/Latest News for more details. |
Mar. 11, 2007 |
I've made some changes to the Downloads page. I've added a "combined update" download that includes the latest recommended versions of all files that have changed since version 1.2. This is mainly for new users who are downloading the complete 1.2 distribution. I've also added sections for FpcROUTE and the Hershey font files. |
Mar. 6, 2007 |
A bug already! The export .dsn and import .ses functions didn't handle filenames with embedded spaces correctly. Also, the user is now prompted before saving the project file when exporting. Version 1.326 posted. See the User Forum/Latest News for more details. |
Mar. 6, 2007 |
Version 1.325 posted. This adds an interface to the FpcROUTE utility by Bruce Parham, that allows exporting FreePCB projects into the FreeRoute web-based autorouter, and importing the results back into FreePCB. Also, I've changed the compiler settings to try to resolve an incompatibility with Win98. See the User Forum/Latest News for more details. |
Feb. 19, 2007 |
Version 1.324 posted. This adds Group Delete, and allows saving and pasting groups to/from files. It also allows changing the number of layers in an existing project, and fixes a few bugs. See the User Forum/Latest News for more details. |
Feb. 12, 2007 |
Version 1.323 posted. Everyone should upgrade to this version. See the User Forum/Latest News for more details. |
Jan. 17, 2007 |
Version 1.322 posted. This fixes a few bugs. See the User Forum/Latest News for more details. |
Dec. 19, 2006 |
The User Forum is back up, thanks to the excellent tech support people at lowesthosting.com who found a corrupted script file, and restored it from backup. |
Dec. 17, 2006 |
For some reason, the User Forum has stopped working! I've contacted my hosting service for help getting this resolved. Sorry for the inconvenience. |
Oct. 22, 2006 |
Version 1.321 posted. This adds a feature long requested by TinyCAD users, namely preservation of routing when net names are changed. See the User Forum for more details. |
Oct. 9, 2006 |
There is a new version of FPCfab (v. 1.33) by Bruce Parham on the Downloads page. |
Sept. 1, 2006 |
Version 1.319 posted. This fixes several bugs. See the User Forum for more details. |
Aug. 29, 2006 |
Version 1.318 posted. This fixes a bug in the rendering of clearances and a bug that could result in copper areas inside cutouts in other areas not being drawn. |
Aug. 28, 2006 |
Yet another new version, 1.317. This fixes 2 bugs. See the User Forum for more details. |
Aug. 27, 2006 |
Oops! Bruce Parham has already found a critical bug in 1.315 so I've removed it and posted 1.316. |
Aug. 27, 2006 |
Version 1.315 posted. This fixes multiple bugs. See the User Forum for more details. |
Aug. 9, 2006 |
Version 1.314 posted. This fixes some bugs and improves support for branching traces. See the User Forum for more details. |
Aug. 7, 2006 |
Version 1.313 posted. This fixes a few bugs that were already reported in 1.312. See the User Forum for more details. |
Aug. 6, 2006 |
Version 1.312 posted. This adds branching traces and improves the Group Copy/Paste functions. See the User Forum for more details. |
Jul. 15, 2006 |
Version 1.311 posted. This fixes a bug which mistakenly deletes zero-length trace segments between SMT pads and vias. Also, copper areas can now be placed inside cutouts in other areas. See the User Forum for more details. Also, I've posted a command-line utility written by Bruce Parham which generates component placement files from a FreePCB project file. It is called FpcPlace, and you can find it on the Downloads page. |
Jul. 2, 2006 |
Version 1.310 posted. This fixes a serious bug which could cause shorts between traces and copper areas that contain cutouts. See the User Forum for more details. |
Jul. 1, 2006 |
Version 1.309 posted. This fixes a bug in group copy and paste where the part references were not positioned correctly. See the User Forum for more details. |
Jun. 30, 2006 |
Version 1.308 posted. This adds copy and paste operations for groups of parts and traces. See the User Forum for more details. |
Jun. 1, 2006 |
Bruce Parham has contributed a command-line application that generates fabrication drawings from Gerber or template files. You can download it from the Downloads page. Be sure to read his application note on creating assembly drawings as well! |
Apr. 5, 2006 |
Version 1.307 posted. This fixes a bug that could cause saving a project to fail. See the User Forum for more details. |
Apr. 4, 2006 |
Sasha Zbrozek has added pictures to his guide to making PCBs at home. The new version (v.0.0.2) is available for download on the Resources and Links page. |
Apr. 2, 2006 |
Version 1.306 posted. This fixes several bugs. See the User Forum for more details. Also, Sasha Zbrozek (a.k.a. kleptophobiac from the User Forum) has written a guide to making PCBs at home. It is available for download on the Resources and Links page. He promises to add to it in the future. |
Apr. 1, 2006 |
Version 1.305 posted. This fixes several bugs. See the User Forum for more details. |
Mar. 27, 2006 |
Version 1.304 posted. This fixes a couple of bugs. See the User Forum for more details. |
Mar. 15, 2006 |
Version 1.303 posted. This includes a patch by Arlen Cox that improves routing from off-grid points. See the User Forum for more details. |
Mar. 6, 2006 |
Version 1.302 posted. For the first time, I've compiled a release version as well as a debug version. See the User Forum for more details. |
Mar. 2, 2006 |
Guillaume Rosanis (a.k.a. Merlin from the User Forum) has contributed a set of software tools for rendering and printing Gerber files. They are posted on the Downloads page. Please give them a try! |
Jan. 31, 2006 |
The User Forum has been intermittently out of service for the past few days. Apparently there have been multiple accesses from certain IPs that seem to be running scripts, and my hosting service has been disabling the gforum.cgi to protect their server. I'm trying to find a solution. In the meantime, if anyone has been running scripts to download all of the forum posts, for example, PLEASE STOP. One of the offending IPs is 201.240.122.22 from Lima, Peru. |
Jan. 25, 2006 |
I've posted a new version of FPCcombine (version 0.20) that creates multiple columns, repeats a given design a specified number of times, and rotates the projects before adding them to the combined project. It is on the Downloads page. Thanks again, Bob! |
Jan. 24, 2006 |
Bob Thakkilapati has contributed a program called "FPCcombine" that performs panelization of multiple projects, by combining them into a single project. It panelizes vertically, but you can move the duplicated projects around with the "Group Move" command. It is posted on the Downloads page. Thanks Bob! |
Dec. 11, 2005 |
Version 1.301 posted. See the User Forum for more details. |
Dec. 9, 2005 |
Oops, I forgot to remove the dependency on DBGHELP.DLL. I've fixed this and reposted Version 1.3. |
Dec. 8, 2005 |
Version 1.3 (unstable) posted. This corrects a bug and includes some new functions for copper areas. See the User Forum for more details. |
Nov. 17, 2005 |
Version 1.205 posted. This corrects 2 bugs and allows "backing up" when routing using the backspace key. See the User Forum for more details. |
Oct. 25, 2005 |
Version 1.204 posted. This corrects a few more
editing bugs, and also a bug which sometimes prevented FreePCB from
finding the default library folder if it was opened from a shortcut.
See the User Forum for more details.
Also, the source code for recent versions is now available for anonymous checkout from the public SVN repository at www.berlios.de. See the Downloads page for more details. |
Oct. 23, 2005 |
Version 1.203 posted. This corrects a few bugs in the Footprint Editor. See the User Forum for more details. |
Oct. 12, 2005 |
Version 1.202 posted. This corrects a few bugs. See the User Forum for more details. |
Sep. 13, 2005 |
Version 1.201 posted. This corrects a bug where undoing pin assignments to nets caused errors. |
Sep. 6, 2005 |
Geoff Thompson has contributed an installer for the Version 1.2 distribution. It is on the Downloads page. Thanks, Geoff! |
Aug. 25, 2005 |
Source code for Version 1.2 posted. |
Aug. 14, 2005 |
Version 1.2 posted. This replaces 1.007 as the recommended "stable" version of FreePCB. It is basically the same as version 1.120 with a few small bug-fixes. The User Guide has also been updated for this version. |
Please refer to the "User Forum/Latest News" for more information on these and other recent developments.
Try it out!
If you would like to download FreePCB and try it out, click here. It comes with a fairly complete User Guide, which you can browse by clicking here.
If you use FreePCB to design a PCB, I would STRONGLY suggest that you check your Gerber files with a program such as ViewMate (available for free here) before spending any money to have the boards manufactured. If you make a board successfully, send me a picture and I will post it for everyone to admire!
If you have suggestions, comments or questions, please post them to the User Forum. If you need to contact me directly, you can send a private message through the Forum, where my username is "allan".
I will try to answer all messages but given the other demands on my time there may be some delay (hopefully a matter of days, not weeks or months).