I want to add an USB-C Connection for Powering the STM32F103C8T6.

Currently I try to trace the D- and D+ Routes from the MCU to the USB-C.


To do that, I want to use differntialpair (in KiCad). But the Pins are interchanged. enter image description here

Will there be a problem if I would use a Vias for tracing it beneath the D+ Line?

Implementation options:

Which of these ways would be the best? Way 1: enter image description here

Way 2: enter image description here

Way 3: enter image description here

a good article about differential pairing


  • 1
    \$\begingroup\$ your VBUS should not cut the ground plane beneath a differential relatively high-speed line. \$\endgroup\$ Apr 20, 2023 at 11:06
  • \$\begingroup\$ Your placement of R1 and C1 also seems unnecessarily complicating. \$\endgroup\$ Apr 20, 2023 at 11:18
  • \$\begingroup\$ @MarcusMüller, The placement will be changed in the near future. They are remnants from old connectrion and not fully placed and updated. \$\endgroup\$
    – Y-E-Quit
    Apr 20, 2023 at 11:38
  • \$\begingroup\$ @MarcusMüller, do you know another way to connect the differential pairs? Withour changing the whole board (cause of rotationg the chip). \$\endgroup\$
    – Y-E-Quit
    Apr 20, 2023 at 11:39

1 Answer 1


As the MCU only works at up to 12 Mbps USB, it will likely work, but it can't be guaranteed as in general the differential pairs violate multiple best practices how differential pairs in general should be made.

For example, there is no continuous ground plane under the pair, you should not break the pairing by asymmetrically putting vias to one wire of the pair, and likely the differential impedance of the pair is not defined, and having a correct 90 ohm impedance on a standard 2-layer board calculates to trace width you likely don't want which means for controlled impedance you need 4 layer board.

If you need to swap polarity, there are a lot of options, some of which might not apply to your case.

Flipping the MCU or connector to oppsite side of board will swap lines.

Have equal amount of vias to swap the pairs, but you need to add two vias per wire to route both wires of a pair to bottom layer first, and then back to top layer, but in different order. Some 3D thinking is needed to make all traces equal length.

  • \$\begingroup\$ Thanks for your explaination. I have edited my Question. Would the other three options also work well? \$\endgroup\$
    – Y-E-Quit
    Apr 21, 2023 at 12:53
  • 1
    \$\begingroup\$ Options 1 and 2 look identical. Option 3 looks like against standard differential pair routing methods. If the PCB has two layers, they are all bad. \$\endgroup\$
    – Justme
    Apr 21, 2023 at 13:29
  • \$\begingroup\$ In Option 3, I did it like you mentioned in your Answer above. I also only can use a 2 Layer board. \$\endgroup\$
    – Y-E-Quit
    Apr 21, 2023 at 13:51
  • \$\begingroup\$ If so then you can't get the correct differential impedance anyway. \$\endgroup\$
    – Justme
    Apr 21, 2023 at 14:23
  • \$\begingroup\$ For routing and connection reasons, option 2 would work for me the best. BUT it is most important if it would work (the ideal case can be ignored)? \$\endgroup\$
    – Y-E-Quit
    Apr 25, 2023 at 7:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.