ESP8266 is a very powerful and cheap MCU equipped with WiFi transceiver, very useful to expand inputs/outputs of a Raspberry/Domoticz controller.

Creasol DomESP1 board is designed for ESP8266 module NodeMCU V3, with 900 mils header pitch (optionally, soldering additional headers, it's possible to use the 1100mils module or WeMos D1 mini module), and integrates the whole circuitry to manage digital inputs, one analog input, 4 relay outputs, 1 low voltage output, I2C bus, 1wire bus and 2 mosfet outputs with 12A 30Vmax capability.

 

creDomESP1 all 600The LEDs on every input, output and bus, permit to check the status of the board and found any problem on wire connections or firmware configuration: LEDs are enabled by pressing the button Test .

The LEDs enable feature and the switching mode power supply lead to a full control of inputs/outputs with an optimized power consumption, even if ESP8266 module and firmware are not designed to be really "green".

Low voltage output uses a Solid State Relay with 100mA 60Vdc capability designed to drive electronic board inputs like boiler on/off input or gate/garage door start command, and consumes only 5mW of power.
Each relay consumes about 200mW power: if several relays are needed, its recommended to use a smarter devices like Creasol DomBus31 that has 6x 250V 5A SPST relay outputs + 2x 10A SPDT relay outputs: DomBus31 consumes less than 10mW in standby and less than 500mW with all relays ON!

We recommend to program ESP8266 module using ESPEasy firmware, to make it suitable for Domoticz controller, one of the most DIY controllers for home automation systems. REMOVE THE ESP8266 MODULE FROM THE SOCKET before programming it through the microUSB connector!

It's possible to purchase:

  1. the plain DomESP1 board: the client should purchase and program by himself the ESP8266 module, 900 mil header pitch;
  2. the DomESP1 board, with the ESP8266 module already programmed with the latest ESPEasy firmware.

Behind DomESP1 board it's available DomESP2 board: it's exactly the same board, but using plugin terminal blocks (see the picture below, with PCB in white).

Any customization you need, please contact us: we normally provide customizations even for small quantities.

Creasol DomESP2 board for NodeMCU ESP8266 modules, with plugin terminal blocksDomESP2 board for ESP8266 IoT relay module

Features

  • 4 relay outputs (250V 5A max) with 200mW power consumption
  • 1 low voltage output (60V 100mA capability) with only 5mW power consumption
  • 1 analog input, 18V max, function=%value%*0.01828
  • 1wire bus (1Wire) that can be used as normal GPIO
  • I2C bus (SDA and SCL terminal blocks) that can be used as normal GPIO and is shared with 10A 30Vmax mosfets, with ON/OFF and dimmer capability
  • 2 mosfet outputs, open-drain, 12A 30V max, suitable to drive LED stripes and other DC loads, with PWM function. Mosfet are drived by the same GPIOs used for SDA and SCL, so Mosfet and I²C cannot be used together
  • switching mode power supply, to reduce power consumption/dissipation, with 5-25Vdc input voltage
  • 5Vdc and 3.3Vdc outputs available on the terminal blocks
  • current consumption in standby: typically 80mA @5Vdc, 40mA @12Vdc, 20mA @24Vdc

creDomESP1 layout

Do you want more? Presentation of the high reliable DomBus modules for home automation systems

DomBus modules are designed for high reliability and very low energy consumption, and can be used to create small to very complex home automation systems.

DomESP installation

It's possible to find documentation of the installation process (firmware download, and device configuration) at the address https://www.creasol.it/domesp1conf

When DomESP1 board is purchased with the NodeMCU module, the firmware ESP-Easy firmware, normal version, has been programmed in the module so it's ready to use.
It's possible to reprogram another kind of firmware (Tasmota, ESP-Home, ...), of course.
To access the ESP Easy firmware, follow the steps below:

  • ESP Easy will start in Access Point mode, with SSID ESP-Easy or similar, and password configesp . Enable WiFi on a smartphone or PC, and connect to the SSID ESP-Easy or ESP_0 or similar, using the password configesp
  • Set the SSID of the WiFi network where the device will be connected, and associated WiFi password, then click on Connect button.
  • At this point, the device will be associated to the selected WiFi network with the given SSID an password.
  • Scan the network to find the IP address of the device, and connect to it using a browser: http://DEVICE_IP_ADDRESS

Instruction manual

 

creDomESP1 all2 x400

creDomESP1 all3 x400
Application notes

AN domoticz example2

 

DomESP1 board used to control a swimming pool

Swimming pool control using DomESP1 or DomESP2  board

The board is perfect to control pumps and temperature sensors, by using a NodeMCU WiFi module with ESPEasy or Tasmota firmware.

Board is supplied at low voltage, from 8 to 25Vdc, to guarantee the galvanic isolation from the grid: DomESP1 uses a switching mode regulator to minimize the power consumption and dissipation, very useful considering that NodeMCU module consumes 400mW when operative.
It has 4 relays with 5A 250V capability that can be used to command up to 4 actuators (pump, lights, ...), and supports 1wire bus to connect 1 or more DS18B20 waterproof temperature sensors (in parallel).
Also, it integrates 2 mosfets with 30V 12A capability to control DC loads (with PWM/dimming function), 1 solid state relay with 60V 100mA capability, I²C bus for sensors, and 1 analog input 18V max.

With the following script it's possible to control the swimming pool water temperature, using a black solar pipe and pump to recirculate hot water to increase the water tempeature to the desired set point.

--Domoticz script to control swimming pool water temperature
-- script executed every minute: name this file scripts/lua/script_time_swimmingpool.lua
DEVPUMP="name of pump device"
DEVTEMPA="name of temperature A"
DEVTEMPB="name of temperature B"
TEMPSET=30   -- temperature for the pool 

commandArray={}	-- list of command to sent to Domoticz when script ends
tempA=tonumber(otherdevices[DEVTEMPA])
tempB=tonumber(otherdevices[DEVTEMPB])
if (otherdevices[DEVPUMP]=='Off') then
	-- pump is OFF
	if (tempAtempA+5) then
		-- must heat! tempB is 5 degrees > tempA
		commandArray[DEVPUMP]='On'
	end
else
    -- pump is ON
    if (tempA>TEMPSET or tempB<=tempA) then
    	commandArray[DEVPUMP]='Off'
    end
end
return commandArray

 

Creasol DomESP1 connected to a central heating system

The following diagram shows how to connect some temperature/humidity sensors by 1wire bus to monitor room and water temperatures; ESP8266 controls one low voltage output to enable/disable the heating system, and 3 outputs to enable/disable 3 pumps or valves.

This is just an example. Through the WiFi connection, the ESP8266 module installed on this board will communicate temperatures to Domoticz controller, which will enable/disable the central heating system controlling the 3 heating zones by enabling/disabling the corresponding pump.

 creDomESP1 an1 heating

Using the mosfet to control Led strips by PWM

DomESP1 and DomESP2 boards have 2 mosfets, 30V 12A, that can be used for serveral different functions.

In this application note we'll describe how to control one or two 12/24Vdc Led stripes by these mosfets, that can be activated as ON/OFF or as PWM for dimming.

Led stripes with dimming functions with Creasol DomESP1 or DomESP2 board

Using EspEasy firmware on ESP8266 module, it's possible to control the PWM output by a http call, using the syntax
http://IP_OF_ESP_MODULE/control?cmd=pwm,GPIO,DUTY_CYCLE,FADING_TIME
for example
http://192.168.1.123/control?cmd=pwm,4,512,1000
to set pwm on GPIO 4 (output MOS1), duty cycle to 50% (value varies from 0=Off to 1023=On), using a fading time of 1000ms (so the duty cycle changes gradually to the set value in 1 second).

In Domoticz it's possible to create a virtual switch that can be set (in the Switchs panel) as SwitchType=Dimmer, then you can find a slidebar that can be moved from 0 to 100%. To output this percentage value on EspEasy it's neccessary to follow the instructions at https://www.domoticz.com/forum/viewtopic.php?t=20583

N-Mosfet are connected in open-drain configuration, with source connected to the GND hole, connected togheter to the ground plane of the board, so mosfets are not galvanically separated from the rest of the board.

In the PCB you can find two holes for each mosfet, one marked as MOS1 that have to be connected to the V- terminal of the Led stripe, and one marked as GND that should be connected to the V- terminal of of the power supply.  The V+ terminal of the Led strip should be connected to the V+ terminal of the 12/24V power supply. The same for MOS2 and GND holes, connected to the 2nd mosfet. Wires or 3.5mm pitch terminal blocks can be soldered to these 4 pad-holes.

To enable the mosfet output, a jumper in the PCB, marked as MOSx enable, must be shorted by using the solder iron. MOS1 shares the same GPIO of SDA, while MOS2 shares the same GPIO of SCL, so enabling a mosfet you loose the possibility to use SDA or SCL as input/output/I2C.
To prevent high voltage spikes during mosfet switch from ON to OFF, it's recommended to connect an external free-wheeling schottky diode 2A 40V as indicated in the picture. Also, if the power supply is not placed near the DomESP board, it's better to add a 220uF 35V capacitor on power wires, near the DomESP board, to minimize the conducted noise over the power supply wires.

Using DomESP1 to read power usage/production from a energy meter, and temperature by 1-wire temperature sensors DS18B20

AN energy meter ds18b20 domESP1

 

Do you need help? join the DomBus channel on Telegram!