Visualizing PCB Revisions Using A Gerber Viewer

gerber_schematic_highlighting

We all know that Eagle has its share of shortcomings. Instructables user [westfw] was particularly annoyed by the fact that while Eagle keeps copies of up to 10 revisions of your board, it cannot open those files without resorting to manually renaming each one. Even more frustrating to him is the fact that you can’t use Eagle to view two files simultaneously in order to compare layouts. This made hunting down changes quite tedious, so he started looking for a better way to do things.

While using his favorite open-source gerber viewer gerbv, he noticed that the application let him load multiple copies of the same layer, XORing the PCBs’ colors together. Realizing that with some clever color selection, he could use gerbv to automatically highlight layout differences, he set off to automate the process.

The resulting script works on any flavor of *nix, and should play nice in Windows under cygwin as well. The script reads through Eagle backup files, renaming them and tweaking the colors so that when XORed, they show up as bright red areas in gerbv. It’s a simple yet handy tool to have on hand if you happen to do a lot of PCB design.

13 thoughts on “Visualizing PCB Revisions Using A Gerber Viewer

  1. Good old westfw. Love it…it’s even better than if Eagle allowed you to have multiple designs open. Had trouble with that the other day, kept having to open and close alternate files until I finally just grabbed a screen shot and used that.

    1. Just about anything is better than eagle…

      I wish I knew about this software earlier. It would have saved me some grief when I screwed up the exporting of the gerbers. One time I got boards back with nice gold plates holes but no traces. Next time I used the wrong drill output and got holes with the ID of the OD of what they were supposed to be. Luckily the boards still were fine, just needed about 5 times the solder.

  2. Among the many reasons gerbv is wonderful is its ability to open many files at once (gerbv board*.gbr) and its limited ability to delete elements in the gerber. Some layout packages insist on adding text to each layer, outside the board, and if you’re milling your own boards that makes for some irritation. With gerbv you can click on objects and either hit delete or right-click-delete.

    1. Actually, there are several, but there are all clunky and unpolished. The hard part is not the EE side of things, but getting a good user interface. There is a reason Solidworks and Altium are kicking butt in their respective markets, because they have really good user interfaces. That said, you pay a LOT of pretty pennies for them. If you want free, then you wind up with what a CS or EE/CS guy was able to cobble together in his basement. Still impressive considering, but not nearly as nice as the $10K+ software package.

      Surprises do happen though. Gnome,KDE, etc. are really polished desktop managers. Blender is reall powerful (though still confusing). POV-Ray rocks. All are free/oss so maybe some day there will be a free and/or open source EE CAD program.

    2. Try KiCad. It has some growing to do, but it is useable and is open source. Make sure you download the SW from the KiCad project servers vs Ubuntu’s repos/etc which hold a quite dated version.

      Another alternative is to get into the geda suite. Try them both and see which you prefer more.

  3. @macona: you need to practice using EAGLE be the sounds of it. Its always good to check your gerbers from EAGLE CAM with a third party piece of software before you send it off to be milled.

    I like this hack, win in my books! and makes my life easier!

    1. Tried it and went with other options.It was just too clunky of an interface. Eagle was not the software I used to make my boards and it was not the software’s fault, it was my goof when I created the gerbers.

    1. Yeah; most of the script is copying/renaming the backup files, since EAGLE won’t open the backup files till they’re renamed. GerbV lets you look at many versions at once, and makes comparison a bit easier, but only for a relatively limited number of layers from each version.

Leave a Reply to WillCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.