I made my own version of the VESC controller from the open source schematics. I'm a rookie at the rules for circuit traces but have read most of what is covered.

I do not know if I should make the inner copper layer of the same layer linked together because the MOSFETs will be fed 50V constant while the DRV8301 and MCU are fed their own voltage supply utilizing the buck converter on the DRV8301.

PCB is 4 layers.

  • Red is top copper layer supplying 50V,
  • yellow is inner copper layer 1,
  • purple is inner copper layer 2,
  • and green is the ground layer

Top Copper Layer Drew which side of the PCB hold what components Inner Copper Layer 1 Inner Copper Layer 2 Bottom Copper Layer

Edit: The VESC is made by Benjamin Vedder. His github. https://github.com/vedderb THe speed controller was design to drive BLDC motors. Paragraph 2 was whether it is okay to have separate sections for different voltages if all lead to ground. I can do 2 layers, but 4 layers allow the speed controller to be as small as possible for an electric skateboard.

Direct link to my Github page holding the files for examination. I used Kicad.

VESC 6.0 Schematic by Benjamin Vedder

  • 2
    \$\begingroup\$ Would you be possibly able to post the actual layout files? It would make it far easier to review if we know what every trace was. \$\endgroup\$ May 11, 2018 at 2:46
  • 2
    \$\begingroup\$ What is the VESC controller? Don't assume anyone can bother searching that on the internet. Please provide any useful information that makes a question stand on its own legs. Here a 4-line description of what is the VESC controller + link to the relevant web page could suffice. Any question posted on EE.SE should be useful also for other people browsing the site, not only for the OP. \$\endgroup\$ May 11, 2018 at 4:17
  • \$\begingroup\$ Your actual question (paragraph 2 above) doesn't make any sense. Try breaking it down into simpler sentences, and be clear about exactly what you think the issue is. \$\endgroup\$
    – Dave Tweed
    May 11, 2018 at 4:26
  • \$\begingroup\$ Don't pour that much copper. You create tons of picofarads everywhere, so switching stuff will easily flow into ditital and analog circuits. \$\endgroup\$
    – user76844
    May 11, 2018 at 4:42
  • \$\begingroup\$ Why do you need four layers? Should be possible to route this on two layers \$\endgroup\$
    – po.pe
    May 11, 2018 at 5:39

1 Answer 1


Designing a BLDC controller for high current motors is not an easy task, layout is very important and not only the polygon pours and which layer is top or middle. You have to focus on the switching traces, grounding , decoupling etc...

I donot claim that this is the best way to be done , but that is how i would do it anyway :

  1. use middle layer1 as Vcc (50v)
  2. use middle layer2 as GND and donot use any other pours on any other layer for GND , anypoint should be connected to this plain by a via or via(s)
  3. Use top layer and buttom layer for motor ( U , V , W ) traces and anything else.
  4. pay attention to the gate driver switching traces ( that feed mosfet gate) , make them as short and wide as possible.

check those appnotes for more info :

AN-9005 Driving and Layout Design for Fast Switching

PCB-layout considerations for nonisolated switching power supplies


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.