Category Archives: Books and Resources

Book recommendations, reviews, notes, etc.

Getting Started with Arduino

Getting Started with Arduino

Getting Started with Arduino, by Massimo Banzi, is the latest physical computing book from O’Reilly and the first dedicated to the wildly popular Arduino microcontoller platform and integrated development environment.

Massimo’s short text is an excellent introduction to the hardware and software sides of the Arduino and contains a walk-through for uploading a sketch to the board, basic programming techniques, interfacing with common sensors, troubleshooting techniques, and some interesting notes about tinkering, physical computing and interaction design.  The book is based on a collection of notes that were formerly available within the Arduino wiki.  The notes were removed when the book was released, but fortunately I saved a copy and you can download them here.

The book is available from amazon.com or comes as a companion to the Arduino starter kit available from the Maker Shed.

Poll: Who is your favorite prototype PCB vendor?

As I wait for my AVR High Voltage Programmer Shield PCBs to come back from BatchPCB, I’m starting to wonder what prototype PCB services other people are using for their boards.

Ladyada has a PCB Cost Comparison Calculator that shows the significant differences in price between various low volume PCB vendors, but what’s missing from the chart is the answer to: What vendors are people actually using?

If the cheapest fab house is also the best, obviously the more expensive vendors wouldn’t be around, would they?  Unfortunately, it’s usually not that simple, cheap usually means slow, or low quality, or both.

I know that some visitors to this site make prototype PCBs at home and others send them out to be fabricated.  How do you get your prototype boards made?  Vote below.

Who is your favorite prototype PCB vendor?

View Results

Loading ... Loading ...

gerbv – A free, open source gerber viewer for Linux / OS X

When you finish a PCB design, you typically use the CAM export function of your layout tool to generate a set of gerber files to send to the PCB manufacturer.  To avoid errors in the finished board, it’s usually a good idea to review the files before you click send.

Enter gerbv, a free, open source gerber viewer that is available for many platforms, including Debian and OS X (via fink).

I recently upgraded to version 2.0 (I was using the really outdated version 1.0 on Macports) and I am really impressed by the improvements in the GUI and overall usability.

gerbv is a part of the gEDA suite, which also includes layout and schematic capture tools that are slowly becoming more popular vs. more established non-free tools like Eagle.

Update: I missed an interesting update to a post over on My 2uf, not everyone seems to like the rest of the gEDA suite.

gerbv screenshot
gerbv screenshot

Free IPC-7351 Land Pattern Calculator

Let’s say you are designing a printed circuit board in Eagle, and you need to place a component that you’ve never used before.  In Eagle, before you can use a new component, you need a land pattern, a schematic symbol, and a mapping between them to fully define the part.  Often, you can search through Eagle’s included libraries and find what you need (or something close enough).  But what if that fails?

The symbol and pin definitions are usually pretty easy – just copy the datasheet.  The hard part is the land pattern: the collection of copper traces, soldermask openings, silkscreen, and other features that define the part on the PCB.

To come up with a land pattern, you usually have a few options:

  1. Someone else may have done you a big favor by creating a part definition and uploading it to the Eagle library directoryCaveat: Use it at your own risk.  Surface mount parts tend to be particularly hard to use right out of the box – often someone else’s land pattern won’t even pass your DRC.  Whose process were they using, anyway??
  2. Look through the datasheet for the part to try and find a recommended land pattern. (Good luck!  Increasingly these are not included, but may be somewhere else on the manufacturer’s website.  Google is your friend!)
  3. Take a guess based on the geometry of the part, assuming you have a mechanical drawing or a physical sample somewhere.
  4. Skip 1-3 and use an IPC-7351 land pattern generator.

IPC-7351 is a standard for printed circuit board land pattern designs.  The standard attempts to, well, standardize land patterns to try to discourage every PCB designer from having his or her own custom library of land patterns.  IPC takes known good land patterns and combines them with accepted manufacturing tolerances to produce a land pattern that will work for most people most of the time.  Increasingly you will see references to IPC-7351 in datasheets instead of a land pattern drawing, so access to the standard is becoming more important over time.

Cool, right?  Well, the bad news is that while you can browse through the table of contents/introducton for free, downloading the standard costs big bucks.

Fortunately, PCB Matrix has a free IPC-7351 Land Pattern Calculator (direct download link here) that you can use to generate land patterns based on the standard.  You don’t need to own a copy of the standard to benefit from it.

The calculator is somewhat tricky to use but if you click the right buttons you can get something like what is shown below (click to enlarge).

Thin SOT23 8-pin Package Land Pattern Screenshot
PCB Matrix IPC-7351 Land Pattern Calculator Screenshot

X and Y are the dimensions of the recommended pads for an 8-lead Thin SOT-23, which happens to be the package for the LT3464.

With this information, you can return to Eagle and create a land pattern for your device.  PCB Matrix will also sell you premade Eagle libraries, but from their site it was not clear how much they cost.  Based on their other products, my guess is several hundred dollars and a yearly maintenance contract – I’ll draw my own, thanks.

Unfortunately, the calculator is Windows only, so Mac guys like me need to use VMware Fusion or similar to use it.  Can someone create a web version, please?