Relay module 1 channel (5 V) with ESP32
Supply 5 V
Bus GPIO
Pins and ESP32 wiring
| Pin | Role | ESP32 pin | Notes |
|---|---|---|---|
| IN | Input (the ESP32 drives it) | D25 | Many modules switch on with IN LOW. Some do not react to 3.3 V: check with a test |
| GND | Ground | GND | |
| VCC | Power | VIN | Needs 5 V for the coil: use VIN |
| COM | Not wired to the ESP32 | — | Relay common contact. Mains voltage is dangerous |
| NO | Not wired to the ESP32 | — | Normally open contact |
| NC | Not wired to the ESP32 | — | Normally closed contact |
Suggested wiring for the 30-pin ESP32 DevKit, avoiding flash, input-only and strapping pins. BoardPilot checks it for you as you wire.
This module is sold for 5 V. Its outputs may be 5 V: use a level shifter or a voltage divider on ESP32 inputs.
Good to know
- The relay coil needs 5 V: power the module from the 5 V pin, not 3V3. (Songle SRD-05VDC-SL-C datasheet, Coil voltage 5 V)
Starter code (Arduino)
void setup() { pinMode(25, OUTPUT); } // IN
void loop() {
digitalWrite(25, HIGH);
delay(500);
digitalWrite(25, LOW);
delay(500);
}
Sources
- Songle SRD-05VDC-SL-C datasheet, Coil 5 V, about 70 mA
Try it in 3D in BoardPilot
Relay module 1 channel (5 V) on other boards: wiring and code
Arduino Mega 2560 R3 Arduino Nano Arduino Uno R3 WeAct Black Pill STM32F411CE ESP32-C3-DevKitM-1 ESP32-S3-DevKitC-1 Nordic nRF52840 DK NUCLEO-F401RE Raspberry Pi Pico 2 Raspberry Pi Pico W Raspberry Pi Pico Teensy 4.1
Learn the basics
Lesson: GPIO: pins in and out Lesson: Hardware basics for software developers GPIO Level shifter Logic level (HIGH and LOW)
Related parts
18650 Li-ion cell in holder28BYJ-48 stepper + ULN2003 driver433 MHz transmitter (FS1000A)74HC595 shift registerA4988 stepper driverActive buzzer
Part data: CC BY 4.0, free to reuse with credit to BoardPilot.