Autorouter ignoring copper fills?

I’ve created copper fills on the top layer as a heatsink for my ICs, with vias connecting to the ground plane below (not shown). As you can see on the left, the FreeRouting software is routing traces across it like it’s not even there. What is going on?

Copper fills are usually just that, fills after routing is done. Perhaps you can route a copper track around the perimeter of the fill to keep auto routing out of it?

Seems ridiculous to me that you can’t make any PCB routing considerations before the autorouter. There’s got to be an actual way to do it. What about keep out areas? Is that a function in Kicad? Would that work?

Did you associate the copper pour with a net when you created it? It looks like GND but I want to clarify just in case. There is one fork of free routing that has a developer who frequents the forum. You might want to do a forum search. If this is actually broken behavior he might be willing to look at a fix.

The biggest problem is auto routers. The developers put their time into some very nice manual routing solutions. If you ran a poll on this forum you would find most don’t use auto routing.

Personally I break up my designs into pieces and route them as I go along. It is a work flow that is well for me.

I have over 100 output pins, I’m not going to route them manually, that’s absurd. Yes it’s labeled as GND.

Doesn’t matter at this point, I’m switching back to Eagle. I appreciate that Kicad is free but it’s been a royal PITA from the beginning. 10x the clicks for something that is automatic in other programs, missing features, did you know I had to manually insert those heatsink vias as actual unconnected thru-hole components, right-click, type in “GND” as the net for each one? It took over an hour. Pardon my frustration, but Screw This.

First of all you know you can duplicate stuff with crtl+d. (Make one pad with GND net and duplicate that.)

Also in open gl canvas you can use the array function to place stuff in regular grids.

And have you tried the interactive router? (I came from eagle and this feature ensured that i never go back.) This is another feature only available in open gl canvas.

From your screenshot i would guess you are still in the legacy (default) canvas. No wonder you think eagle is better than kicad if you use this old stuff.

Like any complicated software, KiCad takes a little time to learn exactly how to do things. How much time did it take to get comfortable with Eagle?

1 Like

Yes keepout areas are supported by kicad. (The button directly above the zone button. At least in open gl canvas. Not sure about legacy/default)

I sadly do not really know what freeroute supports. But this should be an easy test to do for you.

KiCad is different certainly. However, almost any EDA program can be frustrating at the beginning. If you want KiCad to be Eagle, then you will never be happy.

But, if you are willing to learn and be flexible and stick to it past initial frustration, then you may find that you actually prefer KiCad.


I’ve never done anything that complex but my reading leads me to believe there are many more things to take into consideration than just making sure the pins are all connected to the correct trace. While not needed I try and work those ‘best practices’ into my simple boards so they become habit because sometimes this seems like voodoo. I’ll read a “Why did this work on my breadboard but not on my professionally manufactured PCB” thread somewhere and these seem to be the hardest errors to catch after the fact. And sometimes most expensive. :wink:

Newbies to board layout love to see the software has a huge library of parts and an auto router because that makes life easier, right? (No idea what level the OP is at and not meaning this as disparagement) In the end though, avoiding work seems to make more of it. Spent two hours looking for a library part on the internet somewhere? Yeah, I just learned to make the parts and footprints. Want to make sure your layout is optimal? Hand routing goes a long way in teaching that.

OP. You are allowed to have your own reasons and goals. No problem there. I’ve found this a great community to learn the software AND proper board layout. If this software doesn’t meet your expectations and Eagle does, that’s OK. Like I said earlier, unless someone steps forward to do it, I don’t see auto route being a concern for the developers and most on this forum. I went through great lengths to get Free Routing working. Took me 10 minutes to decide it wasn’t worth it. Once you get the hang of the manual routing tools, if you choose to stick it out, I think you will see why. Best of luck in your project.

That’s great that you route everything by hand at work, but that’s your professional capacity, these are just some LED drivers for a Halloween display. Not everything is going on the space station, know what I mean? In the five projects like this I’ve done before, I’ve used Eagle’s autorouter and they work fine. You and I would have ended up at the same destination except I’d have a few extra hours left over. It’s 2017, auto-routing should exist that works “well enough” for hobbyists. Anyway, I digress. I found a solution with building vias and fills into the footprint. I appreciate the help.

Duplicate the ground fill as a keep out zone

I tried that actually. It completely ignores the keepout.

I’m confused, are we talking about Freerouter or KiCad autorouter? The version of FreeRouter I use doesn’t seem to handle zones well, there are a few different versions around.

This is getting off topic, but is there a tutorial on the different canvases available and their features? How do I know when I’m using the best tools? I had been assuming that the different canvas choices had to do with rendering quality or somesuch, and did know they had different abilities.


The new canvas is the open gl canvas. (developed by the guys at cern.)
Currently in the stable release some features of the default canvas have not been transferred over to the open gl canvas. (There are some guys who say they can not use the open gl canvas because they miss some very important feature. I never used default.)

No new features are added to the default/legacy canvas.

The next kicad release (long overdue) will probably switch to the open gl canvas as default and keep the old canvas as legacy option.

Here the official list of new features only found in the open gl canvas: (Nowhere on this side is it mentioned that these features are only in open gl.)

There are also several discussions here on the forum concerning exactly this topic. But they dent to get derailed. The best one that i could find is this one.

It does focus on the nightly build versions though. So some features discussed there might be missing in the stable releases. (Nightly build is the current development master build every night. So it can be quite unstable.)

I personally only use the open gl canvas. So i can’t give a list of features missing from it. But i can definitely say that the interactive router, differential pair routing and array functions are missing from legacy.

Switching between canvases is done with F9/F11 or in the view menu bar.
(Just switch between them, play around a bit and see what you find fits your workflow better.)


Hey bwinter,

We’re very saddened you’ve decided to move back to Eagle. Would you tell us what functions Eagle does automatically that Kicad doesn’t? This would let us improve our software.


I’ll bet they’re the same 10 FAQs we get here every month. I also expect most of them are already on the KiCad wishlist. That’s apart from the things that can be done in KiCad but people don’t know how, or not as easily.

Still, it is interesting to ask the question “What top 5 things form package XXX would you like to see in KiCad?”

Recently I read someone say that better trace-length matching tools stopped them using KiCad.

I’m so glad you asked. Right off the bat,

  • I know it exists for the PCB editor, but please PLEASE add a function to highlight nets on a schematic. This was something Eagle does effortlessly–click, and it’s highlighted. I’m sitting here squinting at my schematic like an old fart trying to trace lines with a pencil tip held up to my monitor. It’s absolutely nuts to me this feature doesn’t exist—unless I’m missing something?
    -The mouse re-positioning thing is driving me bonkers. I’m sure I’d get used to it after a time, but is there a way to turn it off?
    -There is a bug where selecting the “exchange footprint” option works once, and then never again. I have to go through the edit properties window to click the button after the first time.
    -To circle back on the topic for this thread, I’m unclear what the proper workflow is to get the autorouter to work with zones.
    -Please let me add copper layers to footprints that aren’t pads and pins. Or at least let me draw polygon pins, is that a function? Am I supposed to be playing tetris with pin shapes to get the footprint I want?
    -Adding thermal planes and vias is a pain. It’s irksome and nonsensical to me that the only way to add vias is to make them a separate component, and then I have to go inside the properties and type in the net manually for each one. In Eagle you could add them as easily as you could add traces. I should be able to select the wire tool, press V for via, and not have it disappear for whatever reason once I refill zones.

Separately, I know Freerouter is a separate program, but it took me a while to devise a workflow for getting a good ground plane, which was to disable the bottom layer completely in the autorouter, then let it do its thing, then re-enable it for any spare traces it couldn’t solve, and then fill in a ground plane back inside Kicad. Is this how it’s supposed to work?

I’m not giving up on it completely. I just sent off the board to fab after finishing it in Kicad, but oy, so much frustration.

Already exists in the development version (Nightly build). This means kicad v5 will include this feature.
(The current goal is a release before FOSDEM 2018 = 3 & 4 February)

Not sure what you mean here?
In what tool (eeschema or pcb_new)? What canvas (if pcb_new)? What operation?

Do you know what settings you choose when it did not work?
What is the difference between the footprint you have on the pcb vs the one in the lib? (It might be that kicad does not see a difference and therefore thinks the footprint is already exchanged.)

You can add drawings on copper. But DRC does not support it.

From the mailing list i gather that custom shaped pins are either already in the development version or are very close to being merged. (In the stable version the only workaround are overlapping pads. In other words playing Pad-Tetris should come to an end with the v5 release.)

Via stitching is one of the features on the roadmap for v5. Not sure if it has been finished already.
This thread on the mailing list seems to indicate that a lot has been done. (Sadly i could not find any information if it has been merged. So i assume it has not yet been merged. Or i did miss the message in my search.)

For now there is the array function and the option to add tht pads to the exposed smd pads of components as a workaround. (For the later see QFN-16-1EP_3x3mm_Pitch0.5mm_ThermalVias in Housings_DFN_QFN as an example)