

Fever click, manufactured by MIKROE (Part ID: MIKROE-2554), is a compact sensor module designed to measure body temperature using infrared (IR) technology. This non-invasive sensor is ideal for applications requiring quick and accurate temperature readings, such as medical devices, wearable health monitors, and smart home systems. Its small form factor and ease of integration make it a popular choice for developers and engineers.








The Fever click module is based on the MLX90614 infrared temperature sensor, which provides accurate temperature readings without physical contact. Below are the key technical details:
The Fever click module uses a standard mikroBUS™ socket for easy integration. Below is the pinout description:
| Pin | Name | Type | Description |
|---|---|---|---|
| 1 | AN | Analog Input | Not used (reserved for future use) |
| 2 | RST | Digital Input | Reset pin (active low) |
| 3 | CS | Digital Input | Not used (reserved for future use) |
| 4 | SCK | Digital Input | Not used (reserved for future use) |
| 5 | MISO | Digital Output | Not used (reserved for future use) |
| 6 | MOSI | Digital Input | Not used (reserved for future use) |
| 7 | PWM | Digital Output | Pulse-width modulation output for data |
| 8 | INT | Digital Output | Interrupt output (optional) |
| 9 | SDA | I2C Data | Serial data line for I2C communication |
| 10 | SCL | I2C Clock | Serial clock line for I2C communication |
| 11 | 3.3V | Power | 3.3V power supply |
| 12 | 5V | Power | 5V power supply |
| 13 | GND | Ground | Ground connection |
The Fever click module is designed for easy integration into circuits using the mikroBUS™ socket. It can communicate with microcontrollers via the I2C protocol or output data using PWM. Below are the steps to use the module:
Below is an example of how to use the Fever click module with an Arduino UNO via I2C:
#include <Wire.h>
// MLX90614 default I2C address
#define MLX90614_I2C_ADDR 0x5A
// MLX90614 register addresses
#define MLX90614_AMBIENT_TEMP 0x06
#define MLX90614_OBJECT_TEMP 0x07
// Function to read temperature from the sensor
float readTemperature(uint8_t reg) {
Wire.beginTransmission(MLX90614_I2C_ADDR);
Wire.write(reg); // Request data from the specified register
Wire.endTransmission(false);
Wire.requestFrom(MLX90614_I2C_ADDR, (uint8_t)3);
uint16_t data = Wire.read(); // Read low byte
data |= Wire.read() << 8; // Read high byte
Wire.read(); // Read and discard PEC (Packet Error Code)
return data * 0.02 - 273.15; // Convert to Celsius
}
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Initialize serial communication
Serial.println("Fever click example started");
}
void loop() {
float ambientTemp = readTemperature(MLX90614_AMBIENT_TEMP);
float objectTemp = readTemperature(MLX90614_OBJECT_TEMP);
// Print the temperature readings to the Serial Monitor
Serial.print("Ambient Temperature: ");
Serial.print(ambientTemp);
Serial.println(" °C");
Serial.print("Object Temperature: ");
Serial.print(objectTemp);
Serial.println(" °C");
delay(1000); // Wait 1 second before the next reading
}
No Data from the Sensor:
Inaccurate Temperature Readings:
Module Not Powering On:
Q: Can the Fever click module measure the temperature of liquids?
A: Yes, the module can measure the surface temperature of liquids, but it cannot measure internal temperatures.
Q: What is the maximum distance for accurate readings?
A: The sensor is most accurate at distances of 5-10 cm from the target object.
Q: Can I use the module with a 3.3V microcontroller?
A: Yes, the module supports both 3.3V and 5V operation. Use the onboard jumper to select the appropriate voltage.
Q: Is the module compatible with Raspberry Pi?
A: Yes, the module can be used with Raspberry Pi via the I2C interface.