Iâm modifying an open source keyboard project https://github.com/haru-ake/lets-split-pcb-hs-cherry
I am changing the keyboard switch footprint to another footprint that supports more switch types.
Iâve changed the footprint in the layout. But, autorouting doesnât seem to work well.
- How should I reroute the tracks so that they wonât overlap with the pads/holes effectively?
- Should I try FreeRouter?
- Should I remove all tracks and route again?
I found that it works when I exchange one footprint, run DRC, delete the tracks that are near pad, and auto reroute. Eventually when I repeat this 24 times it should finish. But this doesnât seem to be a effective way.
How should I work on this?
Did you try the shove router ?
The Shove router auto-fits in valid channels, but old trace segments can block those, so a little care is needed to unroute segments that block, and you can use Edit.Cleanup tracks and vias to remove final dangling segments.
Start with a clean channel, then do more routes that allow more and more âold segmentsâ to get a feel for how this interacts.
When a new hole overlaps with an old track, edit->cleanup tracks and vias wouldnât remove those track. Now I manually move, or delete those track and reroute it. But I feel there should be some smarter ways.
I would delete all the tracks and run through FreeRouter, there donât seem to be any critical areas. You would be done in a couple of minutes, assuming you have FreeRouter installed.
thank you! free route seems to work very well.
But, Iâve these 2 unconnected pads error. But the pads seems to be connected.
Because there is a ground plane, Freeroute assumes it will be connected everywhere, but often that is not the case after KiCad has filled it. You probably have two separate areas of ground plane broken by tracks.
To fix this, you need to find a suitable place to join the two sections, just draw a track to join a GND node in one section to a GND node in the other section, which will probably need to hop over another track, using vias.
Great tip! Iâve reconnected the ground planes by using 2 vias
Is this the right way?
Itâs what I would do. If you have time/patience you might be able to fix the layout to create a single unbroken plane, but if you donât have signal integrity requirements then it doesnât seem necessary. For a keyboard I think you mostly have low speed digital signals.
Is there an option to keep the edge of the ground plate clear of tracks when I auto route?
Would it be possible when I reduce the copper plate first, do the autoroute, and then expand?
So I can always have an unbroken plane.
It might be more effective to reduce the board size in the Edge.Cuts layer, do the autoroute, and then restore the board size in Edge.Cuts layer. This would reduce the physical area allowed for autorouting.
(You wouldnât need to reduce the size of the filled zones. Itâs actually common to define a filled zone larger then the board size, allowing the edges (and clearances) in Edge.Cuts to define the actual âpouredâ copper area.)
Yes, Kicad uses Pins and Net-Names as the âinformation baseâ, and then applies net-names to traces by intersect inference. That means too many unwanted/bad intersects can actually take you backwards.
It could benefit from an unroute attached segments command, or even a select attached segments.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.