Devantech ESP32LR42 WiFI 4 x 16A Relays Module User Manual

June 4, 2024
Devantech

Devantech ESP32LR42 WiFI 4 x 16A Relays Module

ESP32LR42

Changes from v1.5 to v1.6

Setup commands MU and MW were added to provide an MQTT username and password.

Overview

The ESP32LR42 is a WIFI connected relay module using the popular ESP32.
It provides 4 relays capable switching up to 16Amps and 2 digital inputs with pull-ups than can interface directly with volt free contacts. The normally open relay contacts have snubbers fitted across them, and can drive inductive loads such as contactors and solenoids.
Power for the board is 12v dc, which can be provided by a standard universal wall power supply. A 1A or greater supply should be selected.

Control Protocols
  1. Simple plain text commands sent to the module.
  2. HTML commands
  3. MQTT
  4. A built in webpage

WIFI
The ESP32LR42 connects via 2.4GHz WIFI to your network. Therefore it must be located in a position where it gets a good WIFI signal. The module should not be enclosed in a metal box/cabinet as this will shield the WIFI signal.
You can check the signal level by looking at the RSSI figure which is reported by the ST (Status) command.

Configuration
The ESP32LR42 is configured by connecting a USB cable to your PC and running a terminal program. PuTTY is a good option if you don’t have any other preferences.
The serial port should be set to 115200 baud, 8 bit, 1 stop, no parity, no flow control.

USB Configuration Commands

ST Status. Return the system status

Status:
Firmware Version: 1.2
IP: 0.0.0.0 (192.168.0.30)
Subnet: 0.0.0.0
Gateway: 0.0.0.0
Primary DNS: 0.0.0.0
Secondary DNS: 0.0.0.0
SSID: ****
Password: ****
ASCII TCP Port: 17123
RSSI: -66
MQTT Server: 192.168.0.115
MQTT Port: 1883
MQTT ID: ESP32LR42
MQTT User: myUsername
MQTT Password: ****
Relay1 Topic: R1Topic
Relay2 Topic: R2Topic
Relay3 Topic: R3Topic
Relay4 Topic: R4Topic
Input1 Topic: Input1Topic
Input2 Topic: Input2Topic
When the IP address is set to 0.0.0.0 this means that the IP address is being provided by your networks DHCP server. In that case the assigned IP address is also provided, as above.
When the SSID and Password are setup, they will be displayed until the next reset, After that they will only show as ****.

RB ReBoot

This will restart the module. It may produce a lot of random characters as the ESP32’s boot logging runs at a different baud rate. If it succeeds in connecting to your network it will report the IP address.

Re-Booting.. .
崳⸮⸮⸮⸮⸮⸮⸮⸮#XL###C⸮⸮⸮⸮⸮5)5)⸮⸮⸮ia⸮b⸮⸮⸮⸮⸮⸮⸮⸮奅#⸮⸮⸮⸮U͕ Y⸮o⸮⸮⸮⸮⸮ ##i#U⸮5 ⸮Q⸮⸮⸮⸮⸮
WiFi connected.
IP address:
192.168.0.6

IP Sets the modules IP address
Enter IP followed by the required IP address. Entering address 0.0.0.0 means the IP will be obtained from your networks DHCP server. The new IP address will take effect after the next re-boot.
IP “192.168.0.123”
OK. Saved IP Address: 192.168.0.123

SB Sets the SuBnet mask
SB “255.255.255.0”
OK. Saved Subnet Mask: 255.255.255.0

GW Sets the GateWay address
This is normally the IP address of your router.
GW “192.168.0.1”
OK. Saved Gateway Address: 192.168.0.1

PD Sets the Primary DNS
The can be the IP address of your router which will then use your ISP provided DNS. You can also specify the DNS such as 8.8.8.8 for Googles DNS server.
PD “192.168.0.1”
OK. Saved Primary DNS: 192.168.0.1

SD Sets the Secondary DNS
The can be the IP address of your router which will then use your ISP provided DNS. You can also specify the DNS such as 8.8.4.4 for Googles DNS server.
SD “8.8.4.4”
OK. Saved Secondary DNS: 8.8.4.4

SS This sets the SSID
The SSID is the public name of your WIFI network Enter your WIFI’s SSID here.
SS “Devantech”
OK. Saved SSID: Devantech

PW Sets your networks WIFI password
PW “K]~kCZUVUGA6SG~”
OK. Saved Password: K]~kCZUV
UGA6SG~

PA Sets the TCP/IP port number for the ASCII commands
PA 17126
OK. Saved ASCII port number: 17126

AP Sets the ASCII password
AP “My Secret Password”
OK. Saved Ascii Password: My Secret Password

MS Sets the MQTT broker address
MS “192.168.0.121”
OK. Saved MQTT Server: 192.168.0.121

MD Sets the MQTT ID for this module
MS “Unique Module Name”
OK. Saved MQTT ID: Unique Module Name

MP Sets the MQTT broker’s port
Normally, this should be set to 1883.
mp 1883
OK. Saved MQTT port number: 1883

If you are not using MQTT, set the port to 0. This will turn off MQTT, otherwise it will continuously try to connect if there is no MQTT broker.

MU Sets the MQTT user name (V1.6+)
This is for MQTT brokers that are setup to require a username and password. For open MQTT brokers that do not require a user name/password, these may be ignored.
MU “my Username”
OK. Saved MQTT User: my Username

MW Sets the MQTT password (V1.6+)
This is for MQTT brokers that are setup to require a username and password.
MW “my Super Secret Password”
OK. Saved MQTT Password: my Super Secret Password

R1-R4 Sets the MQTT topic this relay is subscribed to

R3 “Workshop/Heater”
OK. Saved Relay 3 Topic: Workshop/Heater

In use, the payload for relay topics should be a string with the first character set to ‘0’ or ‘1’ (ASCII characters 0x31/0x30).

N1-N2 Sets the MQTT topic this Input will publish to

N2 “Workshop/Heater”
OK. Saved Input 2 Topic: Workshop/Heater

The payload generated for input topics is a string with the first character set to ‘1’ if the input is open or unconnected, and ‘0’ if the input pins are shorted. (ASCII characters 0x31/0x30).

TCP/IP Commands
The ESP32LR42 has a built in TCP/IP command set which allows you to control the module remotely.
All commands are sent using plain ASCII text. PuTTY is a good cross platform terminal program to use for testing. The TCP/IP port is the one you set-up with the PA command during USB configuration. Do not use port 80 as that is reserved for the HTML commands and Webpage.

SR Set Relay
This is used to turn a relay on or off
To turn Relay 1 on:
SR 1 1
The first number is the relay number from 1 to 8. The second number is 1 or 0, on or off.
So turn turn relay 1 off again:
SR 1 0
The command will respond with ok or fail.
SR 1 1
ok
SR 1 6
fail < 6 is not valid, only 1 or 0 for on/off
SR 9 1
fail < relay 9 does not exist.

GR Get Relay
Will return the state of the relay.
To get the status of relay 3:
GR 3
1
GR 3
0
GR 9
fail < relay 9 does not exist.

GI Get Input
Will return the status of an input.
GI 2
0 Input 2 is low (Green Led is on)
GI 2 Input 2 is high (Green Led is off)
1
GI 9
fail Only 2 inputs available

AL Get All 2 inputs

AL
10 Here, Input 2 is low, all others are high.
Inputs are numbered from left to right, 1 to 2.

Password
From version 1.5 we have added a password to the ASCII commands, this can be set with the AP command over the USB connection. The password is passed as a prefix to any command.
For example if a password is set and relay 1 is required to be turned on, start with the password (example password of 1234), then the command, so it becomes:
1234 SR 1 1

HTML Commands

There are a set of HTML commands that can be used to control the module.
?Rly3=1 This will turn on relay 3
?Rly3=0 This will turn off relay 3
?Rly3=2 This will toggle relay 3 to the opposite state.

You can enter the commands into a browser immediately after the IP address. http://192.168.0.3/?Rly3=1
This will turn on relay 3.
In response the module will return an XML file, which your browser will display.

off on on on 1 0

The XML file is generated after the command has executed, therefore will reflect the new status of the relays.

Webpage

The built in webpage can be used as a remote app to monitor and control the relays. Your can access the page as a default with just the IP address or by specifying index.htm.

The webpage contains the Javascript to send an HTML toggle command, as described in the previous section. It will send the toggle command each time a button is clicked. It then uses the responding XML file to color the buttons and set the Input buttons to indicate input status.

Schematics

CPU

Note.
The CPU schematic is the same for the ESP32LR20, ESP32LR42 and ESP32LR88. Relays 5-8 and Inputs 3-8 are not available on the ESP32LR42.

Power Supply

Relay Outputs
1 of 4 identical circuits shown

The relays are capable of switching up to 16 Amps at 24vdc or 230vac. A data sheet of the relay can be found here. Only the normally open (N/O) contact has the snubber circuitry.

Digital Input
1 of 2 identical circuits shown

Digital Inputs have a pull-up resistor to 3.3v and will operate with a simple contact closure to ground.
Alternatively, they may be connected to 3.3v logic. The clamping diodes prevent operation at voltages higher than 3.3v, so don’t connect to 5v logic.

PCB dimensions
Appendix 1

Programming the ESP32LR42 with Arduino studio
Customizing the ESP32LR42 can easily be achieved by using the Arduino studio and importing the required libraries.
Step 1 – Arduino IDE installation
Obtain and install the latest Arduino IDE from https://[www.arduino.cc/en/Main](http://www.arduino.cc/en/Main)/Software it should be the latest to ensure compatibility.

Step 2 – Add the ESP32 library URL to the Arduino IDE
Go to File>Preferences
Now in the Preferences screen below we need to enter
https://dl.espressif.com/dl/package_esp32_index.json into the “Additional Board Manager URLs” option. If you already have libraries added you may need to add a comma between the URLs

You can now click the OK button to finish with this screen.

Step 3 – Install the ESP32 library
Go to Tools>Board:>Boards Manager…

Now filter by “esp32” and install the Es press if Systems library

Step 4 – Board selection
Go to Tools>Board:> and select ESP32 Dev Module

Step 5 – Add MQTT library
Go to Tools>Manage Libraries…
Filter by Pub Sub Client and select Pub Sub Client by Nick O’Leary, then press the install button That’s it! Your Arduino IDE should now be able to program the ESP32LR42 module. The factory shipped code is available Here: https://github.com/devantech

Copyright © 2021, Devantech Ltd. All rights reserved.
www.robot-electronics.co.uk

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals