Using PT100 temperature sensors with the Duet and RepRapFirmware

From RepRap
Revision as of 02:55, 21 June 2016 by Dc42 (talk | contribs) (Wiring)
Jump to: navigation, search

This page describes the support for PT100 and other RTD temperature sensors in RepRapFirmware version 1.12a-dc42 and later with Duet electronics. For thermocouple temperature sensors, see Using thermocouples with the Duet and RepRapFirmware instead.


To connect a PT100 sensor to the Duet 0.8 or 0.8.5, you will need a RTD interface board based on the MAX31865 chip. The Duet uses 3.3V signalling, so get a board without 5V level shifters. These boards are readily available on eBay at reasonable prices. You will need one MAX31865 for each RTD sensor you want to connect. You can also buy boards with two MAX31865 chips, providing two channels on a single board.

These boards generally work with both 2- and 4-wire RTDs so they have a 4-pin terminal block. When using a 2-wire RTD, connect it to the RTD+ and RTD- terminals, and also add a wire link between the Force+ terminal and the RTD+ terminal, and another between the Force- terminal and the RTD- terminal.

For the Duet WiFi, you can buy a purpose-made daughter board with two PT100 channels, and you can stack two PT100 and/or thermocouple boards.


If you are using the Duet 0.6 or Duet 0.8.5, then the MAX31865 boards are connected to the Duet as follows:

MAX31865 signal name Duet signal name Duet expansion connector pin DueX4 expansion connector pin
Vcc +3.3V 3 25
Gnd GND 2 21
SDO MISO0 30 26
CS (see below) NPCS0,NPCS1,TXD1,RXD1 27,26,11,12 20,11,6,7
SCK SPCK0 28 24
SDI MOSI0 29 23

Connect the CS pin to one of the pins listed above, a different one for each MAX31865 board. The pins listed are for temperature sensor channels 200, 201, 202 and 203 respectively. If you have Roland mill support enabled in the firmware, only two channels (200 and 201) are available because the mill uses the other two pins.

You may connect both thermocouple and RTD boards to the SPI bus at the same time, but each device must have its own CS pin. For example, you can have a thermocouple board on channel 100 and a RTD board on channel 201.

Your RTD interface board may also have a DR (Data Ready) pin. Leave it unconnected.

The communication between the Duet and the RTD interface board uses 4MHz SPI signalling, so the wires should be kept short.

Firmware configuration

To tell the firmware to use a RTD channel for one of the heaters, use the X parameter in the M305 command for that heater to specify the required channel (200 to 203). For example, M305 P1 X200 tells the firmware that for heater 1 (which is normally the first hot end heater) it should sense the temperature using the thermocouple board whose CS pin is connected to NPCS0.


If the reading at room temperature is higher than it should be, then you probably have a bad connection between the RTD interface board and the sensor, or the wires to the sensor are too long or too thin. Each additional ohm of wiring resistance will increase the temperature reading by 0.25C.