Tools/process for creating footprint from scale drawings?

What tools or process do y’all use for creating footprints from scratch from scale drawings? For example, I recently created a footprint for a PCB module based on a scale drawing provided by the manufacturer in a PDF:

I tediously measured the centerpoints of the pads I needed manually by zooming in closely with MacOS Preview and my mouse cursor.
This is tedious, but I don’t do it often enough to have really searched for (or built) a better process.

Yes, of course it’s best to have something like a dimensioned drawing (or a manufacutrer-provided footprint!), but for all those times when all you have is a bitmap embedded in a word doc turned into a PDF “datasheet”, what do y’all do?

You can import a photograph or other bitmap image in FreeCAD, and then calibrate it’s scale. After that you can use all the available CAD workbenches to do as you like. I once used this to measure a gearwheel and it worked perfectly.

FreeCAD also has the “StepUp” workbench to work with “KiCad objects”. Or you just use FreeCAD for the measurements, and then enter those in KiCad.

Another way is to first scale / calibrate your image, and then use the “Bitmap to component converter” (In KiCad’s project manager) to convert it in a KiCad component and then retrace it with pads etc, in KiCad.

Another way…

If you have an Image (of any type) with a Known Horizontal dimension, you can use my Woof App to measure any other item in the Image. Woof Measuring Tool

I’ve used this many times to get dim’s from supplier drawings when dims were missing on features I was interested in…

#1 Example shows Ruler:
Set Origin (0,0) @ 0cm and Set Scale at 5cm (50mm) (Must do Horizontal distance for setting scale. So, ensure angle, ø=0.

Then, just drag to see dim’s. Example confirms 1cm on ruler-image
(not deadly accurate as the ruler-image is fuzzy but, you get the idea…)

#2 Example shows your dongle image. I assume the Pitch of the Pads is 2.54mm
Set Origin (0,0) at left-most Pad edge and set scale to the 5th pad (dist=10.16mm)
Then, dragged to confirm dist=2.54mm from pad1 to pad2

It’s a bit easier/quicker than going through the steps in Kicad…

I’ve scaled the width of my house from photo knowing the As-Built and Measured with TapeMeasure. Then confirmed the width of front-door to within 3/8inch!

Right-click “Skin” to change Reticle/Skin

Do y’all know of solutions that go beyond manual tracing?

@BlackCoffee, your app reminds me of something I forgot to mention: ImageJ is a widely used tool that biologists use for measuring microscope images. Here’s a video demonstrating taking multiple measurements and doing basic summary statistics:

Does your tool have any kind of automatic center detection or snapping? I’ve always found the tracing-based solutions I’ve seen unsatisfying, for a few reasons:

  • without automatic detection/snapping, answers are going to vary depending on who is doing the measurement and how steady they are with their mouse cursor

  • taking multiple measurements is tedious — it also feels wrong to me when I have to do the same action (eyeball center of a rectangle) more than two or three times using a computer

To find the center of a rectangle, draw the two diagonals. The diagonals intersect at the center of the rectangle. This assumes you can fit all four vertices on the screen at once. I cannot imagine how you would draw the diagonals otherwise.

My tool uses the monitor’s Pixels. Thus, user can use a zoomed-in image.

Don’t be fooled/misled in thinking that ‘because we can dial-into extreme resolutions, that the data will somehow make the design more accurate’. It won’t.

The average thickness of a human hair is 0.1mm (~0.003ish Inch). So, think about the machines/fabrication/inspection…etc and don’t build in cost that hardware can’t take advantage of or suppliers can’t produce. Grab a PCB and look at the Pads under a microscope - are they all uniformly sized and dimensionally exact? correct? Or, within some tolerance of, say 0.1mm ?

My App has a Data collection button that creates an output text file

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.