Skip to content
M Hightower edited this page Apr 28, 2021 · 79 revisions

Welcome to the MAX31855K wiki!

Not really a Wiki, yet just some notes that have evolved into a journal of observations and thoughts.

  1. I am looking at schematics for three breakout boards for the MAX31855K.

    • Maxim Integrated makes an evaluation board MAX31855PMB1, which appears to be the reference design used by other breakout boards. It goes for about $21. Hmm, considering it has the Type-K socket, Electrostatic protection circuit, and pads for additional noise suppression CAPs, maybe this is not a bad choice. However, it looks like it has a 6 week lead time at mouser.
    • Sparkfun makes a breakout board that comes close to being like the MAX board; however, it is missing the electrostatic protection circuit, comprised of a duel TVS diode and the mini thermocouple socket is an optional addition you solder on. The pads for two optional shunt capacitors in the filter circuit are also missing. After taking a second look, the board looks like it is two layers. The backside is a ground plane. The top side has ground surrounding traces. Also, the layout has excellent separation of the analog measurement side from the digital side. I think they did a better job than Maxim, in keeping the Analog traces away from the Digital. After the Maxim board, this would be my second choice.
    • The Adafuit breakout board has an onboard LDO regulator; however, it too is missing the electrostatic protection circuit and uses screw-down terminals for the thermocouple connection. The pads for two optional shunt capacitors in the filter circuit found in the reference design are also missing. Additionally, it has a resistor and diode network to perform level conversion for both SCLK and CS. I had concerns about the use of a 1N4148 instead of a Schottky Diode, this Electronics StackExchange Q/A supports my concerns. This also, will not work with the HSPI option on the ESP8266. The pull-down resistor on GPIO15 and the pull-up in the level converter create an undefined logic level. You will need to use another GPIO pin for ChipSelect. The Sparkfun version does not have the level converter Network; however, it has a 10K pull-up on CS. While I would expect the same problem, a single resistor can easily be removed with a hot soldering iron.
    • For the MAX31855K breakout board that I am using, it looks like an unbranded version of the Adafruit board; however, it is clearly built to a different bill of materials. It has several component selection differences. The Adafruit schematic shows a TI LP298XS for the LDO regulator, along with 10uF CAPs. My unbranded board uses the Torex Semiconductor's XC6204 with ~0.47uF CAPs. In fact, all CAPs on my board are ~0.47uF. The Adafuit board photo clearly shows different size CAPs on their board. An Adafruit schematic discrepancy with their product photo is the SMD mark on the LDO does not match up with the TI datasheet. I cannot get a clear search as to who's LDO part that is.
    • Torex Semiconductor XC6204, Marked 4B2X, Datasheet
    • TI's LP298XS, Datasheet
  2. When powering the breakout board with 5V from a USB cell phone charger, I get the occasional Sort Circuit to Ground error. It seems that some 5V chargers put out too low a voltage and the LDO regulator on the breakout board fails to keep up. Hand selecting a 5V charger resolved the problem. Also, note the gauge of the power wires in the USB cable may also contribute.

  3. Based on the datasheet for Torex Semiconductor's 4B2X it should handle the voltage dropping down to 3.360V and still put out 3.3V. Something just doesn't add up here. Maybe the part on the board is counterfeit. May need to use an oscilloscope to see what is really going on. For now use a good USB Changer, not the Feit wall outlet with USB charger.

    Resolved 2 & 3: This problem above was compounded by a bad intermittent Dupont jumper that I used for power. After reseating the jumper, the problem went away.

  4. The MAX31855 datasheet is a bit confusing. It indicates Power-Supply current, Icc, to be 1.5mA MAX yet its absolute maximum power rating is 470.6mW that works out to be 142.4mA. No other Total power draw specified that I can find. The back of my breakout board says 3.3V @ 100mA. I think I'll go with that. 😕 That brings us above 200mV @100mA drop-out rating for the LDO regulator.

  5. Noisy environment appears to be an issue with the MAX31855. Making microvolt readings with unshielded/untwisted wire seems a bit problematic. I have large swings in readings. An 11-minute average seems to smooth things out. ☹️

  6. It looks like the breakout boards from China bought through that popular Russian Web store are not that good on the build side. Some of the parts are the wrong values. All caps appear to be 0.5uF. The inductors' DC resistance reads 0.5 Ohm and that does not match the value for a Murata Electronics BLM18PG471SN1D as referenced in the MAX reference design. It is 0.2 Ohms DC and an impedance of 470 Ohms. This could be a low resistance measurement issue. Need to remeasure. However, CAP in that circuit should 0.01uF not 0.5uF. Two 0.5uF CAPs on the regulator's output side for a 1uF stabilizing CAP should be okay. I may add a 0.1uF to the one near the Vcc pin to give better high-frequency decoupling. I do need to add a 0.1uF CAP to the regulator's input side.

  7. The saga of the cheap breakout board continues. My probe temperature measurements have been all over the place. I added more code to capture high and low readings that I gather over my sample period that gets averaged. Huge swings, nothing but noise. And I am just using a shorting plug for the thermocouple, no long wire (antenna) is involved. The Internal temperature reading is stable and the MIN/MAX is within +/- the resolution of 0.0625 as you would expect. The probe reading is off the scale. A close examination of the PCB shows there is no ground plane. It is a two-layer board; however, the back layer is clear of foil except for where they placed the solder pads. All traces are on the top of the board. It is in effect a one-layer noisy board - junk. Next step, add copper tape, RFI shield, to the back of the board and ground it.

  8. I think the copper tape helped; however, it did not resolve the problem. Additionally, the 5.2 Volt USB Adapter appears to give better results for the Internal temperature measurements. MAX/MIN readings stay around +/- 0.0625 degrees. With the 5 Volt USB adapter greater swings. This should not be. With a low current draw, the LDO regulator has plenty of room to handle voltage drops. Something is not right. The next step, start looking at the power path with the oscilloscope.(resolved 2,3)

  9. Stepping back for a moment for perspective. Most designs I have seen for precision instrumentation where digital and analog circuitry is involved use split power supplies and ground planes for the Analog and Digital domain. If a part has both, they will supply separate pins for Analog and Digital Vcc and Vdd(ground). Care is taken to group and isolate the pins for each domain. For economy designs, these too often get combined as they are with the MAX31855. (Even the ESP8266 has separate pins for RF and Digital.)

    Considerations:

    • Resistors in the digital path to reduce noise - ringing
      • 150 Ohms are present in the Maxim reference design!
      • Add these to the module socket side to CS, SO, SCK.
      • Ringing and cross-talk ringing is greatly reduced.
    • Dedicated power and ground planes.
      • Already baked, cannot add.
      • Maybe add ferrites to the Power and Ground paths on the module socket side.
    • Strategic board layout to keep Digital away from Analog.
      • Already baked, cannot add.
      • The ESP8266 is a very noisy device. And, the WeMos module is weak on the use of 10uF CAPs on the Vcc rails. In fact, they ignored taking advantage of the chip's split Digital and RF power pins. Try adding an additional 10uF CAP to the WeMos's 3.3V pin.
    • Strong filtering of the Analog signal
      • The unbranded board's shunt CAP was already increased to 0.5uF from the 0.01uF in the reference design.
      • Improve the noise issue when using a jumper wire for a thermocouple probe first, before trying to add more.
    • Maxim has a newer part for Thermocouples MAX31856 Datasheet/Reference Design which incorporates improvements for noise. Most of my points are incorporated there. I see that a lot of the stuff discussed in AnalogDevices' YouTube: Thermocouple 101 Series are incorporated.
    • So I am lowering my expectations of the MAX31855; however, I still think there is room for improvement.
    • Limit data read frequency to three times the conversion rate (tconv). Assume the next sample, which was being converted during the time the SPI bus was active, is contaminated with digital noise. Wait for the next one after it, at least.
    • Maybe Modem sleep during the sample period. Having to go dark to read samples would be a really ugly fix.
  10. The SPI Bus ringing appears to be a significant part of my problem. Because of the sharp rise and fall time of the ESP8266 GPIO pins, the ringing was extreme. The addition of 150-ohm resistors to the module side greatly reduced the ringing. Now the temperature data collected does not go low until negative. The 8-hour minimum reading is reasonable. Looking further into SPI Bus termination and back at the Maxim datasheet, I see the input capacitance for the SPI pins is 8pF. I think the series resistors at the SPI pins combined with the 8 pF capacitance of the pin form an AC Terminator. 8pF may not be enough to complete the AC termination of the signal. At a minimum, ringing needs to be completely removed from the SCK.

  11. I had extra wiring to a second and third header to handle an SPI Display later. Still dealing with some ringing on SPI interface signals. I rewired for a single SPI subordinate, the MAX31855K. Temperature readings are much better. Still ringing. The next step will be to add ferrite to the SCK drive pin and terminator at the ESP8266 MISO pin.

Clone this wiki locally