Tapered Line for RF - a method


I was reading a few forum posts regarding the (lack of) a tapered line. One person suggested that a arbitrary zone could be made which tapered as desired. This is a valid method, but it has the disadvantage of requiring you to redraw the tapered section EVERY time you need one, which I took to be a burden, particularly if you move components and redesign as often as I do.

I’ve had some success making a New Footprint which is a SMD Trapezoid which is able to be tapered. This technique still requires some work, but I am able to make a decent tapered section.

The Footprint has a single pad.
SMD, Trapezoid
X=2mm Y=1mm which sets the basic size
The Trapezoid Delta of 0.4 establishes the Taper. If you study the tapered pad the 0.4 is the increase on the wide end and the decrease on the narrow end. The limit is that the narrow end can not go to 0 or negative and this single parameter controls both.
A Shape Offset of 0.75 places the trace attachment point more toward the wide end.

Several such footprints maybe required to address the various board thicknesses and other params.

When doing a PCB layout with a 50 Ohm line, it is necessary to add the Tapered Section (TS) and place it with the narrow end very near the device pin. A short thin trace connects to the device pin, such as a QFN.

Since the TS is not on the schematic (therefore netlist), you have to manually edit the TS params and specify the appropriate NET. Then a wider trace can be added to be the 50 Ohm line. Also note that I added an X offset so the trace attachment point is NOT the center of the TS. Otherwise the rounded end of the wide (50 Ohm) trace will splatter over the TS. Again, this would benefit from more fine tuning.

btw - If you don’t Edit the TS params, it will still be on the copper layer but the DRC will be seriously unhappy reporting a UNconnected trace. I also LOCKED the TS so that if you reread the netlist, the TS is not discarded as it doesn’t appear in the netlist.

This isn’t perfect, but it is not a total kloooodge either. When viewed at 1:1 scale, it looks darn good and is way less painful than making a zone each time (I think).

Comments welcome.


After further contemplation and application of this method (henceforth and forever declared to be the “Barry Tapered Line Method” (BTLM), I’m quite pleased with the results. (:sunglasses:

I’ve varied the params a bit and came up with a wider trapezoid. This can accommodate a 2mm wide trace. Note the new param values in the image below.

My plan is to use the BTLM to make tapered sections for each of the standard PCB thicknesses common available: 1.6mm, 1mm…

I suppose some Python wizard could read the PCB file and automagically change the net name.


Are you using v4.0.7?

With v5 you can make pads with your chosen shapes.


I need a tapered pad. Can you point me to a document that explains it?


I don’t know whether there is a document or not. I think I read it somewhere in this forum.

The pad you need can be designed as a dxf file and imported into the kicad footprint editor.
Then, there is an option after right click on the shape -> “create pad from selected shapes”.

It could also be made with freecad+stepup, but I must say I have not tried stepup for this purpose yet.


The pad you need can be designed as a dxf file and imported into the kicad footprint editor.
Then, there is an option after right click on the shape -> “create pad from selected shapes”.

This method will not create a filled pad ATM. There is a thread here about that if I remember correctly.


But @maui, with your stepup is possible to make the footprint and then select create pad from selected shapes?


Yes, polyline pads generated as sketch objects will be filled. There is also the option to accept arcs in the poly-line sketch… The converter will downgrade those to discretized segments.
In the ksu demo menu there is a sample footprint you can play with.


Using Version: Application: kicad
Version: (5.0.0-rc2-37-ga8db21319), release build
wxWidgets 3.0.3
libcurl/7.54.1 OpenSSL/1.0.2l zlib/1.2.11 libssh2/1.8.0 nghttp2/1.23.1 librtmp/2.3
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
wxWidgets: 3.0.3 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.60.0
OpenCASCADE Community Edition: 6.8.0
Curl: 7.54.1
Compiler: GCC 7.1.0 with C++ ABI 1011

Build settings:

The process is:
Footprint Editor: : Create New Footprint

On the GENERAL tab:
Type = SMD
Shape = Custom (Rect anchor)
make the size small, like 0.5 x 0.5mm. I “think” this needs to be smaller than the pad you are creating or it may overhang the custom pad you create.

On the TOP select “Custom Shape Primatives” tab
select “Edit Primatives”
now you can enter coordinates (centered on (0,0)
the coord should be entered in clockwise or CCW sequence, otherwise it may become a bow tie shape.

In my case, looking for a Tapered Line, this is pretty easy. Changing the coords is more intuitive than what I proposed with the trapezoid.

+++++ UPDATE July 7, 2018
I changed the coordinates to shift 0,0 toward the left by ADDING 0.5 to all of the X coords. This moves the pad to the right and allows the wide 50 Ohm trace to connect to the wider end of the pad, rather than the center and causing an overhang. BB

Thanks to the developers for adding this feature and to folks who commented.