Ir directamente al contenido

All items ship from our office in Colorado USA - $5.95 Flat-Rate US shipping & free shipping on orders over $75!

1 Channel 5V 10A SPDT Power Relay Module User Guide

5V 10A 1-Channel Power Relay Module 250V/10A

📋 Overview

This 1-channel 5V control Single-Pole Double-Throw (SPDT) AC power relay module lets you switch high-voltage devices — like lamps, fans, heaters, or motors — on and off using a low-voltage signal from a microcontroller. The module can switch up to 10 amps at 250 VAC, and it's controlled directly from a 5V digital output pin on an Arduino, Raspberry Pi, or similar board.

The relay coil is driven by an onboard NPN transistor, so your microcontroller pin only needs to source a small amount of current to trigger the relay. The module also includes a flyback diode across the relay coil to suppress voltage spikes when the relay switches off, protecting your circuit from back-EMF damage.

⚠️ Important: This module switches high-voltage AC power (up to 250V). Improper wiring can cause electric shock, fire, or equipment damage. If you are not experienced with mains voltage wiring, please consult a qualified electrician. Always disconnect power before making or changing connections.

💡 Note: This module does not include optocoupler isolation. The control side and relay coil share a common ground. If your project requires electrical isolation between the microcontroller and the relay, consider using a multi-channel relay module with optocoupler isolation or adding an external optocoupler circuit.


⭐ Key Features

  • Active Low Input — The relay activates when the IN pin is pulled LOW (to ground). Setting IN to HIGH (or leaving it floating) keeps the relay off.
  • Transistor-Driven Relay Coil — An onboard NPN transistor handles the relay coil current, so your microcontroller pin only needs to provide a small control signal.
  • Flyback Diode Protection — A diode across the relay coil safely shunts current when the coil is de-energized, preventing voltage spikes from damaging your circuit.
  • Dual LED Indicators — Red LED shows power is applied; Green LED shows the relay is activated. Great for quick visual troubleshooting.
  • Screw Terminals — Secure, tool-tightened connections for your high-voltage wiring.
  • Direct Microcontroller Drive — Works with any 5V-logic microcontroller: Arduino, Raspberry Pi, PIC, AVR, ARM, MSP430, and more.
  • Compact Form Factor — Small enough to fit into tight enclosures and breadboard-friendly projects.

📊 Specifications

Relay Type SPDT (Single-Pole Double-Throw)
Number of Channels 1
Control Signal Polarity Active Low (pull IN pin to GND to activate)
Max Switching Voltage 250V AC
Max Switching Current 10A AC
Control Voltage 5.0V DC
Control Current 20–30 mA
Module Operating Current Approx. 70 mA (relay activated)
Drive Circuit NPN transistor with flyback diode protection
Indicators Red LED (power), Green LED (relay active)
Dimensions Approx. 42 × 17 × 17 mm (1.65 × 0.67 × 0.67 inches) L × W × H

📌 Pinout

Control Side (Low-Voltage Input Header)

Pin Description
VCC +5V DC power input for the relay module
GND Ground — connect to your microcontroller's GND
IN Control input — pull LOW to activate the relay, HIGH to deactivate

Output Side (High-Voltage Screw Terminal)

Terminal Description
COM Common — connect your power source here
NO Normally Open — disconnected from COM when relay is off; connected when relay is activated
NC Normally Closed — connected to COM when relay is off; disconnected when relay is activated
1-Channel 5V Relay Module Pin Definitions

💡 Tip: Most projects use the NO (Normally Open) terminal. This means your device stays OFF until you deliberately activate the relay. The NC (Normally Closed) terminal is useful when you want a device to stay ON by default and only turn OFF when the relay is activated.


🔌 Wiring to Arduino

Connecting the relay module to an Arduino is straightforward — you only need three wires on the control side. Here's the wiring:

Relay Module Pin Arduino Pin
VCC 5V
GND GND
IN Digital Pin 7 (or any digital output pin)

⚠️ Important: The relay coil draws approximately 70 mA when activated. This is within the capability of the Arduino's 5V pin when powered via USB or a barrel jack. However, if you are powering multiple relay modules or other high-current accessories, consider using an external 5V power supply for the relay module(s) and connecting the grounds together.

High-Voltage Side (Screw Terminals)

To control a device (for example, a lamp) using the Normally Open configuration:

  1. Connect your AC power source's live (hot) wire to the COM terminal.
  2. Connect the NO terminal to one terminal of your device (e.g., the lamp).
  3. Connect the other terminal of your device back to the AC power source's neutral wire.

When the relay activates, COM connects to NO, completing the circuit and powering your device.

⚠️ Warning: The high-voltage screw terminals carry mains voltage when connected. Never touch exposed wiring or terminals while the circuit is energized. Always use properly insulated wiring rated for the voltage and current you are switching. If you are unsure, consult a qualified electrician.


🔧 How It Works

Understanding the relay's behavior is simple once you know it's active low:

Default State (Relay OFF)

When the IN pin is HIGH (or not connected), the transistor is off and the relay coil is not energized. In this state:

  • COM is connected to NC (Normally Closed)
  • COM is disconnected from NO (Normally Open)
  • The green LED is OFF

Activated State (Relay ON)

When the IN pin is pulled LOW (to ground), the transistor turns on and energizes the relay coil. In this state:

  • COM is connected to NO (Normally Open)
  • COM is disconnected from NC (Normally Closed)
  • The green LED is ON
  • You'll hear an audible "click" as the relay switches

💡 Tip: Think of it this way — the relay is like a light switch controlled by your Arduino. When you send a LOW signal, the switch flips ON. When you send HIGH, it flips OFF. The "active low" behavior might seem backwards at first, but it's a common design pattern in transistor-driven relay modules.


🚀 Step 1: Basic Relay Toggle

This simple sketch toggles the relay on and off every 2 seconds. It's a great way to verify your wiring is correct — you should hear the relay click and see the green LED turn on and off.

/*
 * Basic Relay Toggle
 * Envistia Mall - Product Support
 *
 * Toggles a 1-channel relay module on and off
 * every 2 seconds. Listen for the click!
 *
 * Connections:
 *   Relay VCC -> Arduino 5V
 *   Relay GND -> Arduino GND
 *   Relay IN  -> Arduino Pin 7
 */

const int RELAY_PIN = 7;

void setup() {
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, HIGH);  // Start with relay OFF (active low)
  Serial.begin(9600);
  Serial.println("1-Channel Relay Toggle Test");
  Serial.println("Relay should click every 2 seconds.");
}

void loop() {
  // Turn relay ON (active low = LOW to activate)
  digitalWrite(RELAY_PIN, LOW);
  Serial.println("Relay ON  - Green LED should be lit");
  delay(2000);

  // Turn relay OFF
  digitalWrite(RELAY_PIN, HIGH);
  Serial.println("Relay OFF - Green LED should be off");
  delay(2000);
}

How to Use:

  1. Wire the relay module to your Arduino as shown in the wiring table above.
  2. Upload this sketch to your Arduino using the Arduino IDE.
  3. Open the Serial Monitor at 9600 baud to see status messages.
  4. Listen for the relay clicking on and off every 2 seconds, and watch the green LED toggle.

🚀 Step 2: Serial-Controlled Relay

This sketch lets you control the relay by sending commands through the Serial Monitor. Type ON to activate the relay or OFF to deactivate it. This is useful for testing your high-voltage connections before integrating sensors or automation logic.

/*
 * Serial-Controlled Relay
 * Envistia Mall - Product Support
 *
 * Control the relay via Serial Monitor commands.
 * Send "ON" to activate, "OFF" to deactivate.
 *
 * Connections:
 *   Relay VCC -> Arduino 5V
 *   Relay GND -> Arduino GND
 *   Relay IN  -> Arduino Pin 7
 */

const int RELAY_PIN = 7;

void setup() {
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, HIGH);  // Start with relay OFF
  Serial.begin(9600);
  Serial.println("=== Serial Relay Controller ===");
  Serial.println("Type ON or OFF and press Enter.");
}

void loop() {
  if (Serial.available() > 0) {
    String command = Serial.readStringUntil('\n');
    command.trim();
    command.toUpperCase();

    if (command == "ON") {
      digitalWrite(RELAY_PIN, LOW);   // Active low
      Serial.println("Relay is now ON");
    }
    else if (command == "OFF") {
      digitalWrite(RELAY_PIN, HIGH);
      Serial.println("Relay is now OFF");
    }
    else {
      Serial.println("Unknown command. Use ON or OFF.");
    }
  }
}

How to Use:

  1. Upload this sketch to your Arduino.
  2. Open the Serial Monitor at 9600 baud. Make sure "Newline" is selected in the line ending dropdown.
  3. Type ON and press Enter to activate the relay.
  4. Type OFF and press Enter to deactivate the relay.

🚀 Step 3: Button-Controlled Relay with Debounce

This more advanced example uses a physical pushbutton to toggle the relay on and off. Each press of the button flips the relay state. It includes software debouncing to prevent false triggers from noisy button contacts.

/*
 * Button-Controlled Relay with Debounce
 * Envistia Mall - Product Support
 *
 * Press a pushbutton to toggle the relay on/off.
 * Includes software debounce for reliable switching.
 *
 * Connections:
 *   Relay VCC    -> Arduino 5V
 *   Relay GND    -> Arduino GND
 *   Relay IN     -> Arduino Pin 7
 *   Button Pin 1 -> Arduino Pin 2
 *   Button Pin 2 -> Arduino GND
 */

const int RELAY_PIN = 7;
const int BUTTON_PIN = 2;
const unsigned long DEBOUNCE_DELAY = 50;  // milliseconds

bool relayState = false;        // false = OFF, true = ON
bool lastButtonState = HIGH;    // Using INPUT_PULLUP
bool buttonState = HIGH;
unsigned long lastDebounceTime = 0;

void setup() {
  pinMode(RELAY_PIN, OUTPUT);
  pinMode(BUTTON_PIN, INPUT_PULLUP);  // Internal pull-up resistor
  digitalWrite(RELAY_PIN, HIGH);      // Start with relay OFF
  Serial.begin(9600);
  Serial.println("=== Button Relay Controller ===");
  Serial.println("Press the button to toggle the relay.");
}

void loop() {
  bool reading = digitalRead(BUTTON_PIN);

  if (reading != lastButtonState) {
    lastDebounceTime = millis();
  }

  if ((millis() - lastDebounceTime) > DEBOUNCE_DELAY) {
    if (reading != buttonState) {
      buttonState = reading;

      // Toggle on button press (falling edge)
      if (buttonState == LOW) {
        relayState = !relayState;
        digitalWrite(RELAY_PIN, relayState ? LOW : HIGH);
        Serial.print("Relay toggled: ");
        Serial.println(relayState ? "ON" : "OFF");
      }
    }
  }

  lastButtonState = reading;
}

How to Use:

  1. Connect a momentary pushbutton between Arduino pin 2 and GND (no external resistor needed — the sketch uses the Arduino's internal pull-up).
  2. Wire the relay module as shown in the wiring table.
  3. Upload the sketch and open the Serial Monitor at 9600 baud.
  4. Press the button to toggle the relay on and off. Each press changes the state.

🛠️ Troubleshooting

Relay doesn't click or activate

  • Verify VCC is connected to 5V and GND is connected to GND.
  • Check that the red power LED is lit — if not, the module isn't receiving power.
  • Remember this module is active low. You need to send a LOW signal (not HIGH) to the IN pin to activate the relay.
  • Make sure your Arduino pin is configured as an OUTPUT in your code.

Red LED is on but green LED won't light

  • Double-check your IN pin wiring — make sure it's connected to the correct Arduino digital pin.
  • Verify your code is writing LOW to the relay pin (not HIGH).
  • Try a different Arduino digital pin to rule out a damaged pin.

Relay clicks but the connected device doesn't turn on

  • Check your high-voltage wiring at the screw terminals. Make sure wires are firmly seated and screws are tight.
  • Verify you're using the correct terminal — NO (Normally Open) for devices that should be OFF by default, or NC (Normally Closed) for devices that should be ON by default.
  • Test the device independently to confirm it works.

Relay activates on its own at startup

  • Arduino pins can float LOW briefly during boot. Add digitalWrite(RELAY_PIN, HIGH); in your setup() function before or immediately after pinMode() to ensure the relay starts in the OFF state.

⚠️ Important Notes

  • Mains voltage is dangerous. If you are switching AC mains power (110V/220V/250V), take extreme care. Use properly rated and insulated wiring. Never work on live circuits.
  • No optocoupler isolation. This module uses a transistor driver — the control side and relay coil share a common ground. For applications requiring full electrical isolation, add an external optocoupler or use an optocoupler-isolated relay module.
  • Current limits matter. Do not exceed 10A through the relay contacts. For inductive loads (motors, solenoids), the effective current rating may be lower due to arcing — consider derating by 25–50%.
  • Power supply considerations. The relay coil draws ~70 mA when activated. If powering from an Arduino's 5V pin via USB, this is fine for a single relay. For multiple relays or additional loads, use an external 5V supply.
  • No library required. This module uses simple digital HIGH/LOW control — no special Arduino library is needed.
  • Switching speed. Mechanical relays have a switching time of approximately 10–15 ms. They are not suitable for high-frequency switching (PWM). For fast switching, consider a solid-state relay (SSR) instead.

💡 Tips

  • Always initialize the relay pin to HIGH in setup() to prevent the relay from activating during Arduino boot-up.
  • If you hear a faint buzzing from the relay, it may be receiving an unstable signal. Ensure your control wire is short and routed away from high-voltage wiring.
  • For home automation projects, consider adding a manual override switch in parallel with the relay's NO terminal so you can still control the device if the microcontroller is offline.
  • Label your screw terminal wires clearly — especially the high-voltage side. Future-you will thank present-you.
  • When prototyping, test with a low-voltage load first (like a 5V LED or buzzer across the relay contacts) before connecting mains-voltage devices.

📦 What's in the Box

  • 1 × 5V 10A 1-Channel SPDT Power Relay Module

🛒 What You'll Need

  • Arduino Uno, Mega, Nano, or compatible board — or any 5V-logic microcontroller
  • Jumper wires (male-to-female) — 3 wires for VCC, GND, and IN connections
  • USB cable — to program and power your Arduino
  • Insulated wire — rated for the voltage and current of your load (for the high-voltage side)
  • A device to control — lamp, fan, motor, etc. (for testing the high-voltage output)

 

🏪 Where to Buy the 5V 10A 1-Channel Relay

This 5V 1-Channel 250V/10A Relay can be purchased at the Envistia Mall website:

  • Fast US Shipping
  • Hassle-Free Returns
  • Responsive Customer Support

📚 Additional Resources


Sold and supported by Envistia Mall. Ships from the USA. For wiring diagrams, sample code, and troubleshooting, see the User Guide tab on this product page. The manufacturer and Envistia LLC (dba Envistia Mall) are not responsible for any damages or losses resulting from the use of this product. Always follow proper electrical safety practices when working with electronic components. Specifications are based on manufacturer data and are subject to change without notice.

Share this guide:
in

🛒 Related Products

Find the components mentioned in this guide in our store.

Browse Products →