WT32-ETH01 and MAX31855: getting wrong temp values when Ethernet is enabled

I am using the WT32-ETH01 board and aim at using 3x MAX31855 to read three k-Type thermocouples.
Currently I am testing with only one MAX31855.

I’ve been searching google for three days now and can’t seem to find a solution:

As soon as I power the PHY interface I am getting wrong temperature values from the MAX31855.

If I only use MAX31855 I get correct values.
If I only use Ethernet, Ethernet works.

If I use both, the values at room temperature vary between -300 and -780 degrees Celsius and they change in ranges of several hundred degrees when I move my hand closer to the k-type sensor’s cable.

If I unpower the Ethernet PHY chip (alternate pin GPIO16) the temperature readings are stable at room temperature (about 22 degrees Celsius in my case) and do not change even if I touch the sensor‘s cable.

The behavior is independent of used GPIO pins for SPI to the MAX31855 chip (I tried all available pins)

I could imagine I am missing something regarding SPI initialization, but no matter what I try I get the same errors.

Does anyone have a working arduino sketch that uses Ethernet and a MAX31855 at the same time on WT32-ETH01 board
or could point me in the right direction?

I am using the adafruit library for MAX31855.

Post schematics of that board! I cannot find them. If it's a black box use it as documented and don't try custom firmwares unless you know exactly what you're doing.

This is the boards datasheet:
WT32-ETH01 datasheet
Comment:
The datasheet has a mistake on the pinout picture at GPIO „TX“ on slide 11 (of 14), it states it is IO0 but it is IO1.

And the schematics:
WT32-ETH01 schematics

Post the complete code you use. I guess a double use of some pin so also post a wiring diagram of the setup.

It seems that I may have solved it.
It appears to be related to the way Ethernet is being initialized I’m the example I found on the net.

Instead, I took a WT32-ETH01-specific library from GitHub
WT32-ETH01-Webserver_MQTT_example
and modified it to read the MAX31855 via SPI in parallel.
First test is promising, I am getting plausible temperature values while publishing to MQTT via Ethernet.

Solved. It works.
Issue was a wrong ethernet initialization code for WT32-ETH01 that I copied from some code from GitHub.
A working one is linked above.
I deleted my not-working code that I posted earlier to avoid confusion.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.