We've recently used an arduino along with a MAX31856 breakout board to measure some type-J Thermocouple temperature and then replicate it as a KTY xxx through a digital pot (MCP4261).

So all this people is communicating through SPI and it's all fine and dandy until we start the induction motor the thermocouple is mounted in (probably potted into the stator, don't know the exact position)... then everything goes berserk from the conducted EMI...

I think (quite obviously actually...) the thermocouple is not electrically in contact with the stator but as soon as we start running the motor even without load, the Arduino resets or just gives completely false readings (usually higher than real).

Now the question is : how should I deal with that? I've already isolated the +12V Arduino supply through a DC/DC but it might also make a ground loop if the thermocouple is grounded somewhere...

Is my only option going through an optocoupled SPI and isolated supply to the MAX31856?

Thanks for the help!


In order to answer to some of the comments :

  • Yes the motor is run from an inverter taking its power from a battery pack (it's an EV application). This battery pack is isolated from the +12V supply through an isolated DC/DC and the arduino is yet again isolated through another 12V/12V isolated DC/DC (helped a lot with other EMI problems).

  • The arduino doesn't really reset anymore (since we isolated it's supply) but it gives wrong measurements. For example : we set a threshold above which a fan goes off and when we accelerate the motor, the fan briefly turns itself on from the EMI noise picked up by the thermocouple which gives a false high reading. Then when we let off the throttle, it just stops... Powering the arduino from a battery gives the same results...

  • The thermocouple is not connected through a twisted pair from the motor terminals to the arduino but that is something we can change. The path inside the motor is not in our hands though...

  • \$\begingroup\$ Probably noise from EMI, try putting a 0.1uF cap across the thermocouple leads right at the MAX chip. \$\endgroup\$
    – MadHatter
    Commented Dec 23, 2017 at 16:18
  • \$\begingroup\$ Also, this motor is run off a totally separate supply? The thermocouple should not be grounded in any way to the motor, that would effectively make it not work. So your only noise source should be radiated EMI. \$\endgroup\$
    – MadHatter
    Commented Dec 23, 2017 at 16:21
  • 1
    \$\begingroup\$ If the Arduino resets, the problem is probably on its supply, not on the thermocouple. Can you go into the details of all the supplies you are using in your system? \$\endgroup\$ Commented Dec 23, 2017 at 16:28
  • \$\begingroup\$ Is your thermocouple connected via a shielded twisted pair cable? Is the motor case grounded? "I've already isolated the +12V Arduino supply through a DC/DC but it might also make a ground loop if the thermocouple is grounded somewhere..." - not if it is properly isolated. Try powering the Arduino with a battery - does it still reset or give 'completely false' readings? \$\endgroup\$ Commented Dec 23, 2017 at 18:44

1 Answer 1


I suppose the motor is run from a VFD as well, which are notoriously noisy.

Try adding a taste of resistance in the T/C leads, perhaps 100 ohms, and increase the datasheet capacitors by an order of magnitude (to 1uF X7R and 100nF X7R).

enter image description here

Keep the resistors physically small so the temperature differential across the ends is minimal. Ideally you could graft a pair of smallish (0805 or 1206 is fine) SMT resistors between the terminal block and the chip. You can test it with leaded resistors hanging off the terminal block, but the temperature error will be larger than necessary.

A grounded (at the PCB) shield on the thermocouple wires and any thermocouple extension leadwires may also help.

  • \$\begingroup\$ Hi Spehro. Will definitely try adding the 1µF / 100nF caps. I'm just curious about the effect on the µV coming from the thermocouple... I know the Tk input is probably super high impedance but won't I lose some voltage in the process? \$\endgroup\$ Commented Dec 26, 2017 at 7:44
  • \$\begingroup\$ Not to speak of, the bias current of the chip is very low, however there is some interaction with the break detection (optional). 100 ohms is low enough it should be minimal. \$\endgroup\$ Commented Dec 26, 2020 at 0:07

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.