Problem with thermocouple K and max6675

Hello everyone,

I bought these components and I'm having some trouble making them work correctly.

Max6675 module

Thermocouple 1

Thermocouple 2

My problem is that at room temperature the reading is 26ºC and I know it should be 19ºC compared with an analog termometer.

Also, when I use it for measuring a high temperature on an oven (over 150-200ºC) the reading is showing 100-110 ºC and it increases its value but really slowly (like 100ºC to 130ºC in 20 min).

I followed this tutorial and i don't know why is not working. (both thermocouples show the same lecture)

I tried to switch the positive and negative of the thermocouple and it's not working either.

If anyone could tell me what to do or why is not working properly, it would be much appreciated.

Thanks in advance.

That thermocouple is made to measure temperature from 0°C to 1024°C. It has an accuracy of about +/- 3°C if correctly applied. As the thermocouple output changes it's voltage by only about 40µV/°C a minor electrical noise caught by the wiring changes the reading by several degrees. So your error is probably in the acceptable range. BTW how accurate is your analog thermometer?

And check your wiring! The slightest connection resistance will show up in the measuring result.

Post pictures of your setup!

I notice both of your thermocouples are designed to have the wiring shield grounded to the frame of whatever devices is being measured.

If you have not actually put the thermocouples into the device, the whole thing is acting as an antenna and coupling any noise, etc. on to the amplifier board.

Connect the thermocouple end of the wires to the Arduino ground and see if that helps.


I want to control the temperature of an smoker using some fans.

I have everything ensambled, I send a SP speed from my mobile via bluetooth, arduino recieves it, and the fans start to spin. It works, but I want to measure the temperature of the smoker for each speed, so I use thermocouples. I compare its readings with the analog thermometer of the smoker (which works fine).

It is a 12V (not 9V like in the picture) and i connect both thermocouples to each max6675 (pins 2 and 3 in the picture).

I can immediately tell that the MAX module you have purchased is garbage. It's not using proper thermocouple metals in the screw connector. If it was, the two screws would appear to be slightly different colours.

If that device has any temperature gradient across it - like maybe one end of it is closer to the smoker than the other - then the temperatures will be wrong.

You are in a tricky temperature range there. For anything between -40C and +150C, there is a huge range of digital sensors available. Personally, I love the DS18B20. But as soon as you go out of that range, you're working with millivolt-sensitive analog devices. Radio interference and grounding issues are huge. If I had to move away from my favourite DS18B20 then I will first look to see if there are any digital sensors for the temperature range I need, then look at RTD resistors, maybe with a MAX31865 chip.

I don’t think this is a type K TC, type K wire colors are red and yellow in the US, could be a type J, can’t say about the other one.

EDIT: In the US the red thermocouple wire is NEGATIVE (-).

Before throwing the thermocouple and sensor to the garbage try this library.

For hardware SPI try this example. For software SPI try this example.

It is STRONGLY recommended to add a 10nF/0.01mF ceramic surface-mount capacitor, placed across the T+ and T- pins, to filter noise on the thermocouple lines.