devices.esphome.io

AC/DC powered ESP32 Relay Board x4

AC/DC powered ESP32 Relay Board x4

Device Type: relay
Electrical Standard: global
Board: esp32

Product front Product back

Product description

This is a 4-relay board with an ESP32-WROOM-E that can be powered from AC mains and vide range of VDC.

Each relay has COM+NO+NC exposed. Product descriptions don't seem to specify maximum load. Each relay supports 10Amp max load, acconding to the label.

The board can be powered either via 120-220VAC, 7-30VDC or 5VDC (separate connectors).

I bought it from: eBay, but very similar boards are being sold everywhere.

Pinout

This board has two double-row headers 10x2 for every GPIO pin on its ESP32 and a single row header for flashing. Programming can be done with 3.3V connected to 5V pin and GPIO0 connected to GND (via jumper or a push button). After flasing, if you want to test the board - it has to be powered properly via dedicated connectors, or via 5VDC applied to 5V ping. If you'll power it up with 3.3V on 5V pin - the MCU will brownout.

Programming header pinout

PinComment
5VDo not use 5V for programming
TXExposed on board 3.3V level!
RXExposed on board 3.3V level!
GND
GND
GPIO03.3V level! (Connected to a push button for programing)

Internal pinout

PinFunction
GPIO23Status LED
GPIO32Relay #1
GPIO33Relay #2
GPIO25Relay #3
GPIO26Relay #4

Basic Config

esphome:
name: ac-dc-relay-x4
friendly_name: ac-dc-relay-x4
esp32:
board: esp32dev
framework:
type: arduino
output:
- platform: gpio
pin: GPIO23
id: led
- platform: gpio
pin: GPIO32
id: relay_pin_1
- platform: gpio
pin: GPIO33
id: relay_pin_2
- platform: gpio
pin: GPIO25
id: relay_pin_3
- platform: gpio
pin: GPIO26
id: relay_pin_4
# Define the switches based on the relay pins
switch:
- platform: output
id: relay_1
name: "Relay 1"
output: relay_pin_1
- platform: output
id: relay_2
name: "Relay 2"
output: relay_pin_2
- platform: output
id: relay_3
name: "Relay 3"
output: relay_pin_3
- platform: output
id: relay_4
name: "Relay 4"
output: relay_pin_4
interval:
- interval: 1000ms
then:
- output.turn_on: led
- delay: 500ms
- output.turn_off: led
Edit this page on GitHub