Importing layout image and it's slooooooooow

Hi everyone! I’m designing a replacement for an old 70’s through hole board and have my schematic and custom footprints done and have started the layout. I’m using a DXF puked out from SolidWorks to make sure I get the mechanical placements perfect, however I would like to use the original layouts from a Service Manual to approximately put the components and traces down where they were on the original board.

Apparently a lot of people who reverse engineer boards have asked for an easy solution to trace over an image, but this doesn’t exist yet. After digging through many threads about this, I have found that the only way seems to be to use bmp2component and then drop the output of this onto the layout. I went ahead and did this and had one hiccup in that the bmp2component saves as a .kicad_mod file, which my version (5.0) doesn’t seem to want to add as a project specific library. It wants a .pretty file but the bmp2comp doesn’t output those. As a work around I put the .kicad_mod file into my custom library folder with the .pretty name and now it shows up as a potential footprint to be dropped into the layout. I guess this is the way to do it?

Anyway, sorry for the long intro… LOL. So, the thing is when I go to drop the new “footprint” into the layout, it shows up on the screen so I can move it with the mouse and place it, but everything is crazy slow. The spinning wheel goes for 30 seconds or more before it repaints the screen and after trying to figure out if the thing was even placed down, I crashed the program after the spinning wheel went for another 5 minutes or so. This “footprint” is from a 8x10" board and has a lot of through hole resistor and such and those are all in the scan so perhaps this is just too much graphical information for the system to handle? Or is this a bug?

I’m running this on a quad core Intel i7 Macbook Pro btw.

Any help, insights, whatever most appreciated. Thanks ya’ll!

I’m going to guess that your issue is this one:

But without the file or an image, it’s impossible to tell. If it is the issue, the solution is to use Fallback mode.

Sure sounds like it! Thanks!

Quick question: is “Fallback Mode” the same as selecting “Legacy Toolset”?

No, it’s the modern toolset but without OpenGL graphics acceleration.

Ahhh. How do I enable Fallback mode? Sorry, kind of a noob here.


click the title (= link) or the small arrow in the top right corner to read the full article

Thank you much, Rene! That makes sense and I’ll give it a go tonight.

I think the usual flow is to run the ImportBitmap tool, and that saves the footprint, and then use Footprint editor to load / massage that , before select a library to save to.

ImportBitmap will try to convert to polylines, but there can still be a lot of data.
You may prefer to split this in a divide and conquer manner ?
ie pre-edit the BMP down to just enough to load the parts placements, and then use a separate bmp with traces.

I’ve noticed the import bitmap tool tends to merge things it thinks are touching/close, so ‘more separated’ items can help the import process.

OK, so I can confirm Fallback mode does make the super slowness problem go away!

I will say that I wish there was still a feature to drop an image down in full color and adjust it’s transparancy down so you could just use it as a digital “tracing table”. And have a couple controls to scale the picture so that it’s exactly the right inch or mm size of your board. Super simple! Hopefully the programmers will add it.

At this point, with my design, I have the footprint added now, but having the whole thing converted to monochrome makes it less than useful, as I have a scan from service manual that shows the traces on the backside in pink, the trances on the front in grey, and all the components. It’s a beautiful hand drawn 70s layout, but once you convert it to a footprint its not so useful. Basically, i think it will take more time to edit the image into pieces as PCB_Wiz said (which is a good idea) than it’s worth, so I’m just looking at the print in hand and doing a stare-and-compare to roughly place and route. All the critical components that line up with the mechanical panel I have placed via my Solidworks model so they are all nuts on.

Anyway, thanks for the help everyone! Kicad is pretty cool!

You can use inkscape to rasterize the image to vector, import dxf from solidworks also, rezise your vector schematic, export everything to kicad as dxf file.

Saulo…not a bad idea!!! I may try that.

I wonder if Photoshop can do that too… I still have a CS6 installation on my MBP.

That sounds like a lot of work, for rare use.
The Import Bitmap tool already manages XY scale, but it has only a single Grey Scale slice control.
It might not be much work to add a Colour Pick Circle type extract to that tool, so that RGB values within some landing area, are accepted ?

Yup, at some stage it is best to flip to hand-entry. The most important stuff, as you say, is the mechanical align.
When done, you could also export a netlist/pinlist/pin-pair list and have someone ‘tick off’ items with a multimeter and a real board. That also covers the manual image, not quite being the right revision ! :wink:

I think the problem is that now it exports it to one layer and each layer must be monochrome because it must be plottable to a gerber. Either it should be independent of the layer system or it should be in several layers. The latter would be difficult because it’s impossible to simply decide to which layer e.g. a semi-transparent mixed color area belongs to if the image has that. But existing image manipulation programs may already have such features; maybe the image(s) could be prepared with gimp, krita or something like that, so that each board feature would be one monochrome image.

Pixel formats are definitely the wrong approach for multi layer stuff. (There is simply too much information lost in both the image compression and in the overlap of multiple layers. Really not worth investing time in this for a questionable result.)

I would also doubt that the workflow of this topic would be helped much by such a feature to be honest. Here adding some kind of background image might be a better solution. (So replacing the single colored background with an image of a board.)
I would assume the devs are aware of this wish. But i would also guess it is quite low on their priority list as this is a very esoteric usecase (when do you really wish to copy a design exactly)


Multi layer import for things like logos is possible using svg2mod as an example. (Takes inkscape files as input and can therefore be used for any vector format that can be read by inkscape.) This yields much better results and is what should really be used for getting multiple layered graphics into kicad.

Yes, it needs to be separated & vectors, which is why I proposed the Colour Pick Circle, as a small change.
The main flow is no different, ie you still need multiple exported layers.

An overlaid image would be nice, tho that’s a rather different approach - visual only, skips import/export.
I see the Windows Snipping tool has a semi-transparent mode, as do some menus in Notepad++, so maybe there is a way to manage transparency image overlay control these days ?

Depends on the graphics library used for rendering your software. Not sure if opengl is build for something like this.

photoshop don’t handle vectors very well and i don’t believe it can export dxf file. Stay with inkscape or corel draw to do that

Adobe’s Vector-centric tool is InDesign, I think is part of CS6 ?

You can do this with KiCad. Put the image on one of the non-physical layers and double-click the square for that layer in the Layers Manager Toolbar. The slider setting is called “Opacity %” and can be changed, along with the physical layers, to get the results that work best with your computer and monitor.

I think its Adobe Illustrator. But I’ll prefer Inkscape.