Hello!
I was pushed to write an article by a program I stumbled upon in search of ways to automate the development of printed circuit boards (and I did not find any references, much less articles about it). But first things first.
So, the design is developed, assembled on a breadboard, tested in action. Next is the PCB. If you believe the forums, many (including my friends) use Sprint-Layout. But this is handmade, the same pencil and piece of paper, only in electronic form. Why all these processor cores and gigabytes of memory, if you still have to work with pens? I admit, it always jarred me.
')
Now I will tell you how I achieved a satisfactory result for me in automatic mode.
Beautiful picture to attract attentionAnd I used a bunch of Proteus plus TopoR Lite.
I must say at once that I relate to these products only as a user and in no way advertise them. Moreover, Proteus can be found on the Internet (of course, for informational purposes), and TopoR Lite is free (with some restrictions).
Why these programs?
Originally used by Proteus. I do not remember where it started, but I was completely satisfied: you can draw diagrams, simulate work, build boards. The first two turned out well, the latter did not like, looking for the ideal.
I tried to draw a scheme in Eagle. But whether I am a handheld, or whether special habits and skills are needed, in general, I did not like it. At first I could not understand how to add an element. Then it turned out that you need to connect the library with the necessary elements. And how do I know the name of the library, if I don’t know the name of the element (for example, I only look for connectors by pictures). In Eagle, the Attiny2313 and Atmega328 I did not find by default. I had to google / download / copy the desired library. Well, the power bus in Proteus is connected immediately (and even these pins are hidden from the microcircuit, which distracts attention), and then I had to scatter them explicitly. The result after half an hour of poking was one chip connected to the power supply.
I tried to draw in DipTrace. In principle, it is convenient to draw. However, there is no (or not found) simulation work, I need it for debugging the circuit, and for debugging programs MK. He climbed up and returned to ISIS.
Why external TopoR tracer, if ARES has a built-in? He is sad. Those chains that can not be diluted, he just throws. If with double-sided wiring this almost does not occur, with one-sided and minimal dimensions of the board it turns out to be terrible. And since my PCB is one-sided, and to make double-sided boards more difficult, I decided - on the one hand, I want plus jumpers.
The placement in ARES is also terrifying, but I haven’t found any alternatives, but I don’t feel like doing anything manually. As they say, bezrybe and pike cancer.
So, I propose to consider automation using a standard example from Proteus 8 - Thermo.
Go to ARES, delete all the beauty that the tricky creators of Proteus have done and click on Auto-placer. This opens another drawback of this tool: it can only place components on one side of the board (I spent half an hour looking for a solution until I read in the certificate that it was impossible). Those. if you use both SMD packages and regular ones and you want them to be from different sides of the board, you will have to move the components from one side to the other with each handle.
The result of the placement is this picture:

In order to see how the autorouter works in ARES, go to the Design Rule Manager, set the POWER and SIGNAL roads on one side only (I have the Top Copper), the width of the T25 (so that there are no problems with LUT) and we run Auto-router.
This is what happens:

That is, 43 tracks he did not split and will have to do jumpers.
Well, let's try TopoR.
Again, click Auto-router, there is an Export Design File and save. In TopoR Import -> Specctra and open the file. Now you need to adjust a little. In the Design Parameters (F4) we delete the extra 14 layers, in the Width of the conductors we set from 0.3 to 0.6 mm. Press the Autotrace button, in the jackdaw settings, Reassign functionally equivalent component contacts (just in case: it seemed to me that this option doesn’t work at all, or even doesn’t work at all), Single-layer tracing and click the Run button. The tracer automatically saves the best options that you can then add to the project. Tracing will end only after clicking the Stop button. I draw your attention that the jumpers are placed automatically, and even pads are placed under them. I waited until the number of transitions reached 30 (i.e., 15 jumpers):

15 jumpers against 43 in ARES - much better!
Spending 5 minutes and slightly moving the components / moving apart the boundaries of the board, you can get 10 transitions (5 jumpers), which is already permissible:

And as for me, it is much more fun to move 5 minutes already than to lay everything on board from scratch.
White circles - DRC violations (tracks / components are too close). It doesn't matter - manually move these components and tracks a bit and press F7 - they will carefully rebuild, errors are fixed (however, I saw this very F7 buggy: after another pressing it lays down one of the roads over several others, and then swears about the error) .
The topoR-specific curvature of the tracks emanates warmly and is reminiscent of the times when the boards were bred on a piece of paper with a pencil, and on the PCB they were painted with nitro paint / nitrolac and needle / syringe / paste of a gel pen. Personally, this is rushing me.
When the result is satisfactory, you can either export the board, or print it directly from the program (there is even a Mirror Image checkbox, apparently especially for LUT).
Example of a real board:

Polygons in TopoR can be drawn, and solid / stroke / grid, but I forgot about them. On this board I drew them with a marker for disks. Shaded patches - just jumpers.
I would be glad if the article helped someone automate tedious processes. I would be grateful if you tell about more convenient tools for autolitement and autotracing (especially autolitement).