I am using three WSK12161L000FEB paralleled together on a four layer PCB for a three phase motor controller (9 shunts total in design, 3 for each phase)

  1. From my understanding, a kelvin connection to just one of the three WSK12161L000FEB shunt's measurement leads is the best practice. Is this accurate, or should I make a kelvin connection to all three shunt measurement leads? It feels like a waste of a high quality shunt to just use one shunt for measurement when they all have measurement leads. My thought is it would be more accurate to use all leads.

  2. I am using an INA240-Q1. one of the features it offers is PWM rejection. Is it best practice to place this amp next to the shunts, or place the amp near the microcontroller reading the signal? Placement next to shunts is also near the MOSFETs, a noisy spot, but sending the 20x amplified signal past the MOSFETs to controller (I think this is best). Placement near microcontroller would make the two shunt leads extremely long, which will likely pick up more noise going past MOSFETs considering this signal is not amplified. In the datasheet it does not mention which practice is best but shows the INA240 next to the shunts.

WSK1216 datasheet INA240-Q1 datasheet

Edit: added reference PCB, shunts are far from amps. Note this device was destroyed from water damage, not poor PCB layout

Shunt location shown Amp location shown, far away from shunts in my opinion

  • \$\begingroup\$ Considering the small value and high current, the layout is critical and I'm not sure how trace resistance between shunts compares to its value. Yes INA must be as close to shunt to prevent degradation of differential trace imbalance. The Kelvin method means the voltage sense lines do not share current nor are they near the connections where current gradients may exist. So it is not a perfect Kelvin method \$\endgroup\$ Feb 28, 2021 at 8:03
  • \$\begingroup\$ Is this PWM controlled with deadtime? What is dI/dt max? (to determine f max for CMRR) and deadtime? to consider other designs \$\endgroup\$ Feb 28, 2021 at 8:25
  • \$\begingroup\$ @TonyStewartSunnyskyguyEE75 Thanks for your response. The PWM does use deadtime. I believe it is 660 nanoseconds, but will likely be setting it shorter because my MOSFETs should be able to support it. Pardon my ignorance, but how do I get di/dt max? I am making my own version of the open source VESC motor controller and would consider myself a novice. the main parts I am replacing are the MOSFETs and shunt resistors to make it smaller for my application. I have learned much but still know little. Thanks for taking the time to comment on my post. I posted the reference PCB. \$\endgroup\$ Mar 1, 2021 at 4:33

1 Answer 1


You are using 3x 1m\$\Omega\$ shunts in parallel for 333\$\mu\Omega\$ of resulting resistance.

I would be tempted to use 3 Kelvin connections and add 6 1% resistors (like 100 ohms or something like that) to average the voltages. Or just use 1 Kelvin connection, but you might get 5% or more error.

The issue is that there is some small amount of resistance between where the resistors are paralleled so there is no guarantee they will share equally- for it not to affect the tolerance the difference in the trace resistances would have to be < 10\$\mu\Omega\$, which seems unlikely. With just one shunt the trace resistances just show up as common mode voltage.

  • \$\begingroup\$ Thanks so much! This is a difficult choice because board real estate is scarce. Those extra resistors are going to be tough to fit, plus the added 18 components to the BOM. I will have to think about what to do \$\endgroup\$ Mar 3, 2021 at 4:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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