Reflection Friday :: Footprint Drawings

CEO Additude Innovation

If Technology doesn’t fix the problem … we need more technology!

Reflection Friday is here. A time to reflect over some of the small idiosyncrasies that you find as an engineer. The small things that you wonder on now and then. Why they are, and how that came to be.

I have done PCBs for 35+ years. During all of these years there have been a clear misunderstanding between writers of data sheet and readers on how to draw recommended footprints. Recently I have done a fair amount of smaller PCB with a lot of new components. The boards where as usual all very time constrained. Spending a couple of extra minutes doing, and checking, below calculations ... make ... you ... think.


A part of doing PCB design is to create footprints. The footprint is how the copper pattern for components on a PCB looks like. It states copper pads, solder mask openings, solder paste, various restrictions and nowadays most design tools have 3D information embedded.

Having support for mechanical 3D information is an issue I spent decades on. When I worked in the mobile industry I tirelessly tried to convince the tool vendors it was was a necessity. It mostly fell on deaf ears. Then Altium made it mainstream, and did it very well. Another issue is this idea on doing schematics with the "paper analogy". To do that smarter could save engineering time and raise the quality considerably. However, that is perhaps another story.

There are typically 3 ways to get inspired on how to design footprints ...

  1. The easy and lazy way. Use your PCB design tools, or 3rd party, IPC wizard. Boom. Done.
  2. Work in a large organisation that has a whole department doing specific and unique footprints. It takes a bit more time, but you will get a-class super optimised footprint for your product and EMS ... and if you change EMS perhaps the honor of redoing them.
  3. Use recommended footprints from the vendor. Read. Pain. Done.

I tend to us 1) or 3). Sometimes I use 1) and verify against 3). Especially if it is an asymmetrical or otherwise odd-ball component.

The recommended footprint drawing is usually stated at the very end of the data sheet. After part-number lists and before how the component is placed in the tape&reel or trays and packaging. The hard stuff.

There are some companies that do not adhere to this convention, and we know who you are and "The Intergallactic Overlords of PCB Design" have their eyes on you.

The "Problem"

I already now admit that this is a tiny tiny problem, in the grand scheme of things. On the other hand it has been this way for 35+ years. It is a typical example of when somebody writes an instruction without, I assume, little knowledge of the downstream work. Since nobody gives feedback, it continues.

This is feedback!

The way PCB design tools work

Every conceivable PCB design tool in the known universe handles pads the same way. You specify an overall shape like rectangle, circle, oblong, rectangle with rounded corners and other. You state the width and height, or X/Y size if that is preferred. Along with rotation, mask openings and some other parameters. Most often the pad is handled with it's center point. And also most often symmetrical and nice.

The position of pads are therefore typically center - center.

Below we have a SMD LED with 2 pads that are 1mm wide and 1.8mm in height. They are spaced 2.5mm apart, hence the X-coordinate is -1.25mm on the highlighted pad. The other pad is positioned at X-coordinate 1.25mm.

SO how does most datasheets document a footprint?

You are now bound to wonder how most companies draw the recommended footprint. Knowing very well that ONLY PCB designers will read it.

You guessed it ...

Of course they document the outer and inner dimensions of the pads.

The bottom components pad now has to be calculated from Width = (5mm - 3.2mm)/2 and Height = (2.6mm - 0.6mm)/2. In this case the Height is actually already in the drawing.

The position likewise is in X +/- (3.2mm/2 + half the padsize in X). The position in Y is in the same way +/- (0.6mm/2 + half the padsize in Y)

It doesn't take long, but total waste of time. If you ever meet a PCB Designer and need an icebreaker to start a conversation, you can always ...

- What drive me nuts is this idea of not dimensioning pads with center-center dimensions. I think PCB designers deserve more respect than that. They are the unsung heros of the electronic industry. (Ok. A bit carried away perhaps)

You will have instant success.

How it should look!

If I did the above example footprint drawing I would draw it as shown below. In this case the symmetry is obvious, so there is no need, formally, for any symmetry lines.

So is all data sheets this bad? Actually they are slightly improving, and some are better than others. I tend to use many components form Torex Semiconductors. They make quality parts and they can document footprints the way you should. At least from the point of view as a PCB designer.

This is how it should look ...

Clear and concise. Symmetry lines and documented as center-center dimensions and pads clearly dimensioned. You could, for added clarity, want a 3x on the dimensioned pad.

And with that I wish everybody a nice weekend.

Well ... one more thing ...

I got a few mails and messages on LinkedIn about the Galaxian and old school graphics. Well. It is coming along just fine. Not that it takes more time than anticipated, but time itself is limited. But here is another sneak peak on a Galaxian PCB with annotations.

The previous sneak peek was about the starfield generator in Galaxian and Galaga.

Both games had a starfield for background. It was hundreds of stars. Random positions, in random colors, that twinkled randomly and scrolled from top to bottom, not randomly. Most of the Arcade games in this era didn't have a frame buffer. Everything was (mostly) done on the fly with logic. On the other hand you could do some really impressive stuff with very little resources and counting pixels and clocks.

  • The whole field was made with 7 TTL logic gates/chips *.
  • The heart is a 17 bit LFSR (Linear Feedback Shift Register). Denoted (1) in the picture below.
  • 2x 74164 and 1/2 of a 7474 D-type flip flop.
  • The XOR gate 7486 (1) is handling the "feedback" part.
  • Bits b8-b13 is feed through a buffer (4) to the RGB outputs (mixed with other videodata later on) creating the stars.
  • The NAND gate (2), makes sure that there is more space in space than stars.
  • The NAND gate (3) serves two purposes. Z-priority and flickering of some stars.
  • Flip flop (5) taps the LFSR of some randomness and creates the audio noise channel for explosions.

* In addition to tapping some signals and clocks from H/V sync.