This is an old revision of the document!
Sometimes things simply don't work, despite everything looks good. In such cases it's the best idea to work step by step to find the cause.
Resistors change their resistance with temperature. For fixed value resistors this effect is unwanted. Thermistors take advantage of this effect and do so in a predictable fashion.
A typical thermistor circuitry is shown to the right. About all RepRap controllers use the same design.
Connecting components this way gives a voltage on the signal line which depends on the thermistor's resistance and accordingly, on the thermistor's temperature. If the thermistor is very hot, its resistance is near zero, so the signal's voltage will be close to zero. If the thermistor is very cold, resistance is very high, signal's voltage will beclose to the supplied voltage, 3.3 volts (or 5 volts on other controllers). In between is our measurement range.
Before searching for firmware misconfigurations, it's always a good idea to check hardware. A firmware can only report the voltage on the processor's signal pin.
Actually, thermistor type doesn't matter much for troubleshooting. They all work by the same principle, so the circuitry shown above always works (unless it's broken). Most RepRap printers use thermistors with 100 kOhms nominal resistance. This means they have 100 kOhms at 25 °C (“room temperature”).
During firmware configuration types matter a lot more, because there we want not only a working principle, but also reasonably accurate readings.
Easiest way to do this is to disconnect the thermistor and measure voltage between both pins on the board. With no thermistor connected, it should be full supply voltage, 3.3 or 5 volts depending on the controller.
This measurement is simple, too. Unplug the thermistor connector and measure resistance between both pins there. At room temperature this should be around the nominal value of the thermistor, typically 10 kOhms or 100 kOhms. Warming the thermistor by hand should reduce this resistance by a few kOhms.
Measuring the thermistor while it's plugged in gives false results.
If resistance is always zero, there's a short in your wiring. If resistance is infinite, wiring is broken.
This is what the firmware actually “sees”, so it's crucial. Picture to the right shows where these pins are located on a Gen7-ARM 2.0. It's the 5th and 6th pin in the upper row.
This measurement can be done without the processor installed. If one is installed, the firmware shouldn't make these pins an output, but keep the default, input.
Without a thermistor connected, both pins should read full 3.3 volts (5 volts on 5 V controllers). Connecting a thermistor at room temperature should drop this not much, but a bit. Typically to 3.1 … 3.2 volts.
Warming the thermistor by hand might change that slightly, perhaps by another 0.05 V drop. Warming the thermistor with a lighter or soldering iron (be careful to not overheat it!), should drop that voltage further, down to very low readings, like 0.5 V.