IP switch 0.4c
Previous version 0.2 here

Key features
16 ethernet controlled outputs with optional expandable board
-
Configure open emitter or open colector outputs
Simple “Wago” like terminal output connection
12-14V power (step down included)
Optional color
LCD display with touch screen support - not implemented
Connect optional relay board with one flat cable
Analog input optional connector
DIN rail mount
Hardware

Power supply (12-14V DC)
Ethernet RJ45 connector on ESP32-GATEWAY (need rev.F or later)
Optional expand board connector
Output driver with open collector or emiter
LED light shown enabled output
Two jumper for select output driver are used
Connector for 16 relay board connected wth flat cable
16 output (50V/500mA MAX)
COMMON connect dependency to use driver
if use open colector ULN driver, connect COMMON to relay +DC power
if use open emiter MIC driver, connect COMMON to relay GND
Sources
Firmware upload
-
Install ESP32 support from
GitHub
-
-
Select menu Tools/Board:“OLIMEX ESP32-GATEWAY”
Select menu Tools/Board revision:“Revision F”
Connect micro USB between ESP32-GATEWAY and PC
Select menu Tools/Port/YOUR-CONNECTED-PORT
Upload firmware
After firmware upload you can upload next version of the firmware via IP, if you computer in same network. In Arduino IDE shows another choice Network ports

password for OTA upload is remoteqth
First step need get IP addres and telnet acces key
After first upload firmware via USB, open serial monitor in Arduino IDE (Ctrl+Shift+M) and set
baudrate to 115200
No Line ending
write
? and press enter show settings Command line interface
copy and save
IP address
Key for telnet access (100 characters)
Second step connect remotely via IP
Download and install
PuTTY
In menu Terminal preset CR/LF and line discipline by picture
In main menu Session select or set the following values
Login confirm with press
y
Now answer four times the question of what character is on random selected position,
in your key (key saved from first step acces). Key formated in groups of ten - FOR EXAMPLE
Position KEY
1-10 pP75tf8qrF
11-20 y4SK57dpnC
21-30 fpag8x9eZ4
31-40 IsueSv4jCY
41-50 pX3lpK4UPD
51-60 ij1bbLEQRu
61-70 XRr9dfoJje
71-80 44u5MYQdcm
81-90 B68NpG7F0t
91-100 5mD04pAE6s
if you enter wrong three times, login will be blocked for next ten minutes
After login your IP address store to EEPROM and next key will be required only if change your IP address
Now logged in to CLI (command line interface) via telnet

for Logout press q
CLI commands
CLI contains some commands for set or show information.
Commands for set source device
Other commands, UPERCASE is important
? - show status and help
w - set inactivity time in minutes, after them IP switch will be restarted (watchdog)
W - set inactivity time in minutes, after them IP switch will set all outputs to OFF
if you need OFF all outputs after reboot watchdog, set smaller value than it
zero value disable this watchdog
/ - set ENCODER RANGE (2-g) for switching one from range
% - enable/disable group buttons
! - set group for each button separately
: - List group buttons
in one group may be activate only one output
groups are free configurable
the group can be any size 2-8 buttons
there may be any buttons in the group, for example 1 and 8
the number of groups is not limited
* - enable/disable serial debugging
+ - select get Network ID sufix from eeprom or hardware BCD switch
# - set NETWORK ID
$ - enable/DISABLE MULTI CONTROL function (sharing up to 16 master device)
& - send broadcast packet for find control devices in local network
. - if enable Multi control, show list detected IP switch by ID prefix
@ - restart IP switch
For controlled from Manual IP switch
Upload firmware by previous steps
Set encoder range via CLI with command n
Set source via CLI or web interface to m
Set network ID prefix same on both devices via CLI in range 0-7
Select Network ID sufix same on both devices via CLI in range ID 0-7
Connect to same local network with DHCP as Manual IP switch
After power up both devices, is automaticaly pair
Web status page
How IP addres got the device from the DHCP server?
Show all outputs status
-
Parameter of WiFi or ethrnet IP connect
Firmware version
Device uptime
How source controled his
Notice - show this page can extend reaction latency IP switch
Strong secure remote manage
Configuration available via serial CLI (command line interface). This interface can be safely accessed to the Internet and encrypted connections to manage all features

What you need
How to start
after first boot login to serial console with default login pi and password raspberry
run command and
enable SSH sudo raspi-config
run command and write down the shown
IP address ip a
you can disconnect HDMI monitor and USB keyboard
connect to Raspberry PI from any other PC
update system with run command
sudo apt-get update && sudo apt-get upgrade
install screen fith command
sudo apt-get install screen
run
screen screen /dev/ttyUSB0 115200
now after pres
? key show status information and you can
configure via CLI
close screen with CTRL+A K and confirm y
disconnect from Raspberry PI use command
exit
How to assembly

What tools do you need to build
Steps of assembly
Check all parts
Open
Interactive BOM for find components
and solder
U5 U6 DIP-18 socket with key to right
Solder pinsocket
P17 to front side and pinheader
P4 P14 P22
Solder
20pin header to Olimex ESP32-GATEWAY front side
Solder output terminal
P6 P10 P11 P3
Solder
P2 input terminal
Screw two
M3x12mm spacers with lock nuts
Insert
four lock nuts, and two slim nuts to 3D printed DIN rail mount
Screw with
four screws M3x10mm
Plug
ESP32-GATEWAY to main board and screw with two screws M3x4mm
Insert
two output drivers and plug
two jumpers in position dependency to used driver. Horizontal for ULN open colector, vertical for MIC open emiter