Versions
0.6

Input Board ESP


Input Board

Features

  • Power supply 24V DC
  • 35 inputs controlled by 24V DC (possibility of connecting switches, detectors, reed switches)
  • Outputs (number depends on the Relay Board used)
  • I2C bus (expandable with an expansion module or various types of sensors)
  • 1-WIRE bus (DS18b20 temperature sensors can be connected)
  • CAN bus
  • RS485
  • GPIO32 ESP connector (pull-up 4.7k to 3.3V)
  • 3 ADC
  • Clock RTC
  • INA219 bidirectional current/power monitor of the board
  • Ethernet 10/100Mbps
  • USB-C (port designed for software uploads)
  • 1.3” OLED display
  • Button MENU
  • Buzzer
  • DIP Switch

Repository

Everything about this board you will find here: https://github.com/boneIO-eu/input_board_ESP

Appearance

ESP

The boneio ESP controller has a housing printed on a 3D printer, the material it was printed from is PET-G. Descriptions for the case available for printing were also designed, as well as the front of the case made of brushed aluminum printed with the LOGO of our product. The descriptions are available here:

Documentation

WT32-ETH01

The WT32-ETH01 chip is responsible for the brain in the controller, where the ESP32 is the control processor, and the embedded Ethernet, which is controlled by the LAN8720 chip that allows the controller to connect to a LAN. With the LAN connection, the controller communicates via ESPHOME API or MQTT with a control system such as Home Assistant.

WT32-ETH01

I2C bus

The i2c bus is divided into 2 buses. The first i2c bus (bus_a) is located on pins GPIO14 (SDA) and GPIO15 (SCL). The second i2c bus (bus_b) is located on pins GPIO17 (SDA) and GPIO33 (SCL). The buses operate at a frequency of 100Mhz.

I2C_busI2C_AI2C_B
SDAGPIO14GPIO17
SCLGPIO15GPIO33

I2C Devices

IDI2C BusAddress
INA219i2c_a0x40
OLEDi2c_b0x3c
Clock RTCi2c_a0x68
MCP23017 or PCF8575 (inputs)i2c_a0x20
MCP23017 or PCF8575 (inputs)i2c_a0x21
PCF8574 (inputs)i2c_a0x22
LM75i2c_b0x48
MCP9808i2c_b0x18
MCP23017 or PCF8575 (outputs)i2c_b0x20
MCP23017 or PCF8575 (outputs)i2c_b0x21
external busi2c_b-

INA219

The INA219 is a comprehensive power monitoring solution that measures with 1% accuracy and communicates digitally with the host via an I2C interface. It is capable of measuring current and voltage on the high-voltage side up to 26 V and 3.2 A. A precision current amplifier measures the voltage through a 0.1-ohm, 1% detection resistor (shunt) to determine the current flowing. The combined voltage and current measurements allow power calculation, making the INA219 ideal for tracking boneio module and power measurements.

INA219 on the i2c_a bus is located at address 0x40

1.3” OLED display

A module with a 1.3” OLED display with a resolution of 128 x 64 pixels, thanks to the SH1106 controller and communication via the I2C bus

OLED on the i2c_b bus is located at address 0x3c

Clock RTC

The controller has a DS1307 real-time clock, whose voltage is supplied by a CR1220 round battery. It allows you to read the time in hours, minutes and seconds, the date: month, day, year.

Clock RTC on the i2c_a bus is located at address 0x68

Digital inputs

The operation of digital inputs is based on applying VDD voltage to the IN_1 to IN_35 pin. There is a voltage of +24V or GND on the VDD pin by setting the DIP SWITCH respectively.

Configuration of MCP23017 or PCF8575 and PCF8574 expander pins on the i2c_a bus :

Input IDI2C AddressPIN Number for MCP23017PIN Number for PCF8575/PFC8574
IN_10x20A0P0
IN_20x20A1P1
IN_30x20A2P2
IN_40x20A3P3
IN_50x20A4P4
IN_60x20A5P5
IN_70x20A6P6
IN_80x20B0P10
IN_90x20B1P11
IN_100x20B2P12
IN_110x20B3P13
IN_120x20B4P14
IN_130x20B5P15
IN_140x20B6P16
IN_150x21A0P0
IN_160x21A1P1
IN_170x21A2P2
IN_180x21A3P3
IN_190x21A4P4
IN_200x21A5P5
IN_210x21A6P6
IN_220x21B0P10
IN_230x21B1P11
IN_240x21B2B12
IN_250x21B3P13
IN_260x21B4P14
IN_270x21B5P15
IN_280x21B6P16
IN_290x22n/aP_0
IN_300x22n/aP_1
IN_310x22n/aP_2
IN_320x22n/aP_3
IN_330x22n/aP_4
IN_340x22n/aP_5
IN_350x22n/aP_6

Pins to connect the output board

Pins are used to connect the lower board with relays and others.

USB-C

The controller uses USB/CH340 to connect to a computer and program the drivers. It uses a mini-USB connector for the more modern Type-C, and CH340C as a programmer.

Dip Switch

With the DIP SWITCH, you can set the control of the digital inputs. Setting pins 3 and 4 to ON and 1 and 2 to OFF sets +24V control and setting pins 1 and 2 to ON and 3 and 4 to OFF is GND control.

ControlONOFF
+24V3 and 41 and 2
GND1 and 23 and 4
DIP Switch

Buzzer

The high-pitched buzzer is very useful, as it is possible to notify users of various events easily and with the standard controller tools.

Buzzer is located on GPIO2 from WT32-ETH01

The MENU button is used to operate the OLED display and check the controller’s parameters.

The button is located on the i2c_a bus from the PCF8574 on pin P_7

Analog Inputs

Boneio input board has 3 analog inputs, two voltage divider available.

Input NameGPIO NumberVoltage
A_1GPIO390 - 5V
A_2GPIO360 - 10V
A_3GPIO350 - 25V

External GPIO pin

External GPIO pin to which you can connect e.g. WS2812, WS2815 or others

GPIO is on GPIO12 from WT32-ETH01 with a pullup of 4.7k to 3.3V

1-Wire

The 1-WIRE bus is suitable for DS18b20 temperature sensors.

1-WIRE is on GPIO32 from WT32-ETH01 with a pullup of 4.7k to 5V

RS485

With RS485, you can connect various devices over modbus protocol, such as energy meters or other.

UARTGPIO
TXDGPIO1
RXDGPIO3
When using RS485, do not connect power from USB-C

CAN bus

With the CAN bus, various devices can be connected through the protocol.

UARTGPIO
TXDGPIO5
RXDGPIO4

Schematic and PCB

The schematic and PCB image can be downloaded github :

https://github.com/boneIO-eu/input_board_esp

Example configuration

A sample configuration of the fixture can be downloaded on Github. Make sure you look in branch of your board version.

Currently v0.6 share same config as v0.5

https://github.com/boneIO-eu/esphome/tree/input_board_v_0_5

Front labels

You can download PDF with front labels from here:

Board labels