The Adafruit EMC2101 is an integrated temperature sensor and fan controller breakout board designed for efficient thermal management in electronic systems. Utilizing the EMC2101 chip, this board is capable of providing precise temperature measurements with an accuracy of ±1°C. It is ideal for applications that require active cooling, such as computer systems, gaming consoles, or any heat-sensitive electronics. The board's ability to control a fan based on temperature readings helps maintain optimal operating conditions, thereby enhancing the performance and longevity of the system.
Pin Number | Name | Description |
---|---|---|
1 | GND | Ground connection |
2 | VIN | Input voltage (3.3V to 5V) |
3 | SDA | I2C Data line |
4 | SCL | I2C Clock line |
5 | FAN | PWM fan control output |
6 | TACH | Fan tachometer input for RPM feedback |
Powering the Board:
Connecting to a Microcontroller:
Fan Connection:
I2C Communication:
#include <Wire.h>
// EMC2101 I2C address
#define EMC2101_ADDRESS 0x4C
// Register addresses
#define TEMPERATURE_REGISTER 0x00
#define FAN_SPEED_REGISTER 0x10 // Example register for fan speed
void setup() {
Wire.begin(); // Initialize I2C
Serial.begin(9600); // Start serial communication
}
void loop() {
int temperature = readTemperature();
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" C");
// Add your fan control logic here based on the temperature reading
delay(1000); // Wait for 1 second before reading again
}
int readTemperature() {
Wire.beginTransmission(EMC2101_ADDRESS);
Wire.write(TEMPERATURE_REGISTER);
Wire.endTransmission();
Wire.requestFrom(EMC2101_ADDRESS, 1);
if (Wire.available()) {
return Wire.read(); // Read temperature value
} else {
return 0; // Return 0 if no data received
}
}
Q: Can I connect multiple EMC2101 boards to a single microcontroller? A: Yes, you can connect multiple boards using different I2C addresses by configuring the onboard jumpers.
Q: What is the maximum fan current that the EMC2101 can handle? A: Refer to the EMC2101 datasheet for the maximum current rating for the fan controller output.
Q: How do I change the I2C address of the EMC2101? A: Adjust the address by changing the position of the jumpers on the board according to the datasheet instructions.
Q: Can the EMC2101 control more than one fan? A: The EMC2101 is designed to control a single fan. To control multiple fans, use additional EMC2101 boards or a fan hub that accepts a single PWM signal for multiple fans.