Versions
0.7

boneIO ESP 32x10 Instruction


ESP32x10

boneIO ESP 32x10 has Made for Esphome badge, which means it’s fully compatible with Esphome software and has autodiscovery feature by Esphome addon.

Features

  • Power supply 24V DC,
  • 32 relay outputs,
  • 35 inputs (possibility of connecting switches, detectors, reed switches),
  • DIP Switch to control if inputs are driven by + or GND,
  • I²C bus (expandable with an expansion module or various types of sensors),
  • 1-WIRE bus (DS18b20 temperature sensors can be connected),
  • CAN bus,
  • RS485/Modbus bus,
  • GPIO (pull-up 4.7k to 3.3V) (GPIO32),
  • 3 x ADC,
  • INA219 bidirectional current/power monitor of the controller,
  • Ethernet 10/100Mbps,
  • USB-C (port designed for software uploads),
  • 1.3” OLED display
  • Button MENU
  • Buzzer

Powering boneIO ESP

To power up dimmer connect it to 24VDC power supply.

Powering ESP32x10

Connecting Ethernet

LAN ESP32x10

Connect Ethernet cable to LAN port in boneIO ESP 32x10. With default configuration address would be obtained via DHCP.

Connecting outputs

There is 1 input of power for each 2 lights. Each 2 outputs share one COM port. To connect light to OUT 01 connect L (power AC) to COM port of OUT 01, OUT_02 connectors.

You can mix phases. You can connect garage gate as long as you don’t mix different types of power (AC phases, DC etc.)

In each output instruction there is configuration snippet of Esphome to easy control of the device.

Lights on 2 phases

Lights ESP32x10

Esphome example

This config is already shipped with boneIO ESP.

light:
  - platform: binary
    name: 'Light 01'
    output: out_01
    id: light_01
  - platform: binary
    name: 'Light 02'
    output: out_02
    id: light_02

Lock in doors

You can connect electromagnetic lock to output. Follow voltage needs of lock to power it with proper power supply. In example below 12VDC is used.

Lock ESP32x10

Esphome example

Example door as cover entity with reed switch (reed switch connected to in_01 and closed circuit means closed.) It will stop opening the door when reed switch is open.

binary_sensor:
  - platform: gpio
    name: 'Door reed switch'
    id: in_01
    pin:
      pcf8574: pcf_inputs_1to14
      number: 0
      mode:
        input: true
      inverted: true
switch:
  - platform: output
    output: out_01
    id: switch_01
cover:
  - platform: template
    name: 'Door'
    device_class: door
    lambda: |-
      if (id(in_01).state) {
        return COVER_CLOSED;
      } else {
        return COVER_OPEN;
      }
    open_action:
      - switch.turn_on: switch_01
    stop_action:
      - switch.turn_off: switch_01
    on_open:
      - switch.turn_off: switch_01
    toggle_action:
      - if:
          condition:
            - switch.is_off: switch_01
          then:
            - switch.turn_on: switch_01
          else:
            - switch.turn_off: switch_01

Cover together with reed switch (reed switch connected to in_01 and closed circuit means closed.)

cover:
  - platform: template
    name: 'Garage gate'
    device_class: gate
    stop_action:
      - switch.turn_on: switch_01
    lambda: |-
      if (id(in_01).state) {
        return COVER_CLOSED;
      } else {
        return COVER_OPEN;
      }
    open_action:
      - switch.turn_on: switch_01
    close_action:
      - switch.turn_on: switch_01

Garage gate

Garage gate is often driven by closing GND circuit (push button). You can connect it to output of boneIO. Together with reed switch you can fully control your gate.

Garage ESP32x10

Esphome example

switch:
  - platform: output
    name: 'Switch 01'
    output: out_01
    id: switch_01
    on_turn_on:
      then:
        - delay: 300ms
        - switch.turn_off: switch_01

Cover together with reed switch (reed switch connected to in_01 and closed circuit means closed.)

binary_sensor:
  - platform: gpio
    name: 'Garage reed switch'
    id: in_01
    pin:
      pcf8574: pcf_inputs_1to14
      number: 0
      mode:
        input: true
      inverted: true
switch:
  - platform: output
    output: out_01
    id: switch_01
    on_turn_on:
      then:
        - delay: 300ms
        - switch.turn_off: switch_01
cover:
  - platform: template
    name: 'Garage gate'
    device_class: gate
    stop_action:
      - switch.turn_on: switch_01
    lambda: |-
      if (id(in_01).state) {
        return COVER_CLOSED;
        } else {
        return COVER_OPEN;
      }
    open_action:
      - switch.turn_on: switch_01
    close_action:
      - switch.turn_on: switch_01

Watering garden

You can connect garden water valves to water your plants, grass etc.

Watering ESP32x10

Esphome example

Just safety turn off switch.

switch:
  - platform: output
    output: out_01
    id: switch_01
    on_turn_on:
      then:
        - delay: 5minutes
        - switch.turn_off: switch_01

Connecting Input

Momentary switch

Connect one part of wall switch to VDD of Inputs in boneIO. Connect IN01 to second input of wall switch.

Input ESP32x10

Reed switch

Reed ESP32x10

Connecting Modbus devices

Modbus ESP32x10

Esphome example

Uncomment bottom section of the boneIO ESP config

######################
### MODBUS SECTION ###
######################
# UNCOMMENT BELOW TO USE MODBUS
# uart:
#   id: uart_pin14_15
#   rx_pin: GPIO14
#   tx_pin: GPIO15
#   baud_rate: 9600
#   stop_bits: 1

# modbus:
#   send_wait_time: 200ms
#   uart_id: uart_pin14_15
#   id: boneio_modbus

# modbus_controller:
#   - id: YOURDEVICE ID
#     address: 0x09
#     modbus_id: mod_bus
#     setup_priority: -10
#     update_interval: 60s

In modbus_controller add your device to config. You’d need to setup switch and sensors entities by yourself according to Esphome.io manual.

Software installation

Software installation procedure is same for boneIO ESP and boneIO Dimmer. Connect USB-C cable to your PC and choose Dimmer in web installer.

Follow instructions here: /docs/esphome/install2024_3

boneIO ESP specific configuration is available at: ESP32 Esphome configuration

Technical data

Available on input board esp page: InputBoardESP v0.7

In default software all data are already bundled in Esphome config, so you don’t need to worry about it.