With other products I frequently terminate autorouting, make convenient connections to the pin-headers, and then reallocate the pins at the connector when this is and option. (the schematic is corretcted of course afterwords)
I am trying to do this in pcbnew and I cannot turn off autorouting–it is prohibiting me from connecting the tracks to the pins as it considers the connections invalid.
How can one temporarily stop autorouting?
Thanks
Fritz
It’s not autorouting, it’s interactive routing. Autorouting means that the program finds a route for the whole track from beginning to end.
I hope re-assigning nets to pins from the layout to schematic will be possible in v6. Until then I do it old-fashioned way: I write down what I want to change, go to the schematic to change it and push it to the layout.
You can try Route -> Interactive Router Settings -> Highlight Collisions mode and Allow DRC violations. In any case you can’t push the changes back to the schematic from the layout in v5.
Is this close to what you are trying to do?
First you draw a schematic, with neatly looking wires, and then the ratsnest on the PCB is a horrible mess?
Instead of trying to work backwards, I would simply work forwards. Start with deleting the wires in the schematic, press [F8] to update the changes in the PCB:
Then start laying out your tracks from the IC to the connector. At this stage KiCad won’t let you connect things, because that would violate the DRC rules, because there are no connections in the schematic and netlist.
When you know which connections you want, you can add them in the schematic. This looks nice on the PCB:
Pin 28 of the uC to pin 2 on the connector.
Pin 27 of the uC to pin 1 on the connector.
Pin 26 of the uC to pin 3 on the connector.
Pin 25 of the uC to pin 5 on the connector.
Pin 24 of the uC to pin 7 on the connector.
Pin 23 of the uC to pin 9 on the connector.
Then, press [F8] again. In PcbNew the white Ratsnest lines have appeared and you can now make the connections.
It’s not what you asked for, but it is how I would do it.
You can have both Eeschema and Pcbnew open at the same time. (Go buy a big monitor or multi-monitor setup…
Also, if you have both progams open at the same time and you select a pin of a footprint in Pcbnew, then Eeschema will pan to the corresponding location and highlight that pin. This makes finding pins easier if you go by pin number.
I think that the setting you are requesting is:
Pcbnew / Route / Interactive Router Settings / Options / [ ] Allow DRC violations
On my system that checkbox is greyed out and can not be selected.
It works only in Highlight collisions mode.
Thanks guys.
Firstly thanks eelik for the tip on how to shut off the interactive routing. And Paul’s issue with the Allow
DRC is now revealed–you must check “highlight collisions” first to “un-gray” it.
Also appreciate the terminology explanation. Autorouting would be nice in v6 but in my brief experience with Altium seems like I ended up having to redo things anyways. The present KiCad tools are working pretty well for me.
Paul–I am happy to see that I am not the only person with the problem you show–Happens all the time and is a real drag with 100pin PICs etc. I basically solve the problem similar to what you show (and you did a great job of it!) but on occassion it helps me to “think through” some situations by just manually drawing the layout and then reversing to the schematic. (I understand that this last step is not automatic–probably would not be a good idea).
So looks like I can get out of the ratsnest now and get this board off to the cutter.
Cheers and have a nice weekend
fritz
Indeed, with Highlight Collisions I can also enable **Allow DRC violations"
After that I can make faulty tracks in my PCB.
Still think my first approach is better though.
Yes-your approach is the appropriate one. As you mention having the big extra screen helps but I am working from home on the sofa today–sitting with a cup of coffee next to my kitty–life is good once in a while!
fs
My post was unclear - autorouting isn’t coming, but changing a pin’s net from the layout is within the limits of possible (it would be “pin swapping”).
But whatever method you use. The schematic and PCB will still get (temporarily) out of sync. The only advantage I see over my proposed method is you do not have to swap as much between Pcbnew and Eeschema, and you can use the ERC and/or DRC error list as a guide to clean up the schematic.
Just realised:
If you combine this with drawing a ratsnest in Eeschema, it can be a pretty powerfull reverse-engineering tool
As mentioned above, autorouter isn’t planned for v6. Here is one of the philosophies of the KiCad team (and proceeds from the purchase of this shirt go towards KiCad development):
https://contextualelectronics.com/product/never-trust-the-autorouter-t-shirt/
I seem to remember a developer asking about implementing at least a simple one. My support for it was solely based on it might help new users acclimate because of the learning curve. Less about someone coming from another program as someone new to this type of software.
First: This thread is drifting. OP mentioned “Autorouter” in the title, but the actual question was not about autorouters.
There are a multitude of problems with autorouters. Simple autorouters can lay a lot of tracks fast, and then you’ve completely messed up your ground integrity on a 2 layer board and fixing it takes more time then laying the tracks in the first place.
I also completely love the Interactive router in KiCad. To get an idea of it’s power, watch a few vid’s or experiment with it. It pushes multiple tracks & vias aside (without disconnecting thatother track) to make more room to squeeze in yet another track.
I’ve seen some vid’s of demo’s of very sophisticated “guided” autorouters. You first make some complex setup, then define some general areas, for example to break out an 32 bit databus from an FPGA, and then you specify the general direction of that databus to connect it to the next chip. Maybe something like that will be added to KiCad in version 12 (or ins version 7 when someone is willing to spend the money or time to push such features forward)
Maybe it’s not even very hard to add such things to KiCad.
The Interactive router is already pretty good.
Some time ago routing for differential pairs was added.
From differential pairs to a whole data or address bus might be relatively easy when you look at it in an optimistic way.
I did indeed use the wrong definition of autorouter, and my initial question was answered.
I am good with the present interactive router-it meets my needs just fine.
The one thing that KiCad does not seem to allow is the moving of parts after placing and connecting. I had to bump a 64 pin device a few mm diagonally for example and it took a long time to reconnect all the tracks. It would be useful if it could allow the tracks to optionally follow the part and stay connected, even if a little touchup is required afterwords. (Perhaps it does and I missed the option)
thanks
fritz
A partial workaround is to use block move and move the “breakout part” of the tracks with your component. Recently support for complex selections was added to Pcbnew by holding the shift key.
With box select, dragging the mouse to the left also selects components crossing the window, while dragging the mouse to the right only selects fully enclosed parts.
Single clicking on already selected parts unselects them.
Clearing the area you want to move to upfront also helps a bit.
Edit:
This is mind bogglingly amazing. This issue was open on git- Lab/Hub for 2 years and I gave the issue a on gitlab, which bumped it to 3 as you can see, and a few hours later I get a mail that it’s fixed.
Tomasz Wlostowski commented:
45-degree footprint dragging is now available in highlight collisions mode.
There was an autorouter included with KiCad V4 but it was removed in V5. There are external autorouters that can be used. I have used “FreeRouting”, see <freerouting.org>. However, I downloaded the recommended LayoutEditor application for my Ubuntu OS that includes a binary version of FreeRouting, and installers for a huge variety of operating systems.
–Larry
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.