MAX31865 support (pt100/pt1000)

edited June 2016 in Feature Requests
hi repetier,

dont know if you are already on it but maby its a nice thing to have for the radds or other due board users.
i know that the arduino library already exists


  • No I'm not on it and not having the hardware for testing I also won't. But feel free to add it and send a patch. Search for 


    which is similar. You could use that as an example on how to do it. I guess they only differ in formula.

  • shall try.

    im going to upgrade from ramps to radds but have 2 pt100... the breakoutboards from e3d dont work with radds

    keep u updated

  • Hope it works. SPI is hopefully compatible with sd card SPI.
  • shall try it first with the max31855 setup because interface is the same, then i can see what for values i get and change the formule according to the readings from the e3d board 
  • Would be a easy start at least.
  • edited June 2016
    oke i tried and tried but cant get it to work, also i can connect to the due but no information is coming out of it (spi problem i think)

    this is the initialy code for the max31865 

    the first thing i saw was that it is somewhat the same to the max6675 the only thing is that i need to program it first on first time ussage and on error.

    but the main problem i have is the spi (i think). i saw that i need to use hal::spiInit() i need a clock devide of 200 so i thought i need to set spiInit(6) but can de due go that low (also tried 2 because datasheet says its the same as max31855)

    if (CPU=="AVR") SPI.setClockDivider(SPI_CLOCK_DIV128);
    if (CPU=="DUE") SPI.setClockDivider(200);
    if you have some sparetime left maby you could point me in the right way, that will be really helpfull 

  • also i saw that i posted this in the wrong category, can it be moved to the firmware side?

  • owh i think i found out what the problem is.. i need to set the max31865 to use spi mode 3 but everything else is using mode 0 as i can see in hall.ccp 

    // Set SPI mode 0, clock, select not active after transfer, with delay between transfers
                          SPI_CSR_CSAAT | SPI_CSR_SCBR(spiDueDividors[spiClock]) |

  • Can you change mode before and after 31865 access, so rest should work? Especially sd card would be tricky if it does not work.
  • edited June 2016
    thought it would be a easy modification (not) 

    but even with no sensor my due is just denying communication with the host, if i upload the firmware with 100k epos everything works fine 

    dont know what is happening here 

    i use the x_max endstop as select device pin all the other endstops are on the x_min endstops
  • edited June 2016
    solved the problem need to use programming port instead of native, now i can see it gets watchdog reset. 

  • tried again but doesnt want to work, changed spi chan to 3 (as i guess thats the channel or mode) and after communication back to 0.

    the only thing i get is watchdog reset, no other communication.
    runned it with only the source code of the max31865 and it works so i know that its not a pin issue.

    i think i need some extra information about how the hall:spi works.

    also is there a way to configure the max31865 on when the due first get power? now i have it before i get temperature readout so everytime its get called it will configure the max31865 first (has to do with the 3 or 4/2 wire setup)

    im not a very skilled programmer so any help would be really helpfull.
  • Hey,

    has anyone made progress regarding the max 31865 amplifier? I would realy like to upgrade my Printer with a RADDS 1.5 controller to use a PT100 sensor.

    Cheers !
Sign In or Register to comment.