Thermo 6 click is a precise and versatile ambient temperature measurement click board™, based on the Maxim Integrated MAX31875 temperature sensor. This sensor has a great combination of features, such as wide range of temperature measurement, excellent measuring accuracy, and small die size, coupled with the very low power consumption - attributes that make this sensor a great choice for many different applications.
Thermo 6 click supports bidirectional serial communication by utilizing the standard I2C/SMBus interface, routed through the mikroBUS I2C pins. This allows for an easy and secure connection with the MCU itself. Advanced I2C features such as the Packet Error Checking (PEC) and the Timeout Interface Reset, ensure that there are no errors during the communication.
Small die dimensions of the sensor and the specially designed shape of the Thermo 6 click PCB, ensure that there is a minimal interference from the surrounding components heat during the measurement of the ambient temperature. Pull-up resistors are included on the PCB of the Thermo 6 click, so the device is ready to be used out of the box.
The central part of the Thermo 6 click is the MAX 31875 sensor, which has only four connections, two of which are used for the power supply and the other two are the standard I2C interface lines: SDA and SCL. The normal transaction consists of two bytes long reads and writes as the registers are 16 bits wide. There are 8 different factory predefined I2C addresses, so the exact sensor I2C address can be determined by checking the part I2C address table in the datasheet.
The sensor is exposed on a specially designed PCB, so the measurement of the ambient temperature can remain accurate and without interference.
Sensor measures its die temperature and converts the thermal measurement into a digital information, which can be accessed via the I2C/SMBus interface. Information is stored in the temperature register, in MSB - LSB format. In addition to the normal temperature data format, there is an optional extended data format, which allows temperatures greater than +128 C to be read. The temperature format and other sensor settings can be configured via the configuration registers. Check the MAX31875 datasheet for more detailed information.
All of the power down, standby, read and write commands are intelligently managed, so the device is waiting for the pending communication to be completed, before executing those commands. Also, while reading the thermal data, the conversion process is halted, so the value won't change before the reading is completed.
MAX31875 temperature sensor can be set to sample the thermal data with 8bit, 9bit, 10bit and 12bit resolution. Using the higher precision conversion directly affects the power consumption, so if there is a demand for the low power application, resolution can be set down to 8bit. Power consumption can be reduced even further, by using the lower sample rate, which results in longer idle periods. While idling, the power consumption of the sensor itself goes down to 500 nA.
One shot reading allows for the lowest power consumption - down to 5uA, if there is no demand for continuous temperature conversion. The device remains in standby state, as long as there is no read command. Read command (writing 1 to the bit 0 of the config register) will wake up the device and read the temperature data immediately, after which it will revert to standby mode again. This allows for a very low average power consumption.
Other advanced features such as the PEC, I2C bus timeout reset, temperature comparator, can also be configured by setting the corresponding bits of the config registers.
Type | Temperature |
Applications | battery-powered equipment, handheld electronics, industrial equipment |
On-board modules | MAX31875 integrated circuit |
Key Features | Wide temperature measurement range, low power consumption, smart data output management |
Key Benefits | Excellent temperature accuracy ±1.5°C from +10°C to +45°C (±0.5°C typical), ±2°C from -10°C to +100°C (±0.6°C typical), ±3°C from -20°C to +125°C (±1°C typical) |
Interface | I2C |
Input Voltage | 3.3V |
Click board size | S (28.6 x 25.4 mm) |
This table shows how the pinout on Thermo 6 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Designator | Name | Type | Description |
---|---|---|---|
LD1 | PWR | LED | Power indication LED, lights green when device is on |
Code examples for Thermo 6 click, written for MikroElektronika hardware and compilers are available on Libstock.
This code snippet reads the temperature in Celsius from Thermo 6 click.
01 uint8_t text[20]; 02 float temperature; 03 04 void systemInit() 05 { 06 I2C1_Init_Advanced(100000, &_GPIO_MODULE_I2C1_PB67); 07 HAL_THERMO6_i2cInit(I2C1_Start, 0, 0, I2C1_Write, I2C1_Read); 08 UART1_Init(9600); 09 } 10 void Thermo_6_Init() 11 { 12 THERMO6_writeRegCfg(CFG_HIGH_12_BIT,CFG_LOW_12_BIT); // configure 12bit Temperature resolution 13 } 14 void Thermo_6_Task() 15 { 16 temperature = THERMO6_getTemperature(); 17 FloatToStr(temperature,text); 18 UART1_Write_Text("Temperature: "); 19 UART1_Write_Text(text); 20 UART1_write(13); 21 UART1_write(10); 22 Delay_ms(1000); 23 } 24 void main() 25 { 26 systemInit(); 27 Thermo_6_Init(); 28 while( 1 ) 29 { 30 Thermo_6_Task(); 31 } 32 }