I recently bought this MAX6675 sensor with a K-type thermocouple, and I'm wondering what's wrong with it. I'm been testing it against a DS18B20 based sensor (metallic tip), and MAX6675 is giving me readings
way off the mark.

[![Chinese sensor](https://i.stack.imgur.com/gAWyF.jpg)](https://i.stack.imgur.com/gAWyF.jpg)

I tested it putting both sensors together against a hot plate and taking readings every 15 seconds. Plate start from room temperature. Previously, sensors were bring to start temp by immersing it in ice water.

[![test](https://i.stack.imgur.com/CnyuP.jpg)](https://i.stack.imgur.com/CnyuP.jpg)

Connections:

**DS18B20**

```
- Signal to Arduino Pin 8.
- Ground to Ground.
- Vcc to Vcc (plus a 4.7K resistor between Vcc and Ground).

```

**MAX6675**

```
- SCK to Arduino Pin 4.
- CS to Arduino Pin 5.
- SO to Arduino Pin 6.
- Vcc to Arduino Pin 3 (HIGH).
- Gnd to Arduino Pin 2 (LOW).

```

This is the result from a run test (temps in °C):

[![Test results](https://i.stack.imgur.com/pqwTh.png)](https://i.stack.imgur.com/pqwTh.png)

Basically, the greater the temp, the greater the difference between MAX6675 reading and "true" temp (as defined by DS18B20). In previous tests, when real temp reach 100°C, MAX6675 was giving ~150°C readings. This is not a offset or noise, but something else, almost exponential.

What is wrong here? Bad thermocouple? Throw it away and buy something else?