MAX31889EVSYS# Temperature Sensor Eval Board - Review

Table of contents

RoadTest: MAX31889EVSYS# Temperature Sensor Eval Board

Author: hugohu

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: ADT7410(Analog Devices, Incorporated) MCP98244(Microchip Technology) MAX30208(Maxim Integrated) SE95(NXP Semiconductor) STTS22H(STMicroelectronics) G-NIMO-004(TE Connectivity) WSEN-TIDS 2521020222501(Würth Electronik) ADT7481(ON Semiconductor)

What were the biggest problems encountered?: The GUI software not working.

Detailed Review:

09/01/2020

I'd first like to thank rscasny, the element14 team, as well as Maxim Integrated to allow me to test and review the MAX31889 temperature sensor evaluation board, as well as the MAX32630FTHR feather-compatible microcontroller board.

 

The Maxim Integrated Software page claimed that the GUI software was compatible with Windows 7, 8, and 10. I will be using a Windows 7 device to work with the sensor and GUI.

 

A little bit about the kit:

 

The MAX32630FTHR is a board compatible with Adafruit's line of Feather MCU's.

The board is crammed with features:

- Dual Mode Bluetooth

- MicroSD slot for data-logging

- 6 axis Gyro/accelerometer

- Onboard RGB LED

- Arm Cortex-M4F @ 96MHz

- JST connector for portable projects

 

The Cortex M4F is one of the world's most powerful ARM chip families(for Microcontrollers), I believe the most powerful is the M7, so this is one step down.

2MB Flash(location to solder on more), and 512K SRAM

 

So... quite some good specifications, it should be enough.

 

And much more.

 

The MAX31889 chip communicates via i2c protocol. It's a low cost sensor, 4 dollars last time I checked.

 

It features a whopping 16-bit resolution, and the accuracy is +/- 0.25 degrees C from -20 to 105 degrees and +/- 0.65 degrees C from -40 to 125.

Interestingly enough, the Evaluation board's pinout appears to be flipped over compared to the feather standard.

 

I've installed the software from the Maxim Integrated Site.

 

image

 

The application seems to be pretty easy-to-use, the GUI was designed very well.

 

image

As shown, this is the data logging control panel, also seems very easy to use.

 

9/4/2020

 

RoadTest timeline:

 

1) Unboxing and initial review

2) Test of sensor EV kit with Maxim Integrated software

     - Test of Maxim Integrated software

 

3) Comparison of the sensor with AC sensor which is "high accuracy"

4) Comparison of the sensor with Refrigerator

5) Comparison of the sensor with commercial low-cost sensors

6) Usage of Microcontroller board:

     - Test of I/O pins, such as I2C

     - Test to use onboard RGB LED

     - Test to use onboard sensors, BMI160: 3 axis gyro and 3 axis accelerometer

     - test to data log

7) Test of battery charging:

     - danzima was able to get me JST PH 2 position plugs and crimps. I'll be testing charging with lithium ion batteries(18650), as well as lithium polymer(some battery I salvaged from an old GPS).

8) Project time!

     - I'll be attempting to make a device with the microcontroller and EV kit- will probably add a screen, battery, and data logging. Similar to a wearable but mostly to test the PMIC.

 

 

9/8/2020

 

UNBOXING:

 

Front and back of the packaging box

imageimage

Interior

imageimageimageimageimageimage

Package received.

 

The unboxing was... quite nice.

 

Seems like the default Maxim Integrated packaging, but missing the Accelerate your Designs with Maxim Leaflet.

 

Layer of foam for cushion, a static packaging, very professional.

 

Using with a Windows 7 laptop.

Installing drivers and having the software detect:

Still working on this. The documentation for the evaluation kit is hidden inside the downloads page.

 

Apparently, I messed up and copied the "Blinky.bin" file onto the board while installing drivers. Managed to reinstall.

 

Cannot use the GUI, the software cannot detect the board, even if it's transmitting through the virtual COM terminal.

 

Unfortunately, I will be unable to test the features of the chip other than just measuring if the software issue is not able to be resolved.

 

The chip has a high/low temperature alarm.

 

As the virtual COM port only gives output of the current readings, I'm unsure of how to send data to it. Thus, I will not be able to data log onto microSD or Computer CSV file, nor to use the high/low alarms.

 

So: The software simply does not work, at least not in a windows7, 32 bit environment.

 

I think there might be a reason for this: after the Windows 10 1809 update, in 2018, Device ID was no longer required for function. However, all releases before 1809 and windows 8, 7, and prior still require the Device ID. This software was released in 2019. Perhaps this is the reason.

 

Onwards with the testing. This will be quite difficult: data logging does not work. I get an empty CSV file.

 

Pressing SW1 without a microSD card inserted yields the following message in the virtual COM terminal:

 

No disk, or could not put SD card in to SPI idle state

Fail to initialize card

Version 1.1.0No disk, or could not put SD card in to SPI idle state

Fail to initialize card

 

RGB LED is also amber.

 

With a microSD Card:

 

RGB LED begins its red blinking sequence.

 

Temperature Register Values = 0x16 0xAF

Temperature Register Values = 0x16 0xB4

Temperature Register Values = 0x16 0xB5

 

As shown, this is what shows up in the virtual COM terminal, it's the values in hexadecimal format.

 

For instance, the three values are, in decimal format in Celsius, 22.175 degrees. Interesting. We are working within the normal operating range which is +/- 0.25 degrees Celsius.

 

Our temperature is within the 21.925 to 22.425 degrees range. On the other hand, I have 2 commercial temperature and humidity sensors that can be picked up on amazon for around 10-15 dollars.

 

It says, 27.1 degrees on both devices.

 

Of course, that's totally inaccurate- I would be quite unhappy if the temperature reached over 25 degrees.

 

The range is in F, is 71.465 to 72.365.

 

My thermal meters say 81 degrees. My AC says... 74 degrees. The AC temperature monitor as well as the keypad and screen module, costs around a few hundred dollars. Fine. Acceptable for a 400 dollar device that can use a Maxim 4 dollar chip.

 

Fine.

 

The temperature seems quite accurate. I haven't done anything with it and it's been at 22 degrees, add or minus 0.2 degrees, for the past few minutes. Very stable. I usually use the DHT11, which is a low cost hobbyist sensor. It's not the most stable, can jump around a few degrees.

 

Next up is the fridge test. It is 38 degrees F, which is 3.4 degrees celsius.

 

3.4 degrees is within the normal operating range, but I'm a bit afraid to put it in the freezer... for now...

 

It's also because my freezer is full, and I don't want it to short circuit.

 

Should I do it, I'll make an appropriate enclosure to test for a while.

 

Unfortunately, won't be able to test the safety alarms.

 

The sensor and board entered the refrigerator. The temperature should slowly go down to 3.5 soon.

 

Temperature Register Values = 0x05 0xEA

Temperature Register Values = 0x05 0xE7

Temperature Register Values = 0x05 0xE1

Temperature Register Values = 0x05 0xDC

Temperature Register Values = 0x05 0xD6

Temperature Register Values = 0x05 0xD3

Temperature Register Values = 0x05 0xCB

Temperature Register Values = 0x05 0xC9

Temperature Register Values = 0x05 0xC0

Temperature Register Values = 0x05 0xBF

Temperature Register Values = 0x05 0xBB

Temperature Register Values = 0x05 0xB6

Temperature Register Values = 0x05 0xB0

Temperature Register Values = 0x05 0xAE

Temperature Register Values = 0x05 0xA8

Temperature Register Values = 0x05 0xA6

Temperature Register Values = 0x05 0xA1

Temperature Register Values = 0x05 0x9B

Temperature Register Values = 0x05 0x9B

Temperature Register Values = 0x05 0x91

Temperature Register Values = 0x05 0x8D

Temperature Register Values = 0x05 0x88

Temperature Register Values = 0x05 0x85

 

As the temperature goes down at a much lower pace the closer it gets to the actual temperature, I'll discard that part until it's steady at the accurate temperature

 

It's at 4 degrees now.

 

It is closing on the temperature, it's decreasing rather slowly... around 0.001 degrees every update. Will take quite a long time. Especially since the update is 4 seconds.

 

Interestingly, it's stopped at around 4 degrees.

 

Temperature Register Values = 0x04 0x65

Temperature Register Values = 0x04 0x64

Temperature Register Values = 0x04 0x67

Temperature Register Values = 0x04 0x65

Temperature Register Values = 0x04 0x67

Temperature Register Values = 0x04 0x66

Temperature Register Values = 0x04 0x68

 

So...

Does this mean the internal temperature is 4.1 degrees or so?

 

Not too far from the actual value, if you consider the error margin of this sensor and the one in the refrigerator.

 

Either way, still very accurate.

 

I could consider doing some extreme range testing with this, but I can only think of an oven, and I'll most likely melt the components and/or make the oven unfit for cooking, due to the lead, if any.

 

Maxim Support was contacted, but we were not able to resolve the issue, so we closed the case.

 

Hopefully this isn't the end of the testing of this EV kit.

 

 

 

Now that the EV kit probably can't be tested any further, I'm shifting my attention to the microcontroller. Note: the DAPLINK MAX32625PICO is a microcontroller but I will probably not use it as such.

 

 

Blog ContentBlog Link
BMI160 Testing- Part 1MAX31889EVSYS and MAX32630FTHR RoadTest Review Part 1
PMIC Testing- Part 2(Lithium Poly)MAX31889EVSYS RoadTest Part 2
SummaryMAX31889EVSYS Conclusion

 

I will update over the next month with blog posts on the Feather and possibly an updated version with the GUI, if I make a Windows 10 VM.

 

The board(temperature) technically did work to expectations. The accuracy was very nice, just as expected. The software did not, so it is graded a 6.

Specifications should be enough. Both the MCU and the MAX31889 are very good boards.

The software doesn't work for Windows 7.

Product was moderately hard to use, since some of the libraries in Mbed are outdated.

Support materials not provided for Windows 7, Tech Support was unable to help.

The price to performance ratio is very nice. It would be very nice, however, if there was source code available for the EV board, it would be very nice, as the board could be used in a project involving the sensor. The inflexibility of having to use a computer to access the COM output is highly annoying, this might not allow the person considering using this chip to fully test, for example if it's in a wearable, the person would need to have a computer nearby. I understand that this is an EV board and that they should use the MAX31889 chip, but still, it should be considered to release some of the source code so you could try the integration out first, then make your design.

 

It is certainly a good product. It's sensor is top notch, the Microcontroller is okay.

 

The microcontroller's libraries are definitely in need of an update. They were written for MbedOS 2, when the current version is MbedOS 6. In my first blog post, I outlined some of the problems this caused.

 

I raised the score for it, as I was definitely being too critical of the software quality. It's most likely due to a bug, hopefully the other RoadTesters don't hit this problem.

 

So the GUI definitely disappointed me but the sensor did not. As I mentioned above, the sensor quality is quite exceptional, especially with the fact that it's less than 5 dollars, which is relatively inexpensive.

 

I contacted Maxim Technical Support recently, for the source code of the sensor EV kit, but I'm not too sure they want to give that up.

 

If so, I'll hopefully connect this to a raspberry pi to make a somewhat more easier to transport device, to take some more measurements should I need it.

 

I'll continue working on the blog posts to describe the Feather, over the remaining time I have left for the review.


 

Update on the Maxim Technical Support Case:

 

The person assigned to my case informed me that the word was passed to the Business Unit(BU), and was told that there was some issue with the GUI, but could not provide a timeline on the software being modified. If and when it's modified I'll add a blog post to use with the software, but there's a high chance this will be outside the 2 month RoadTest completion period... Maxim likely has a lot of tasks and this is very far from the front of the list.

Anonymous
  • Yeah, the uDFN package is relatively easier than the BGA packages...

     

    This chip is definitely nice. I might pick some up in the future, should I know how to use it.

     

    The only concern about the dev board I have is why it's dual side SMD assembly when most likely you could put everything on one side... adds a bit more cost...

     

    Well, uhh, wasn't able to accomplish much but if you need anything from the sensor(readings, comparisons, etc) let me know.

  • I missed seeing this earlier -  impressed at the accuracy and resolution of this device! Price isn't bad either.

    Also it's awesome that the SMD package (uDFN) is tiny, but still good spacing to hand-solder for prototypes.

    I think this might go to the top of my list for board and ambient temperature sensors.

    The dev board doesn't look practical for measurements with the sensor placed in the center, but for firmware prototyping I guess that doesn't matter.

  • Oh my. I forgot to check the datasheet.

     

    I'm not very familiar with the Wire library, but I will study it and try it as well...

     

    Perhaps it's back to Arduino IDE. I fear I have outgrown that considering how much better Mbed OS thing is, but I still have not yet transitioned from 8 bit AVR to ARM! image

     

    I'll poke around, read the thing, I'll keep you posted.

  • Got it image Good luck, hopefully you get more info from them!

     

    BTW this is the datasheet for the sensor right? https://datasheets.maximintegrated.com/en/ds/MAX31889.pdf  I'm not sure how familiar you are with Arduino wire library, but maybe you can try that out as well? image

  • The MAX32625PICO indeed acts as a Daplink..

     

    Oops, it's not a JTAG, that's for AVR! Stupid me.

     

    The chip does indeed communicate via I2C, but there is only precompiled code to work with the chip. I am researching this, though.

     

    I do have some Arduino's. I have an UNO and MEGA(yes very basic ones), and this is my first feather! image

     

    I am planning on transitioning to Feather and other Adafruit boards within the next few years.

     

    Don't ask why, perhaps it's because I'm positively biased towards Adafruit.

     

    Actually, that's not really necessary.

     

    The only problem is I don't know how to access the output.

     

    The program appears to send the output via virtual COM port.

     

    Which is great, because the GUI doesn't work and I can ditch my crappy windows 7 laptop.

     

    I heard Nordic Semi's processors are quite nice, one of the Feathers on my wish list is that Bluefruit nordic feather.

     

    I'll continue to test the microcontroller's features in blog posts, and I'll probably revisit the EV kit at some time...

     

    (Hey Maxim, you there? Would it be too much to ask if you could send me a copy of the source code for the EV kit? Thanks!)

     

    I actually might reach out to tech support sometime about that image

  • instead of the expected JTAG debugger provided was a MAX32625PICO board.

    That is a DAPlink I think. Looking quickly at the datasheet, they are recommending the Mbed OS platform for development. Mbed OS works with DAPLINK so you can have some nice functionality like drag and drop flashing for example.

     

    In fact, if you want to use the nRF52DK which has its own j-link OB integrated, you'll need to get rid of the segger firmware and flash the programmer mcu with a daplink compatible firmware.

    The MAX31889 chip communicates via i2c protocol

    Since you mentioned that you've worked with Arduino platforms before (and I'm guessing you have a few dev boards of your own?) maybe you can still continue roadtesting the sensor itself through that?

     

    I was really looking forward to the sensor's roadtest and I'm sad to hear that the experience wasn't that good image Hopefully you can still do some tests with it (especially on the extreme ends of temperature).

     

    Not as interested in the mcu though, like you I still prefer the Nordic ones (usually found in the feathers) image Then again I don't have the equipment so it's a bit difficult for me to fully assess the issues you are facing, and I might be being unfairly biased against maxim.