

The RelayModuleI2C is a versatile electronic component designed to control high-voltage devices using low-voltage signals. It features an integrated I2C interface, enabling seamless communication with microcontrollers such as Arduino, Raspberry Pi, and other platforms. This module is ideal for applications requiring remote control of electrical devices, such as home automation, industrial equipment, and robotics.








| Parameter | Value |
|---|---|
| Operating Voltage | 5V DC |
| Relay Control Voltage | 3.3V or 5V (logic level compatible) |
| Communication Protocol | I2C |
| I2C Address Range | 0x20 to 0x27 (configurable) |
| Maximum Load Voltage | 250V AC / 30V DC |
| Maximum Load Current | 10A |
| Number of Relays | 1 to 4 (depending on the model) |
| Dimensions | Varies by model (e.g., 50mm x 40mm) |
The RelayModuleI2C typically has the following pin configuration:
| Pin Name | Description |
|---|---|
| VCC | Power supply input (5V DC) |
| GND | Ground |
| SDA | I2C data line |
| SCL | I2C clock line |
| Terminal Name | Description |
|---|---|
| COM | Common terminal for the relay |
| NO | Normally Open terminal |
| NC | Normally Closed terminal |
Below is an example of how to control the RelayModuleI2C using an Arduino UNO:
#include <Wire.h> // Include the Wire library for I2C communication
#define RELAY_I2C_ADDRESS 0x20 // Default I2C address of the relay module
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Initialize serial communication for debugging
// Turn off all relays at startup
Wire.beginTransmission(RELAY_I2C_ADDRESS);
Wire.write(0x00); // Send command to turn off all relays
Wire.endTransmission();
Serial.println("Relay module initialized.");
}
void loop() {
// Example: Turn on relay 1
Wire.beginTransmission(RELAY_I2C_ADDRESS);
Wire.write(0x01); // Command to turn on relay 1
Wire.endTransmission();
delay(1000); // Keep relay 1 on for 1 second
// Example: Turn off relay 1
Wire.beginTransmission(RELAY_I2C_ADDRESS);
Wire.write(0x00); // Command to turn off relay 1
Wire.endTransmission();
delay(1000); // Keep relay 1 off for 1 second
}
Relay Not Switching
I2C Communication Failure
Load Not Responding
Can I use this module with a 3.3V microcontroller?
How do I change the I2C address?
Is the relay module safe for high-voltage applications?
Can I control multiple relays simultaneously?
By following this documentation, you can effectively integrate the RelayModuleI2C into your projects and control high-voltage devices with ease!