O.K. I created a small board with KiCad 5.1.4-1. If I can find a way to attach it to this forum I will,
(Well I haven’t found out how to do that, though I know it is doable). Can someone please help me with doing that?
here is what I have done:
I associated footprints with components, and each component has a name, include C1. the board is fully annotated. I created the netlist.
I imported the netlist into PCBnew. It shows C1 etc, and I positioned the components on a board.
I did not put a cut outline around the components to create a board outline, because I don’t know how yet.
I then exported the file as a spectra.dsn file.
I then pulled that into freerouter (from freerouting.org)
And let it rout the board, and saved it as a .ses file.
I then went back to KiCad and get an error when trying to import it.
Board may be corrupted, do not save it. Fix problem and try again.
"Session file as ‘reference’ to non-existent symbol “C1”
In the session file, there is a reference to placing C1 at a particular spot, but no where do I see that
name C1 associated with anything, indeed this seems true for ALL the components. Yet when they were being positioned on PCBnew before routing they do have names, there is no error in annotation checking, and in freerouter they are also present.
What causes this, and how can I get around it? Is there some place that there is supposed to be a component name?
a snippet from the .ses file…
(session EFM8BB31_b.ses
(base_design EFM8BB31_b.dsn)
(placement
(resolution um 10)
(component Capacitor_THT:C_Axial_L5.1mm_D3.1mm_P7.50mm_Horizontal
(place C1 1587500 1435100 front 270)
(place C2 1549400 1435100 front 270)
)
(component Capacitor_THT:C_Axial_L5.1mm_D3.1mm_P7.50mm_Horizontal::1
(place C3 1511300 1435100 front 270)
)
(component
…
)
)
)
)
In addition, when freerouter runs, is there any way to go in an manually reroute some lines. The autorouter did three blind vias under the cpu, and those could have been routed without vias under the CPU. I’d like to correct that if possible.
I’ve never had this kind of problem with freeRouting, other than the Uncode character issue. I was curious enough to look into DSN and SES files of mine.
In the SES these components share the same footprint:
(component Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder
(place R2 1016000 -736600 back 90)
(place R1 1257300 -736600 back 90)
(place C4 1016000 -787400 back 90)
(place C3 1257300 -787400 back 90)
)
and are simply echos of the input DSN:
(placement
(component Capacitor_THT:C_Radial_D8.0mm_H11.5mm_P3.50mm
(place C1 101600 -66040 back 270 (PN 100u))
)
(component Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolder
(place R2 101600 -73660 back 90 (PN 10k))
(place R1 125730 -73660 back 90 (PN 10k))
(place C4 101600 -78740 back 90 (PN 100p))
(place C3 125730 -78740 back 90 (PN 100p))
)
My guess is your kicad_pcb file changed between the export of the DSN and import of the SES and C1 got deleted so pcbnew couldn’t match it up. Did you do something in between?
Also check the obvious issues, like exporting/importing to/from the wrong file. Check the file times to be sure they were updated.
As for manually routing some traces, you can either do this before the export, and freeRouting will only deal with the unrouted nets. Or delete the autorouted traces after import and do those yourself.
Ok. Thanks.
The work flow was:
create the schematic in eschema.
annotate manually
associate components and footprints.
generate a net list.
did a rules check, with no errors
import the net list into pcbnew.
rotate and move the components around to place them on the board. NOTE:
I did NOT create a board outline, not sure how to do that, nor what the dimensions will be once
I placed the components.
Did an export as a ses file. imported that into free routing. Ran free routing. exported a ses file.
reopened kicad, opened pdbnew and did an import of the ses file.
A friend of mine who is an altium user who has been priced out of the market, is going to be trying kiCad. He has been a pcb designer for decades. He looked at my net list and opined that I may have two capacitors to close together.
I have done the components placement 3 different times, and at least one time worked, so may just be that C1 is somehow outside of the rules check. dunno.
I don’t close pcbnew before running freeRouting, and definitely don’t save the board with the rats nest. Try leaving pcbnew open during the autorouting.
The version I am using is 5.x.x. which doesn’t have autorouting. You have to save the .ses file, and import it into the auto router.
My main problem is that after the routing, and re-import back into KiCad, there are errors, involving a “missing capacitor”.
That worked this time. Very strange.
Now I want to move some traces (I don’t like some decisions the autorouter made)
how do I do that?
I see route now enabled.
I need to move a trace and a via.
I can use the push router and add a line, but cannot seem to be able to delete the via or move the connecting trace.
I see I can delete a trace, and route it otherwise, but I CANNOT select a pad. i.e. it won’t snap to the pad I want to put it on.
Good. After the import of the SES file, all the tracks are as if you had added them manually. You can delete them, modify them, etc. freeRouting has done its job.