Artemis Open Log unable to read MCP9601 over QWIIC

Hi there,

I am a beginner when it comes to electronics, and I have been trying pretty hard to get the Artemis open log to read thermocouple data from the Adafruit MCP9601 over QWIIC. I see that many users were having this issue 5 years ago and it seemed to be resolved with updates to the OLA firmware, specifically targeting 0x67 address for the i2c bus. I have updated the firmware and tried playing around with a few settings but I keep getting the following message on Serial output: “Known I2C address, but device failed identification at address 0x67”. I verified that the address of my sensor is 0x67 by connecting it to an Arduino. I am unsure what to do next. I was thinking of trying to change a few lines on the sensor.ino code but I think it’s a little out of my reach. Does anyone have any advice? Any assistance would be greatly appreciated :blush:

Hi Cameron (@cameroncoding79 ),

The OLA Firmware has been tested with the MCP9600, but not - to my knowledge - the MCP9601. That error message indicates it is failing the begin in the MCP9600 library. That code checks the device ID (checkDeviceID). If the 9601 is returning anything other than 0x40 for the DEV_ID_UPPER byte, the device recognition will fail… Also, I’m seeing I added many comments about the MCP9600 being a “fussy” device when I wrote and tested that part of the OLA firmware…

In summary, only the MCP9600 has been tested and confirmed to work with the OLA firmware. It may be possible to get the MCP9601 working, but there may be some heavy metal bashing to do along the way…

Sorry!

Best wishes,
Paul

Hi Paul (@PaulZC),

I was hoping you would see my post! Thank you for taking the time to respond. I saw that you resolved the issue for the other device. How do I verify that the upper byte is 0x40 and if it’s not is there a way that I can set it to that address?

Thanks,

Cameron

I had one more question if that’s ok. If I can’t get the MCP9601 to work do you have any recommendations for a thermocouple amplifier with QWIIC connection that works with the Openlog Artemis?

Hi Cameron (@cameroncoding79 ),

From the datasheet, the MCP9601 returns 0x41 and so will fail the library Device ID check:

Apart from that, the two devices are very similar. The MCP9601 has short / open detection, whereas the MCP9600 has “Input Range” (thermocouple over-range) detection. But, that’s the only difference I can see in the datasheet.

To resolve this, we would need to:

  • Update the MCP9600 library so it will accept the ID of the MCP9601
  • Update the library to support open-circuit and short-circuit detection on the MCP9601
  • Rebuild the OLA firmware using the updated MCP9600 library

You are welcome to open a [Feature Request] issue on the OLA GitHub repository and we will get to it when time permits…

The quickest fix by far would be to switch to the MCP9600. Links below.

Best wishes,
Paul