Why product design industry prefer manual routing over autoroute for designing Pcb layout?

As to why autorouting is not so preferred is that in general it is very dumb, the more complex packages need practically the same amount of setup work defining the requirements of each signal compared to just routing it out,

Which would you prefer the shortest distance route as the bird flies to drive, or the shortest distance by roads?, one is really easy to solve, the other needs quite a bit of defining and setup to get good results out of

The other bigger issue is the lack of a good autoplacer, unless you put your components in really good placements, most tools will not move components, leaving traces that go off to a random component then all the way back, where a manual placement might place that directly next to where it needs to connect to.

As somewhere to start, take your autorouted design and start cleaning it up, move and reconnect components in better placements, fix up weird traces, etc, etc,


thank you so much for sharing @pedro

thank you for your response @Rerouter

I guess I have never tried an autorouter, but (at least for power converter pcb layout) I take it as a starting point that autorouters are almost useless. Of course if someone wants to present a good power converter pcb layout which was done mostly by autorouter, I am open to persuasion. But I can see where inputting the rules would probably be more work than simply doing the manual layout. This is like it is often easier to do a job yourself than to tell someone else how to do it. Does anyone have a high frequency buck converter pcb layout (which was >90% done by autorouter) which they would like to present? This would be an interesting challenge!

The other thing…a critical point…is that these days almost any circuit design can easily be adversely affected by poor pcb layout. I have been surprised how a deceptively simple design: A transformer, bridge rectifier, 7805 linear regulator, and filter capacitors…can be screwed up by a poor pcb layout. The output measured on an oscilloscope proved that it was a bad design.


This sounds very interesting, I am for one, a not so experienced EE doing PCBs and would be interesting at taking a look at a “bad layout”/“bad design” like the one you describe. Would you care to share?


My opinion about autorouting was established many years ago…

All my PCBs (till now) are 2 layers. We use only SMD elements (electrolytic capacitors, terminal blocks and relays are really the only exceptions). Layout conception I use can be described as follows:

  • use all bottom as GND,
  • spend long time at element placement (and rotation) to find the best to make connections without crossing (I switch microcontroller pin assignment to functions many times),
  • if can’t avoid crossing I prefere to add 0R 0603 then to break my GND at bottom.
  • go with VCC (at top) under microcontroller and propagate from it radially (through corners and its VCC pins),
  • put blocking capacitors just near each VCC/GND microcontroller pin pairs,
  • put blocking capacitor for other ICs just near their VCC pin and via it directly to GND.

I have decades of experience routing, just look at my avatar showing me at work unraveling a circuit. :rofl:

1 Like

thank you @Piotr for sharing your valuable experience.

I have no big experience in KiCad.
In my conception the key is placement. To help in it you have to see all connection wires except GND ones (as GND you have everywhere one via from you). In Protel I just hided GND net, but in KiCad you can’t do it. In my first tries I edited the netlist file deleting the GND net from it. Placing the GND zone at all PCB can be used instead of this, but I think you have to rebuild it frequently.
I failed with edition of netlist file with Windows Notepad (it added two invisible bytes at file beginning making PCBNew (4.0.7 those time) not reading it). So I used Notepad++.
Each PCB is of course different :slight_smile:

1 Like

Hi, der.ule

The design in question was done before 1998. I never had personal possession of the layout and I certainly do not have it now. However, it would be straightforward to create a layout which embodies what was done wrong, and another which corrects the errors. I would also need to explain the issue…understanding circuit operation is important. Document this and place the files all into a zip. Note that I am running KiCad version 5.99 and I guess that might work against all others easily opening my resulting files. I guess that someone on this forum might be able to advise or help with converting my files to stable release version.

I guess that all of this might take me 1-2 weeks if there is interest?

I guess that placement is the first thing to get right (after the schematic, the board outline, and the footprints.) But connections can be routed wrong even if placement is good. In my example, the placement was largely dictated by the mechanical design of the product. The second pcb layout was done properly but the first was not.

I was continuing my previous info. So if you:

  • use all bottom as GND,
  • place/rotate components to have no crossing tracks

then it is rather hardly to rout it wrongly.

Two weeks! I am sorry, of course I do not want to cause you that much trouble! I just thought that you were talking about something that you had at hand and I got curious. Thank you

I agree that grounding is the single biggest area of concern, and that a solid ground plane is usually a good bet. But not always, and grounding is not the only area of concern. It is true that in my example grounding was the problem and a solid ground plane would help (but would probably not be the best solution technically.) I am thinking that this pcb had plating on only one side.

I did not mean that this would be anything close to 80 hours of work.

My thinking on this is that the best use of time would probably be a SPICE simulation, including the small amount of pcb trace resistance which was in the wrong place thus caused the problem. I do not have a photographic memory regarding the exact appearance of the pcb, but the SPICE sim might do a good job of getting the idea across to anyone interested. I use Mindi (from Microchip) but I could also provide the schematic and results in a .pdf format so you would not need to run the simulator to see what I am doing.

1 Like

The worst design with 7805 in my opinion is to connect input capacitor far away from IC and connect it to GND near the output of the whole supply and the output capacitor also far away from IC and grounded near the input. Never tried it but till now I assumed 7805 is (by default) stable in all possible to imagine conditions. If connected in such way don’t works properly then my assumption was wrong or such circuit design is out of my imagination :slight_smile:
Coming back to the thread subject. I suppose that if capacitors would be wrongly placed then autorouter could do the connections as I described.

1 Like

Even if the placement is correct, then an autorouter can still add great detours to the wrong tracks.

Autorouters have always been a mixed bag, and I’ve never used them (except for some experiments). For “simple” boards, comparative to for example the nixie tube PCB from EEVblog (see youtube) cleaning up the autorouter mess is about the same amount of work that laying out the tracks “properly” the first time is, especially with the excellent interactive router in KiCad, and it’s push and shove capability.

The area where autorouters get really useful is for boards with many, many connections, combined with an autorouter that be guided to do partial things.
For example even things such as “Break out this data bus from this BGA to the left side”. or “Connect this 32 bit databus between this CPU and that DDR3 chip”.

In such ways autorouters can speed up some “dumb” and “boring” tasks, but they do not have enough smarts to route a whole board.

Things like for example:

  • Star grounding.
  • Thick track to a shunt resistor, and a sense line back.
  • High voltage isolation gaps.
  • Decoupling caps.
  • Sensitive stuff that needs guard rings.

And there are many more considerations to make for a good PCB layout. Think for example about a high power audio amplifier. On the voltage supply rails and the output you have 50V voltage swings and multiple amperes of currents to cope with, on the input side you have a 1V input signal, and you want a dynamic range (noise floor, harmonic distortion, etc) about 120dB lower. That’s 1uV on the same PCB. Combine that with the fact that each copper track has resistance, inductance and a stray field around it, and it’s amazing it’s possible to build such a thing in the first place.

A completely other type of PCB design is in RF design, and one of the most extreme are spectrum analyzers. Look at a teardown of a spectrum analyzer on youtube.

Such a spectrum analyzer is designed with very tight rules in mind, but those rules are very different from the earlier example of an audio amplifier.

SMPS circuits are another example where PCB layout is critical, and an integral part of the whole design. Take a perfect schematic, combine it with a bad PCB layout and the circuit does not work at all.

Because of all these limits of autorouters, and high demands of PCB design, you have to know how to layout a PCB properly first before you can learn to use an autorouter effectively. Just putting some quasi random component placement into freerouter and letting it rip does not teach you anything, and you will without doubt make errors in the first component placement. And without learning, you will keep repeating the same errors in later PCB’s you design.

If you do the routing manually, then your intimate interaction with the PCB you are making will reveal errors in the component placement, you will correct them and learn from it, so you make less errors in in the next PCB. Designing a PCB properly is a puzzle, and it requires a certain way of thinking that you can only learn by doing it yourself.

On top of all that you have EMC regulations, “Design for Manufacturing” and other considerations. Designing a proper PCB is much more then “connect A to B, and repeat until done”, which is sort of the only thing autorouters can do for you. Designing a proper PCB is an art and requires skill and experience, and you will not get the experience by using an autorouter.


Here’s an example of one IC + external components: bq25886, a Boost-Mode Battery Charger (nothing fancy nor overly specialized as a component or as an application IMO).

bq25886.pdf (3.8 MB)

Take a look at section 11.1. What kind of autorouter could satisfy those requirements?

The switching node rise and fall times should be minimized for minimum switching loss. Proper layout of the components to minimize high frequency current path loops is important to prevent electrical and magnetic field radiation and high frequency resonant problems. Here is a PCB layout priority list for proper layout. Layout PCB according to this specific order is essential.

  1. Put SYS output capacitor as close to SYS and GND pins as possible. Ground connections need to be tied to the IC ground with a short copper trace connection or GND plane.
  2. Place PMID input capacitor as close as possible to PMID pins and PGND pins and use shortest copper trace connection or GND plane.
  3. Place inductor input terminal to SW pins as close as possible. Minimize the copper area of this trace to lower electrical and magnetic field radiation but make the trace wide enough to carry the input current. Minimize parasitic capacitance from this area to any other trace or plane.
  4. Decoupling capacitors should be placed on the same side of and next to the IC and make trace connection as short as possible.
  5. Route analog ground separately from power ground. Connect analog ground and connect power ground separately. Connect analog ground and power ground together using thermal pad as the single ground connection point. Or using a 0-Ω resistor to tie analog ground to power ground.
  6. It is critical that the exposed thermal pad on the backside of the device package be soldered to the PCB ground. Ensure that there are sufficient thermal vias directly under the IC, connecting to the ground plane on the other layers.
  7. Via size and number should be enough for a given current path.

Job Security! :slight_smile:

Last night I ran some simulations of the basic linear power supply. Microchip (supports this free version of Simplis/Simetrix simulator) did not include a 7805 linear reg model, so I used an LDO they had. This all ran well before I introduced the undesirable trace resistance. With the added trace resistance, the LDO model oscillated and I could not easily fix that. (The 7805 regulator did not oscillate in the real world.) I think I can import a 7805 SPICE model from somewhere. I have done this sort of thing previously but I am not a simulation expert and I don’t remember what I did…may need to figure it out again. I think I had to fix some minor issues in the text file to get an imported model to run in Simetrix.

LM7805 has a darlington NPN transistor on it’s output, and this is an emitter follower.
Low Drop regulators have an PNP transistor on their output to make the voltage differential lower. This is a completely different setup, with different rules for loop stability and you can not expect to have sensible results if you arbitrarily exchange them in simulations (or real life).

For example:
Low Drop Regulators tend to have some issues with high capacitive outputs, and often need a minimum ESR to work properly. They work OK with electolytics, but can oscillate with Tantalums or high value ceramics or polymer Elco’s.

1 Like

Hi, Paul

Yes I am generally familiar with much of what you are saying. But…the original hardware did not oscillate, and behavior I am trying to reproduce is not related to instability. There is a (2 * AC Line frequency) current component in the DC output of the bridge rectifier. This causes a corresponding voltage drop waveform in copper traces which the current passes through. In a good design, the regulator should nicely reject this ripple and the output voltage ripple should be in the low mV peak-peak or less. But a bad pcb layout can greatly increase the output ripple, especially at full load current. So in my simulation if I get oscillation that is something I need to fix…

It is funny how sometimes something which ought to be easy turns out not to be; and sometimes vice versa. I spent a little while today trying to find an easy behavioral SPICE model for a 7805 regulator…have not found it yet. So instead, I took a different Microchip LDO model, rated for 150 mA. Then my simulation circuit added a PNP booster transistor. In the “clean” design, the 200 mSec simulation ran in maybe 2 seconds and worked nicely, producing a clean 5V output. Then I inserted the 10 mOhm trace resistance, and the simulation run is maybe 60% finished after about 4 hours! :frowning: I am expecting another dismal failure and I would quit it if anything were pressing, but nothing else is urgent and I am being patient for later tonight to see what garbage the simulation will produce. I will then bid goodnight to my darlington. :slight_smile:

It depends upon the LDO. Most of the newer types are designed to work with ceramic output capacitors. I think that a 7805 regulator (which is not an LDO) is NOT designed to work with a very low ESR output capacitor. But one of the things I tried was adding some ESR in series with my output capacitor. This did not seem to help.

LM7805, ua7805, KA7805 and a whole bunch of others are all different internally, though they have similar functionality. The big Ceramics and very low ESR polymer caps did not even exist when the 7805 variants were designed, but the emitter follower topology is much less prone to oscillation.
This is what a datasheet of a Motorola LM317 says about output capacitance:

Although the LM317 is stable with no output capacitance, like any feedback circuit, certain values of external capacitance can cause excessive ringing. An output capacitance (CO) in the form of a 1.0 μF tantalum or 25 μF aluminum electrolytic capacitor on the output swamps this effect and insures stability.

More generally I simply do not trust simulators for stuff like this. How do you verify if the spice model you use is even close to the real thing on these parameters?

I Once spent over an hour to find a working model of a NE555 for simulation in KiCad / NgSpice. The youtube tutorial I found was: Install this commercial Simulation program, and then steel the spice models from it, which I did not find acceptable.

This feels like a total thread hijack.