In short looking for a way to connect 12 total MAX31865 or equivalent ADC to read PT1000 sensors to ESP32.
Why?
I built a solar thermal controller system at my house to heat hot water. I initially followed an instructable called G2 Solar Controller and built an Arduino Mega based controller for the system. I significantly modified the system until I ran out of available memory so I adapted a lot of the code and now have it mostly operating on the ESP-WROOM-32 MCU. The Integrated ADC's on the ESP appear to be not great so I added an Adafruit MAX31865 and it is amazing. I'm debating on replacing all 11 of the DS18B20 digital sensors with PT1000 sensors. Because the MAX31865 uses SPI I cannot connect 11 of them so I am looking for another solution, probably i2c. this is the code for my ESP32-WROOM-32 MCU Solar Controller. here is a link to the code if interested: https://gist.github.com/seansplayin/c69 ... 4ba16340d6 I would greatly appreciate a little advice and perhaps a product suggestion.
i2c version of the MAX31865
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- adafruit_support_carter
- Posts: 29150
- Joined: Tue Nov 29, 2016 2:45 pm
Re: i2c version of the MAX31865
It's possible to share the SPI bus with multiple MAX31865's. The SCLK/MOSI/MISO pins are shared. Then each one needs it's own separate CS pin.
If you have 12 available GPIO pins to use, then should be simple. Use those for the CS pins.
If you have 12 available GPIO pins to use, then should be simple. Use those for the CS pins.
- seansplayin
- Posts: 2
- Joined: Mon Apr 10, 2023 10:50 am
Re: i2c version of the MAX31865
well after lots of digging I maybe have a better solution using the i2c buss. I found the Adafruit ADS1115 and I believe I can put 4 of these on a single i2c buss so if I have 3 i2c busses I can support all 12 of my 4 wire PT1000 sensors, do you see any problem with this?https://www.adafruit.com/product/1085 https://www.google.com/aclk?sa=l&ai=DCh ... ECI&adurl=
- adafruit_support_carter
- Posts: 29150
- Joined: Tue Nov 29, 2016 2:45 pm
Re: i2c version of the MAX31865
If you go the I2C route, using a muxer is suggested over using multiple I2C busses:
https://learn.adafruit.com/working-with ... s/overview
The MAX31865 is more than just an ADC. It's special purpose designed for measuring RTDs. So switching to an ADS1115 would require additional hardware to actually interface the RTDs.
https://learn.adafruit.com/working-with ... s/overview
The MAX31865 is more than just an ADC. It's special purpose designed for measuring RTDs. So switching to an ADS1115 would require additional hardware to actually interface the RTDs.
Please be positive and constructive with your questions and comments.