This is a CircuitPython driver for the MCP9600 thermocouple I2C amplifier. In addition to the MCP9600 breakout, you will also need a thermocouple, which can be found in the Adafruit store. The MCP9600 supports several thermocouple types for different temperature ranges. The “K” type is the default, with a range of -200C to +1372C.
This driver depends on:
Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle.
Installing from PyPI¶
On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally from PyPI. To install for current user:
pip3 install adafruit-circuitpython-mcp9600
To install system-wide (this may be required in some cases):
sudo pip3 install adafruit-circuitpython-mcp9600
To install in a virtual environment in your current project:
mkdir project-name && cd project-name python3 -m venv .env source .env/bin/activate pip3 install adafruit-circuitpython-mcp9600
This is a simple example showing the hot junction temperature (the temperature at the tip of the thermocouple). You may need to adjust the I2C frequency if you receive input/output errors.
import board import busio from adafruit_bus_device.i2c_device import I2CDevice from adafruit_mcp9600 import MCP9600 i2c = busio.I2C(board.SCL, board.SDA,frequency=200000) try: # using default I2C register and "K" thermocouple device = MCP9600(i2c) print("temperature(C):",device.temperature) except ValueError: print("MCP9600 sensor not detected")
This example displays the ambient/room and hot junction temperatures at 1 second intervals. Turn on the Mu editor’s plotter option to view the temperatures in a real-time graph.
import board import busio import time from adafruit_bus_device.i2c_device import I2CDevice from adafruit_mcp9600 import MCP9600 i2c = busio.I2C(board.SCL, board.SDA, frequency=200000) try: device = MCP9600(i2c) print("version:", device.version) while True: print(( device.ambient_temperature, device.temperature )) time.sleep(1) except ValueError: print("MCP9600 sensor not detected")
Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.