Documentation

ShillehTek 4-Channel Relay Module 6-24V DC, Programmable Trigger Delay Timer, Motor Reversing Controller (5V/12V/24V) | ShillehTek Product Manual
Documentation / ShillehTek 4-Channel Relay Module 6-24V DC, Programmable Trigger Delay Timer, Motor Reversing Controller (5V/12V/24V) | ShillehTek Product Manual

ShillehTek 4-Channel Relay Module 6-24V DC, Programmable Trigger Delay Timer, Motor Reversing Controller (5V/12V/24V) | ShillehTek Product Manual

manualshillehtek

Overview

This 4-Channel Programmable Relay Module is a complete standalone delay/timer/sequencing controller built around an on-board microcontroller, a 4-digit 7-segment display, four optoisolated trigger inputs, and four 10A relays. Each channel can be programmed for delay-on, delay-off, pulse, or motor-reversing modes — all through the on-board SET/UP/DOWN/OK buttons. No microcontroller required for basic use.

Typical applications include garage door automation, water pump cycling, lighting sequences, motor reversal control (forward / pause / reverse), and any project where you need accurate sub-second to multi-hour timed switching of mains-voltage loads. The module supports two power inputs: a 6.5-25V terminal block (for vehicle / industrial applications) and a 5V DC barrel jack (for desktop power supplies).

For projects that need a microcontroller in the loop, each of the 4 trigger inputs is optoisolated and accepts a 5V or 3.3V signal — wire them to GPIO pins on an Arduino, ESP32, Raspberry Pi, or Pico to fire any pre-programmed timing sequence on demand.

At a Glance

Channels
4 (independent)
Power 1
DC 6.5-25V (terminal)
Power 2
DC 5V (barrel jack)
Relay Rating
10A @ 250VAC / 30VDC
Trigger Input
Optoisolated 3.3V/5V
Modes
Delay, Pulse, Cycle, Motor

Specifications

Parameter Value
Number of Channels 4 independent relays
Power Input 1 DC 6.5V - 25V (screw terminal)
Power Input 2 DC 5V (barrel jack)
Quiescent Current ~30 mA (display + MCU)
Per-Channel Current (relay on) ~70 mA
Trigger Input Optoisolated, 3.3V or 5V logic
Relay Type SRD-05VDC-SL-C (SPDT, NO/NC/COM)
Relay Switching Capacity 10A @ 250VAC, 10A @ 30VDC
Programmable Modes Delay-on, Delay-off, Pulse, Cycle, Motor reverse
Time Range 0.01 second to 999 hours (mode-dependent)
Display 4-digit 7-segment LED
Buttons SET, +, ++, OK
Operating Temperature -20 degC to +60 degC
Dimensions ~85 x 55 mm

Pinout Diagram

4-Channel Programmable Relay Module pinout diagram showing Power 1 (DC 6.5-25V terminal block), Power 2 (DC 5V barrel jack), trigger input terminals (IN1-IN4) with input optical isolation, special relay driver chip, 4-digit 7-segment display with SET button, and four SPDT relay outputs each with NO/COM/NC terminals

Wiring Guide

Standalone (No Microcontroller)

The simplest way to use the module: power it from 5V (barrel jack) or 6.5-25V (terminal block), program a delay/pulse/cycle mode through the on-board buttons, and wire your load to one of the relay outputs. Trigger comes from a button or switch on the IN terminals.

Connection Goes To
VCC / GND (Power 1) 6.5V-25V supply
or DC barrel jack 5V power adapter
IN1 / IN2 / IN3 / IN4 Push button to GND (or +5V, depending on mode setting)
Relay COM Mains hot (or DC + line)
Relay NO Load hot (lit when relay activates)
Mains Voltage Warning: The relays can switch up to 250VAC, which is lethal. If you're switching mains, work on the wiring with the line UNPLUGGED, double-check polarity, and consider using a properly enclosed project box. If you're not confident, use only low-voltage DC loads.

Arduino-Triggered Operation

Use any Arduino digital pin to fire the trigger inputs. The optoisolated input draws only a few mA, so any GPIO can drive it. Power the relay module from its own supply — do NOT power it from the Arduino's 5V pin if more than one relay will be on at a time.

Module Pin Arduino Pin
Module GND Arduino GND (shared)
IN1 D2
IN2 D3
IN3 D4
IN4 D5
Tip: The optoisolated inputs care about which side of the LED you drive. If your trigger doesn't fire, swap the IN and GND wiring on the trigger terminal, or set the trigger polarity in the on-board menu.

ESP32-Triggered Operation

The optoisolated inputs work just as well with 3.3V signals from an ESP32. Tie a common ground between the ESP32 and the relay module's power supply.

Module Pin ESP32 Pin
Module GND ESP32 GND (shared)
IN1 GPIO 12
IN2 GPIO 13
IN3 GPIO 14
IN4 GPIO 15

Raspberry Pi-Triggered Operation

Pi GPIO is 3.3V — perfect for these optoisolated inputs. Power the relay module from its own supply and tie GNDs together.

Module Pin Pi Pin
Module GND Pi GND (Pin 6)
IN1 Pin 11 (GPIO 17)
IN2 Pin 13 (GPIO 27)
IN3 Pin 15 (GPIO 22)
IN4 Pin 16 (GPIO 23)

Code Examples

Arduino - Trigger All 4 Channels in Sequence

relay4_arduino.ino
// 4-Channel programmable relay - fire each input in sequence
// Wire IN1-IN4 to D2-D5, share GND with the module

const int triggers[4] = {2, 3, 4, 5};

void setup() {
  for (int i = 0; i < 4; i++) {
    pinMode(triggers[i], OUTPUT);
    digitalWrite(triggers[i], LOW);
  }
}

void pulseTrigger(int pin) {
  digitalWrite(pin, HIGH);
  delay(100);                  // 100 ms pulse fires the channel
  digitalWrite(pin, LOW);
}

void loop() {
  for (int i = 0; i < 4; i++) {
    pulseTrigger(triggers[i]);
    delay(2000);               // wait between channels
  }
}

Raspberry Pi (Python)

relay4_rpi.py
#!/usr/bin/env python3
# 4-channel programmable relay - sequence trigger from Pi GPIO

import RPi.GPIO as GPIO
import time

TRIGGERS = [17, 27, 22, 23]   # GPIO 17, 27, 22, 23
GPIO.setmode(GPIO.BCM)
for p in TRIGGERS:
    GPIO.setup(p, GPIO.OUT, initial=GPIO.LOW)

try:
    while True:
        for p in TRIGGERS:
            GPIO.output(p, GPIO.HIGH)
            time.sleep(0.1)
            GPIO.output(p, GPIO.LOW)
            time.sleep(2)
except KeyboardInterrupt:
    GPIO.cleanup()

Frequently Asked Questions

How do I program a delay time?
Press SET to enter programming mode for the channel shown on the display. Use UP/DOWN (+/++) to change the value, OK to confirm. The exact menu sequence depends on which mode you're in (delay-on, delay-off, pulse, cycle, motor reverse) — the included quick-start sheet has the full menu tree.
Can I switch mains 220V appliances with this?
Yes — the relays are rated for 10A at 250VAC. Wire the live (hot) line through the COM and NO terminals. Always disconnect mains while wiring, and consider an enclosure with proper insulation. Do not work on mains if you're not comfortable with electrical safety.
What's the difference between Power 1 and Power 2?
They're the same internal rail — use whichever is convenient. Power 1 is a screw terminal that accepts 6.5-25V (great for car / battery / industrial use). Power 2 is a 5V barrel jack (great for using a wall adapter on your bench). Don't connect both at the same time.
Why does the trigger not work when I drive it from a microcontroller?
Two common causes: (1) GND is not tied between the MCU and the relay module — both must share ground. (2) The trigger input polarity is set wrong in the menu (some firmwares accept rising edges, others falling). Try swapping the trigger polarity setting in the on-board menu, or invert the GPIO drive level in your code.
Can I use this for motor forward/reverse control?
Yes — the module includes a motor-reversing mode that uses two of the channels in an H-bridge style configuration. Refer to the included quick-start guide for the exact wiring; mistakes can short the supply through the relays.
How many relays can I energize at once?
All four. Each draws about 70 mA when energized, so all four on at once is roughly 280 mA plus the 30 mA quiescent — comfortably within a 1A 5V supply.
Does the timing reset if power blips?
Yes — a power loss returns the module to its default state when re-powered. For mission-critical timing through a brownout, add a small UPS or capacitor bank on the 5V rail.