Thermo 3 click

Description of product

Thermo 3 click carries TMP102, a digital temperature sensor IC with a tiny footprint of only 1.6mm x 1.6mm. The click is designed to run on a 3.3V power supply only. It communicates with the target MCU through mikroBUS™ I2C pins (SCL, SDA), and an additional Alert pint (INT on the default mikroBUS™ configuration).

TMP102 digital temperature sensor

Without requiring calibration, TMP102 is accurate within 0.5°C. Measurement range is between -25°C to 85°C. An integrated 12-bit ADC allows for measurement resolutions down to 0.0625°C.

Alert pin

You can set up an overtemperature alert using the ALERT pin (which sends an interrupt to the target board MCU). The sensor creates a highly linear output and therefore simple to use.

The ADD SEL jumper

Thermo 3 click™ has an ADD onboard jumper (zero ohm resistor) for specifying the I2C address.

Application

Because of its accuracy, Thermo 3 click is ideal for thermal-management and thermal protection applications, especially for extended measurements (in thermostats, office machines, industrial instrumentation applications).

Key features

  • TMP102 digital temperature sensor
    • Temperature range: -25°C to 85°C
    • Resolution: 12 Bits
    • Low Quiescent Current:
      • 10-μA Active (max)
      • 1-μA Shutdown (max)
  • Interface: I2C
  • 3.3V power supply
SPECIFICATION
 
TypeTemperature
ApplicationsThermal-management and thermal protection applications, especially for extended measurements (in thermostats, office machines, industrial instrumentation applications)
On-board modulesTMP102, a digital temperature sensor
Key Features-25°C to 85°C temperature range. Accurate within 0.5°C. Measurement resolution down to0.0625°C
Key BenefitsSmall footpring: 1.6mm x 1.6mm
InterfaceGPIO,I2C
Input Voltage3.3V
CompatibilitymikroBUS
Click board sizeS (28.6 x 25.4 mm)

DOCUMENTATION
 

Pinout diagram

This table shows how the pinout on Thermo 3 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

NotesPinMikrobus logo.png
mikroBUStm                             
PinNotes
Not connectedNC1ANPWM16NCNot connected
Not connectedNC2RSTINT15ALERT     Overtemperature alert   
Not connectedNC3CSTX14NCNot connected
Not connected        NC4SCKRX13NCNot connected
Not connectedNC5MISOSCL12SCLSerial Clock
Not connectedNC6MOSISDA11SDASerial Data
Power supply+3.3V73.3V5V10NCNot connected
GroundGND8GNDGND9GNDGround

Programming

Code examples for Thermo 3 click, written for MikroElektronika hardware and compilers are available on Libstock.

This function reads the temperature from the sensor.

01 float Get_Temperature() {
02   char tmp_data[2];
03   int TemperatureSum;
04   float Temperature;
05 
06   tmp_data[0] = 0x00;                                        // Address of Temperature register
07   I2C1_Start();                                              // Issue I2C start signal
08   I2C1_Write(TMP102_I2C_ADDR,tmp_data,1,END_MODE_RESTART);   // Send byte (tmp_data[0])
09   I2C1_Read(TMP102_I2C_ADDR,tmp_data,2,END_MODE_STOP);       // Read temperature data and store it in tmp_data
10 
11   TemperatureSum = ((tmp_data[0] << 8) | tmp_data[1]) >> 4;  // Justify temperature values
12 
13   if(TemperatureSum & (1 << 11))                             // Test negative bit
14     TemperatureSum |= 0xF800;                                // Set bits 11 to 15 to logic 1 to get this reading into real two complement
15 
16   Temperature = (float)TemperatureSum * 0.0625;              // Multiply temperature value with 0.0625 (value per bit)
17 
18   return Temperature;                                        // Return temperature data
19 }

Downloads