C6 Relays add-on board.md
$ cat c6 relays add-on board.md

An adapter board based on ESP32-C6 for upgrading ready-made relay modules in the popular “Arduino relay board” form factor.

It supports both classic electromechanical relay boards and solid-state relay boards, typically with 2 / 4 / 8 channels.

The idea is simple: replace the stock controller with a compact C6 board, and your old relay module gets modern wireless connectivity: Wi‑Fi 6, BLE 5, Zigbee / Thread (802.15.4).

Overview

What this board provides:

  • compatibility with common off-the-shelf relay modules;
  • clean installation without messy point-to-point wiring;
  • easy firmware flashing and integration with Home Assistant / MQTT;
  • selectable relay supply rail (5V or 7–26V);
  • one hardware platform for 2, 4, and 8 channel variants.

Board

Top side of the ESP32-C6 relay adapter board

Top side of the ESP32-C6 relay adapter board

Bottom side

Bottom side

Installation examples (relay modules)

Compatibility

The board targets common “Arduino relay board” style modules with logic control inputs for each channel.

Compatible with:

  • 2CH relay modules;
  • 4CH relay modules;
  • 8CH relay modules;
  • 4CH solid-state relay modules (SSR)
  • 8CH solid-state relay modules (SSR)
⚠️ Attention
Before installation, verify the relay voltage and use the corresponding power supply and jumper position on the C6 board.

Power

Input supply can be selected by jumper:

  • 5V mode;
  • 7–26V mode.

The same selected voltage rail is used to power the relay board itself, so the adapter supports relay modules powered by:

  • 5V;
  • 12V;
  • 24V.

Power input options:

  • 5.5 × 2.1 mm DC jack (common barrel connector);
  • 1×2P 3.5 mm terminal block with removable plug.

I/O and expansion connectors

The board includes one 1×5P 3.5 mm connector with removable plug.

It can be configured for:

  • two digital inputs with galvanic isolation;
  • or direct connection of those inputs to ESP32 (selectable by jumper).

The same connector also provides auxiliary power pins:

  • +3.3V up to 100 mA;
  • +5V up to 100 mA (available only when input supply is 7–26V);
  • GND.

Additionally, there are two 1×4P 2.54 mm headers:

  1. I2C header for sensors or expansion boards;
  2. UART header for sensors or expansion boards.

Pinout

Zigbee LCD 1604

Firmware and integration

The board can be used with Arduino, ESP-IDF, ESPHome, and Tasmota.

Programming/flashing is possible both via USB Type-C and via a standard ESP32 USB-to-TTL adapter using the 1×6P 1.27 mm PROG connector.

For connectivity/integration, the ESP32-C6 platform supports:

  • Wi‑Fi 6 (2.4 GHz);
  • Bluetooth LE 5.x;
  • Zigbee / Thread (802.15.4).

This allows building not only Wi‑Fi + MQTT devices, but also Zigbee and Bluetooth based solutions (depending on selected firmware stack).

Templates (spoiler)

+ Tasmota template
{"NAME":"ESP32C6_Relays","GPIO":[1,1,228,229,230,231,640,608,1376,32,0,0,0,0,227,226,0,0,225,224,0,288,1,1,0,0,0,0,0,0,0],"FLAG":0,"BASE":1}
+ ESPHome template (2CH)
substitutions:
  devicename: c6-relay-2ch
  friendly_name: C6 Relay 2CH

  # Relays connector: CH1=IO19, CH2=IO18
  relay1_pin: GPIO19
  relay2_pin: GPIO18

  # EX connector: IN1=IO23, IN2=IO22
  di1_pin: GPIO23
  di2_pin: GPIO22

esphome:
  name: ${devicename}
  friendly_name: ${friendly_name}

esp32:
  board: esp32-c6-devkitc-1
  variant: esp32c6
  framework:
    type: esp-idf

logger:
api:
ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

switch:
  - platform: gpio
    name: Relay 1
    pin: ${relay1_pin}
    id: relay1

  - platform: gpio
    name: Relay 2
    pin: ${relay2_pin}
    id: relay2

binary_sensor:
  - platform: gpio
    name: DI1
    pin:
      number: ${di1_pin}
      mode: INPUT_PULLUP
      inverted: true

  - platform: gpio
    name: DI2
    pin:
      number: ${di2_pin}
      mode: INPUT_PULLUP
      inverted: true
+ ESPHome template (4CH)
substitutions:
  devicename: c6-relay-4ch
  friendly_name: C6 Relay 4CH

  # Relays connector: CH1=IO19, CH2=IO18, CH3=IO15, CH4=IO14
  relay1_pin: GPIO19
  relay2_pin: GPIO18
  relay3_pin: GPIO15
  relay4_pin: GPIO14

  # EX connector: IN1=IO23, IN2=IO22
  di1_pin: GPIO23
  di2_pin: GPIO22

esphome:
  name: ${devicename}
  friendly_name: ${friendly_name}

esp32:
  board: esp32-c6-devkitc-1
  variant: esp32c6
  framework:
    type: esp-idf

logger:
api:
ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

switch:
  - platform: gpio
    name: Relay 1
    pin: ${relay1_pin}
    id: relay1

  - platform: gpio
    name: Relay 2
    pin: ${relay2_pin}
    id: relay2

  - platform: gpio
    name: Relay 3
    pin: ${relay3_pin}
    id: relay3

  - platform: gpio
    name: Relay 4
    pin: ${relay4_pin}
    id: relay4

binary_sensor:
  - platform: gpio
    name: DI1
    pin:
      number: ${di1_pin}
      mode: INPUT_PULLUP
      inverted: true

  - platform: gpio
    name: DI2
    pin:
      number: ${di2_pin}
      mode: INPUT_PULLUP
      inverted: true
+ ESPHome template (8CH)
substitutions:
  devicename: c6-relay-8ch
  friendly_name: C6 Relay 8CH

  # Relays connector: CH1=IO19, CH2=IO18, CH3=IO15, CH4=IO14, CH5=IO2, CH6=IO3, CH7=IO4, CH8=IO5
  relay1_pin: GPIO19
  relay2_pin: GPIO18
  relay3_pin: GPIO15
  relay4_pin: GPIO14
  relay5_pin: GPIO2
  relay6_pin: GPIO3
  relay7_pin: GPIO4
  relay8_pin: GPIO5

  # EX connector: IN1=IO23, IN2=IO22
  di1_pin: GPIO23
  di2_pin: GPIO22

esphome:
  name: ${devicename}
  friendly_name: ${friendly_name}

esp32:
  board: esp32-c6-devkitc-1
  variant: esp32c6
  framework:
    type: esp-idf

logger:
api:
ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

switch:
  - platform: gpio
    name: Relay 1
    pin: ${relay1_pin}
    id: relay1

  - platform: gpio
    name: Relay 2
    pin: ${relay2_pin}
    id: relay2

  - platform: gpio
    name: Relay 3
    pin: ${relay3_pin}
    id: relay3

  - platform: gpio
    name: Relay 4
    pin: ${relay4_pin}
    id: relay4

  - platform: gpio
    name: Relay 5
    pin: ${relay5_pin}
    id: relay5

  - platform: gpio
    name: Relay 6
    pin: ${relay6_pin}
    id: relay6

  - platform: gpio
    name: Relay 7
    pin: ${relay7_pin}
    id: relay7

  - platform: gpio
    name: Relay 8
    pin: ${relay8_pin}
    id: relay8

binary_sensor:
  - platform: gpio
    name: DI1
    pin:
      number: ${di1_pin}
      mode: INPUT_PULLUP
      inverted: true

  - platform: gpio
    name: DI2
    pin:
      number: ${di2_pin}
      mode: INPUT_PULLUP
      inverted: true

Where to use

  • smart home lighting and load control;
  • automation cabinets and relay control blocks;
  • modernizing old relay projects without full hardware redesign.

Where to buy

The board is not on sale yet.

I am currently collecting pre-orders to understand demand. If you are interested, please contact me using any convenient method.