AC/DC powered ESP32 Relay Board x4

esp32 global Comes with ESPHome relay
AC/DC powered ESP32 Relay Board x4 - ac-dc-esp32-relayx4-back.jpg
AC/DC powered ESP32 Relay Board x4 - ac-dc-esp32-relayx4-front.jpg

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. Note: v1.1 of this board is nearly identical except the chip is an ESP32-WROOOM-32E

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