- ESP32 38P Pins
- DS3231 RTC Module + CR2032 battery (offline recommend)
- 5v 1-16 Channel Relay
- Female to Female Dupont Wire
- 5v 2-5a Power supply
Optional
- 5v UPS (Maintain RTC Time without DS3231 or NTP)
- Solid State Relay (SSR DC-AC) (High Load Setup)
- ESP32 Expansion Board
- Stable Wifi Connection for NTP/RTC sync (online if no ds3231)
- ArduinoJson
- RTClib v1.14.1
Download and install
- CH340G: https://sparks.gogo.co.nz/ch340.html
- CP2102: https://www.silabs.com/software-and-tools/usb-to-uart-bridge-vcp-drivers?tab=downloads
- FT232: https://ftdichip.com/wp-content/uploads/2025/03/CDM-v2.12.36.20-Universal-Driver-for-x64-WHQL-Certified.zip
esptool --port <PORT> write_flash 0x0 esp32-dump-0x0.bin- Download the Firmware and Flash
- https://github.com/xiv3r/esp32-automatic-timer-switch/releases/tag/esp32
- Flash Offset
esp32-dump-0x0.bin: 0x0
- WiFi SSID:
ESP32_16CH_Timer_Switch - Password:
12345678
- Without ds3231 or wifi the time runs from internal rtc
° Online
- Go to
Wifi settingsand connect to your home wifi to set the rtc time automatically
° Offline
- Go to
Time settingsand tapSync Browserto set the rtc time
- Double click relay name to edit
Set to your country time e.g for PH (UTC+8.0) 28800 seconds
- Search your country
gmt offsets in secondsand paste to the Time -> GMT Offset - e.g for negative gmt:
-28800 - e.g for positive gmt:
28800 - https://github.com/xiv3r/esp32-automatic-timer-switch/blob/main/gmt-offsets-seconds.md
- mDNS:
esp32-16ch-timer-switch.local - Captive Portal:
Auto redirect - Gateway:
192.168.4.1 - WAN:
192.168.1.123 - Global:
Enable Port Forwarding on your router to access anywhere
⚠️ Use the Main relay power input and Avoid using VCC and GND from the relay IN GPIO Pin row
- Remove the Yellow VCC-JDVCC jumper.
- Relay JD-VCC pin: Connect to external 5V Positive wire.
- Relay GND pin: Connect to external 5V Negative wire.
- Relay VCC pin: Connect to ESP32 5V (powers the LED).
- Remove the Yellow VCC-JDVCC jumper.
- Relay JD-VCC pin: Connect to external 12V Positive wire.
- Relay GND pin: Connect to external 12V Negative wire.
- Relay VCC pin: Connect to ESP32 5V (powers the LED).
- Hold BOOT button for 5 seconds to factory reset
- Press EN button to restart
2x8CH | ESP32 38P
VCC _____ 5V
IN8 _____ GPIO23 Relay 1
IN7 _____ GPIO32 Relay 2
IN6 _____ GPIO33 Relay 3
IN5 _____ GPIO25 Relay 4
IN4 _____ GPIO26 Relay 5
IN3 _____ GPIO27 Relay 6
IN2 _____ GPIO14 Relay 7
IN1 _____ GPIO13 Relay 8
GND _____ GND
VCC _____ 5V
IN1 _____ GPIO1 Relay 9 (TX)
IN2 _____ GPIO3 Relay 10 (RX)
IN3 _____ GPIO19 Relay 11
IN4 _____ GPIO18 Relay 12
IN5 _____ GPIO5 Relay 13
IN6 _____ GPIO4 Relay 14
IN7 _____ GPIO2 Relay 15
IN8 _____ GPIO15 Relay 16
GND _____ GND
DS3231 | ESP32 38P
VCC _____ 3.3V
SDA _____ 21
SCL _____ 22
GND _____ GND
Auto Build firmware binaries using github action







