Curved traces in layout editor

I’d love to see an implementation of curved PCB traces, similar in capability to that of Autodesk Eagle:

  1. Support for arc traces in the layout editor.
  2. The ability to mouse select and drop the end of a 45 degree arc to define its radius.
  3. The ability to apply rounded corners to angled traces.

I believe Eagle implements arc paths in exported gerber code by generating many small straight-line segments. RS-274X supports circular interpolation coordinates for plotting arcs, but I don’t know the extent to which this is supported by the PCB fabrication industry.

While the significance of rounded traces for electrical performance is a matter of some long-standing debate, I offer the following justifications:

  1. Artistic expression.
  2. Stress management in flexible PCBs.
  3. Convenience for certain types of layout, e.g. LED rings and other non-rectilinear designs.
  4. Certain unusual RF applications.

The KiCAD community has discussed this feature, but it appears to be a low priority.

1 Like

Hi,

Generally I agree to allow curved traces. But only arcs, not splines or so, because arcs can easily be exported to Gerber (I see no need to approximate them with straight lines).

Currently I also don’t see any fundamental issues with curved traces, I expect the implementation to be straight forward, although quite time-consuming.

The only thing which might be a critical thing is the push&shove router from KiCad, which we plan to integrate into LibrePCB (Add interactive push and shove router from CERN/kicad/horizon). I’m not sure if it works with curved traces. If not, it would be very bad to have curved traces, but no longer be able to use the push&shove router.

Oh no, that’s probably a blocker indeed :cry: I would love to see curved traces, but it will probably add some complexity to routing and also things like planes. (Although in some cases like planes we might get away with approximating arcs as line segments as a poor-man’s solution.)

I’d also prioritize a router over curved traces.

Hello, I was looking around in LibrePCB to see how to do curved traces. I only searched because in the datasheet of the IC I’m currently working with, it says that curved traces are best because they cause the least amount of reflection.

Here’s a screenshot of my latest (third) board design where I do my best to round out the 90* angles with a bunch of little straight lines.

I think a simple solution of approximating a curve with several small straight lines would be a perfectly fine solution. Though on the other hand, people can just do this already themselves as I have shown below. LibrePCB developer cycles could probably be spent on higher value things.

To be honest, I’m not a HF specialist, but your design doesn’t look like there are any really high frequencies so rounded traces are not needed. Rounded traces might be better than 90° or 45° in theory, but in practice it doesn’t matter for probably 99.99% of all PCB designs. So I’d not waste time trying to make traces round - just use 45° segments and everything will be fine :wink:

I use curved traces in my designs but the biggest hang up is no rounded edges for board outlines. My current design doesn’t need it but my next design will require it to fit in the enclosure.

Rounded edges are supported, just open the polygon properties dialog and enter angles for the line segments. See Create Board | LibrePCB Documentation.

Hmm that method does work but it seems you have to guess which edge is which and if you didnt put an edge there you have to redraw the entire polygon. This is turning an edge into a curve instead of a corner turning into an radius.

You can add/remove vertices by context menu, no need to redraw. But yes, I agree it is not a nice workflow yet to add corner radius. It is a known limitation and is on the ToDo list to improve.

1 Like