Mikroe IrThermo click 5V

Product ID: 8369
Mikroe irthermo click 5v 1452665234

Ships in 15 to 20 days

IrThermo click 5V is a contactless temperature measurement device that relies on the accurate thermopile sensor chip, which encompasses both the thermopile sensor element and the ASSP. The ASSP - signal conditioning circuitry features 17bit ADC and powerful DSP which allow high degree of accuracy and wide temperature measurement range. The IrThermo click is equipped with both the 10bit PWM interface and the SMBus/I2C interface.

Featuring high degree of integration, as well as great accuracy and a wide temperature measurement range, IrThermo click is perfectly suited for controlling the temperature of the elements which are out of reach for other measurement methods, such as some moving parts in the automotive industry, general purpose industry applications, air conditioning devices, and similar applications that require accurate temperature measurement in hard to reach places.

How does it work?

The main principle on which the IrThermo relies is the measurement of the temperature by the contactless IR sensor MLX90614, from Melexis. This sensor is an IR sensor of a thermopile character. A thermopile sensor is actually a serially connected thermocouple array, with hot junctions located on the heat absorbing membrane. The cold junctions are located on a cold base, providing the reference point for generating the voltage. Due to the low-temperature capacity of the membrane, it will react to the heat radiation, generating voltage via the thermoelectric effect. The ASSP circuitry of the MLX90614 sensor, processes the voltage, allowing the accuracy of ±0.5˚C. The MLX90614 sensor is factory calibrated in wide temperature range: -40°C to 125°C for sensor temperature and -70°C to 380°C for object temperature. The ASSP circuitry also provides advanced interfacing options for the MCU, with the CRC error checking.

The MLX90614 is equipped with a portion of EEPROM, which is used to store various config parameters, calibration data, as well as the chip ID address. Changing the values in the EEPROM will not take effect until the device is restarted.

The data can be read both from the SMBus interface and from the PWM. The SMBus interface is mainly compatible with the I2C interface, but there are some minor differences, which require attention while writing custom code. These differences are not specific to the used sensor. They originate from the slightly different design of those two protocols. More information about these differences can be found in the datasheet of the MLX90614 sensor. However, provided libraries contain functions that take care of the proper communication. There is also an example application which demonstrates the usability of these functions, which can be used as a reference for a custom project design.

The I2C/SMBus lines of IrThermo are routed to the mikroBUS™ for an easy integration with the host MCU. These lines are pulled up to the VCC by the onboard resistors. The communication selection type between the PWM and the SMBus/I2C is done by switching the onboard SMD jumpers labeled as SELECT MODE. These jumpers should both be positioned either to select the PWM communication mode, or the I2C mode. No mixed positions are allowed. Also it should be noted that these two SMD jumpers are the only SMD jumpers that should be switched on the click board™.

There are two types of IrThermo clicks available: IrThermo click 3.3V and IrThermo click 5V. This is due to a fact that there are two different MLX90614 sensor versions, available for both 3.3V and 5V MCUs. The 3.3V version uses the MLX90614 ESF BAA sensor, while the 5V version uses the MLX90614 ESF AAA sensor.


Type Temperature
Applications Board is ideal for automotive, industrial temperature control, movement detection, air conditioning control and more
On-board modules MLX90614ESF-AAA single zone Infrared Thermometer
Key Features 17-bit ADC powerful DSP unit and 10-bit PWM, configured to measure temperature in range of -40°C to 125°C, with the output resolution of 0.14°C
Interface I2C,PWM
Input Voltage 5V
Compatibility mikroBUS
Click board size S (28.6 x 25.4 mm)

Pinout diagram

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

Notes Pin Mikrobus logo.png Pin Notes
NC 1 AN PWM 16 PWM PWM data
NC 3 CS TX 14 NC
NC 5 MISO SCL 12 SCL I2C clock
NC 6 MOSI SDA 11 SDA I2C data
Power supply +3.3V 7 3.3V 5V 10 NC
Ground GND 8 GND GND 9 GND Ground

Onboard settings and indicators

Label Name Default  Description
LD1 PWR - Power LED indicator
J2 I2C/PWM Right Select Mode communication with target MCU, right position for the I2C, left position for the PWM
J3 I2C/PWM Right Select Mode communication with target MCU, right position for the I2C, left position for the PWM
Note: SMD jumpers labeled as J2 and J3 are the only jumpers that are allowed to be switched. Removing or repositioning any other component might lead to malfucntion of the device.

Software support

We provide a library for IrThermo click 5V on our Libstock page, as well as a demo application (example), developed using MikroElektronika compilers and mikroSDK. The provided click library is mikroSDK standard compliant. The demo application can run on all the main MikroElektronika development boards.

Library Description

Key functions:

  • float irthrm5v_getTambient() - Returns ambient temperature value in Celsius.
  • float irthrm5v_getTobject() - Returns object temperature value in Celsius.

Examples Description

The application is composed of three sections:

  • System Initialization - Initialization of the I2C and UART modules.
  • Application Initialization - Initialization of the IrThermo 5V Driver
  • Application Task - Reading Ambient Temperature and displaying the value periodically.
void applicationTask()

measuredTemperature = irthrm5V_getTambient();
mikrobus_logWrite("Ambient Temperature: ",_LOG_TEXT);

The full application code, and ready to use projects can be found on our Libstock page.

Other mikroE Libraries used in the example:

  • I2C
  • UART
  • Conversions

Additional notes and information

Depending on the development board you are using, you may need USB UART click,  USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.


This click board is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.

For more information about mikroSDK, visit the official page.