MAX31865 Module For PT100/PT1000 Sensor

SKU: SEN-037

Sale priceR 190.98

Tax included Shipping calculated at checkout

In stock (9 units), ready to be shipped

MAX31865 Module For PT100/PT1000 Sensor.

The MAX31865 is a tiny surface mount chip, used for the PT100 and PT1000 temperature sensors. Which needs a lot of other components to make it work. luckily you get nifty breakout boards like these which makes life much easier. You can control the chip and read data from it using the breakouts at the bottom.

Power Pins:

  • Vin - this is the power pin. Since the chip uses 3 VDC, we have included a voltage regulator on
    the board that will take 3-5VDC and safely converts it down. To power, the board, give it the same power
    as the logic level of your microcontroller - e.g. for a 5V micro like Arduino, use 5V
  • 3Vo - this is the 3.3V output from the voltage regulator, you can grab up to 100mA from this if you
  • GND - common ground for power and logic

SPI Logic pins:

  • All pins going into the breakout have level shifting circuitry to make them 3-5V logic level safe. Use
    whatever logic level is on Vin!
  • SCK - This is the SPI Clock pin, it is an input to the chip
  • SDO - this is the Serial Data Out / Microcontroller In Sensor Out pin, for data sent from the
    MAX31865 to your processor
  • SDI - this is the Serial Data In / Microcontroller Out Sensor In pin, for data sent from your processor

Datasheets: Max31865 IC
Sample code: Diagram and code


MAX31865 Module For PT100/PT1000 Sensor

#include <Adafruit_MAX31865.h>

// The value of the Rref resistor.
// Use 430.0 for PT100 and 4300.0 for PT1000
#define RREF 430.0
// The nominal 0-degrees-C resistance of the sensor
// 100.0 for PT100, 1000.0 for PT1000
#define RNOMINAL 100.0

// The constructor expects the Arduino pin-numbers
// in the following order: CS, DI, DO, CLK
Adafruit_MAX31865 sensor = Adafruit_MAX31865(10, 11, 12, 13);
unsigned long lastRead = 0UL;

void setup()
  // use 2WIRE, 3WIRE, or 4WIRE as necessary

void loop()
  // Read the temperature once every second
  if(millis() - lastRead > 1000)
	uint16_t rtd_value = sensor.readRTD();
	float ratio = (float)rtd_value / 32768.0f;
	Serial.print("RTD Resistance: ");
	Serial.println(RREF * ratio, 8);
	Serial.print("Temperature:	");
	Serial.println(sensor.temperature(RNOMINAL, RREF));

	lastRead = millis();




Customer Reviews

Based on 1 review
Nicholas R.

Using this on my Geyser together with a Pt100 on an ESP32 linked to Home Assistant. No issues

You may also like

Recently viewed