First Try with Freerouting - Nothing but a blue rectangle?

Yeah, I’m pretty sure your issues are not with freerouting or java but with the input you are giving it or something else. Try it with another input first.

1 Like

kenyapcomau,
Wow, that works - the autorouter runs and makes visible progress.

So how can I determine what’s wrong with my design? It’s my first try with KiCad so it could be any number of things, I suspect.

There’s not much to getting some results from autorouter (if you want good results that’s another matter).
Make sure to import netlist, draw board outline, place all components inside, save the board, export DSN, open it in autorouter.

How did you export your DSN file?

You need to have a board in pcbnew with components and a rats nest, well at least uncompleted routes, then export as DSN. Board outline not required, nor saving the board at this point. Then start freeRouting, open design and navigate to the DSN and read it.

Can you view the exported DSN in text editor? Does it start similar to mine? I’ve heard of problems with W10’s restrictions on file access in certain locations.

Sorry, my broadband connection is AWOL at the moment, and I’m using tethering.

kenyapcomau, yes I pasted a snippet of the DSN file above. It looks reasonable from what I know.

I’ll attach it to this message:Green14SegLED-DSN&PCB.zip (14.7 KB)

You have two boards in one design, apparently Freerouting cannot cope with it.

I delete one board and exported the DSN and did it also for the second board.

edit: that is just the beginning of the routing, didn’t let it finish.

der.ule
You are correct. Something about having a board outline for two boards causes freerouting to silently fail. I solved it by creating a single board outline on the Edge.Cuts layer, and drawing the lines for the board division on silkscreen layers.
Then a re-export to DSN, and freerouting worked perfectly.

I’ve put in a row of 1mm holes to make a “snap” line to separate the boards. I read about mouse bites, but it seems most people use them to panelize multiple instances of a single design, where I have a single design split across two stacked boards.

The only issue I notices is the freerouting doesn’t maintain clearance on SMT jumper pads. I had to fix a number of those. But otherwise, and excellent job of routing.
Before:
image
After:
image

Thanks to everyone for helping solve the freerouting mystery.

1 Like

You can use breaktabs with mouse bites to separate dissimilar boards. In fact it can be used where V-cuts can’t because the boards don’t have one common dimension due to the edge to edge requirement.

I presume you are going to split the boards before populating them (as you have components on different sides on the two boards). If not, you will need to be very careful around the split under U2 on the upper board. I would be concerned that the amount of flexion required to part the boards with a row of drill holes might damage the connections nearest the split. Mouse bites and a routed channel between the boards might be a safer option especially if you want to populate and reflow a panel of boards together. There was a recent hackaday post about how to achieve this.

https://hackaday.com/tag/panelization/

John_Pateman, This is a one-off project. A total of 6 of these board-pairs will be hand assembled. I saw the HAD article, but it seems to be oriented toward panelization, which I’m not doing.

Thanks for mentioning the possibility of damage due to flexion with the drill holes. I’ve searched for “Kicad routed channel” and didn’t find any guidance. Maybe I’ve got the wrong terminology. Could you point me in the direction of how I would implement a routed channel in PCBnew?

ideally the end result would look like this, with the gap routed out except for a couple of tabs:

Here’s a picture of a board with a routed channel.

That one was done using http://blog.thisisnotrocketscience.nl/projects/pcb-panelizer/ That works on the Gerber files. The two panels happen to be the same but this is not required. You need the 2mm channel because FR4 is quite tough and even a line of holes across the board will be quite hard to break and you may damage the board in the process. That’s why there are only tabs linking the panels.

If I were doing it today I would probably use https://github.com/yaqwsx/KiKit This one works on the kicad_pcb files and Python is easier to run than C# on Linux. This also does V-cuts.

The pcb-panelizer from ‘thisisnotrocketscience’ you mention is a good solution - it is easy to arrange multiple boards and add break tabs wherever you want. It runs well on Windows but I have to run it under virtualisation on macOS and can’t get it to run under mono at all. Similar story with KiKit which I have to run in a Docker image.

I have had some success with a java app from https://gitlab.com/dren.dk/kicad-util I’m no big fan of Java in general but this seems to be quite a useful and simple tool. It will add adjustable sized mouse bites and frame breaks. Helpfully, it adds some suggested ‘Keep away’ areas on the Fab layer. MLCCs are very sensitive to damage from flexing.

Small hint about panelisation. If you use the cheap Chinese Fabs, they are a bit picky about multiple board on the same panel. I usually put tooling holes on a break-off rail to simplify stencil alignment but some fabs see this as two different boards and want to charge you double. A neat trick is to run some tracks across the mouse bite - I sometimes use these for testing. A dog-leg track with a neck-down reduces the chance of the copper pulling off the board when it comes to separation.

Screen Shot 2020-07-04 at 15.42.10 Screen Shot 2020-07-04 at 15.35.35

I managed to get one version to run under Mono but not more recent ones. Something to do with embedded resources in the C# executable, but the error messages are even more opaque than Java’s.

You might need to ask the people making the board what they will accept. I got a V-score simply by putting an edge cut down the middle and a note on the comment level.

@kenyapcomau Here is what I’ve got for a board outline. Similar to your routed channel.
I notice you have rounded corners and ends of the mill slots. Is that something you put in the edges file, or is it just a result of the fabrication process?

I’ve made some component packaging and footprint changes. The white lines show a couple of nets that need to be re-routed still.

I deleted the routes that were affected by the package changes, but when I export the DSN,
I find that freerouting will not run on a partially routed board.

So I think I need to delete all routing to let the autorouter run, unless someone can suggest another way to cause freerouting to auto route only the unrouted nets.

The rounded corners of the original board outline were done by me. You can find tutes on how to do this. When the boards were joined by breaktabs by the panelizer it created them with rounded corners.

I always delete all tracks there are any changes to the layout. Isn’t this the freeRouting bug of not handling disjoint circuits in one file popping up again? In your shoes I would have created separate designs for each half and joined the PCBs with a paneliser.

I went ahead and used the interactive router in PCBnew to fix up the routing because I wanted to learn it.

I ended up with this:
image

As was said above, the defect in SMT pads is just a bug in their viewer. JLC assures me that the pads will be normally shaped

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.