Yet another "making a board without a schematic?" post

I’m in a small-business manufacturing environment. We make a high mix of simple custom boards, the vast majority of which have no schematics. One CAD operator can make around 5-10 new layouts a day.

The current process here uses Eagle; Autodesk finally formally announced that Eagle support and access will be cut off in June of 2026, so I’m starting to evaluate other software options.

In Eagle, a custom automated script places components and connects nets/airwires/signals between the proper pads. Once that’s done, the CAD operator manually routes the most critical traces, and then does autoroute for the majority of the board.

But in some layouts, it’s necessary to delete airwires, such as to add in a jumper wire component, and then reconnect new airwires. In Eagle, the reconnection is done quickly using the Signal command: Activate the Signal tool, and click on each pad you want connected. Then either finish that route manually, or let the autorouter handle it. So far, I’ve not found something comparable to Signal in PCB Editor. Am I not seeing it, or is it not there?

I searched awhile here and found multiple threads on this, but they were either a few versions ago, or they weren’t quite having the same need.
Working with a schematic, even if it was automated via a Python script, would add additional complexity and steps to what is already a labor-intensive part of the production process, so I need to avoid adding that in.

I’ve not used Eagle so I don’t know if I quite follow what your need is, but there is no equivalent command where you can activate a tool and then click pads to create connections between them in the netlist.

In KiCad, Python scripting is only supported in the PCB editor anyway (at the moment), so if you wanted to add automation to get closer to your old workflow, you could do that without a schematic.

You could perhaps add Python action plugins (toolbar buttons) that would act on a selection of pads, so e.g. you could have a workflow where you select a group of pads and click a button, which would then generate a new net with some random name, and connect the selected pads to this net.

KiCad does not have an autorouter, by the way – are you planning on using an external autorouter or just routing the boards by hand?

Ok I’ll have to look more at the Python capabilities and what can be done. Maybe it’s possible that we could write something that will replicate the functionality. It’s something I’d need; we do use that Signal tool fairly often.

Freerouter is the next thing I’ll be checking into to see what that workflow might look like.

I made a tool called WireIt that allows you to make/remove arbitrary connections between pads. I’m not sure if it still works with the latest KiCad since the Python API is so mutable. If it fails, at least it would be a starting point for your own efforts.

I also maintain a list of third-party plugins for KiCad. You might look at that to see if there’s anything else you could use.

2 Likes

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