Since the excellent CERN push and shove router has been pulled into mainline, I've been playing around with the KiCad nightlies. This is a bit bleeding edge, but given the rate of development (and, so far, mostly minor crashes) it's been okay.

The push and shove router is just awesome. At the moment it still only exists as a special rendering mode, so it's a bit cumbersome to switch between it and the rest of the functionality. I can't wait for the OpenGL rendering CERN have added to be the default.

There's a few really powerful changes straight off in the OpenGL mode. The first is the layer you're working on is brought to the top, so you can much more easily see the related traces for the layer. This seems simple, but it makes a world of difference for running traces.

The push and shove router has some great features. Apart from being able to more intelligently follow where you are pushing the cursor, it will adjust tracks around the path you're taking to meet design rules. This means tracks are gently pushed away to fit the new track, but only enough distance to ensure you are within DRC.

But you can also drag traces like never before. Hitting G on a trace allows you to just drag the trace section, so it adjusts how it connects to the other stationary parts, and adjusts other traces to suit how you are trying to push the segment around.


For example, in the screenshot above, I've just pulled the LED lines so they are spaced close, and clear of the mounting hole. It's easy to just grab the angle section and pull it towards the capacitor to the left, and then pull the other lines to bring them together.

Similarly, I ran the USB D+/D- lines first, but then needed access to the two pins beside them. It's easy to start a trace, and drop a via, with the lines being gently pushed out to suit.

KiCad was already allowing me a lot less instances of having to rip-up traces, but with the new router I'm doing so even less, and it's much easier to get a really tight design done.