Skip to content

Hardware

Sentinel SNT-G1 is based on an ESP32-S3 module with W5500 Ethernet and PoE. Sensors and supporting modules connect to that module’s GPIO header.

Sentinel illustration: the node in the center with temperature, AC power, digital input, Modbus, LCD and buttons, buzzer, and digital output blocks, connected over a PoE LAN cable to the DC Gateway and Celestian.
Functional block illustration of the Sentinel SNT-G1 (not a wiring diagram).
Module Function Connection to ESP32-S3-ETH
ESP32-S3-ETH + PoE Controller, W5500 Ethernet, power from PoE GPIO9–14 used by the W5500
PZEM-004T 100A Voltage, current, power, energy, frequency, power factor GPIO17 (RX) / GPIO18 (TX) through a level shifter
DS18B20 (1–4) Temperature, slots t1…t4; several sensors share one cable GPIO3, 4.7 kΩ pull-up to 3V3
SHT41 (optional) Room temperature and humidity I2C GPIO1 (SDA) / GPIO2 (SCL), 3.3 V side
LCD2004 I2C 20×4 local display same I2C, through a level shifter (the LCD runs at 5 V). Backpack address (usually 0x27) is auto-detected or set with lcd_addr
PCF8574 (I/O expander) Touch buttons and digital outputs. I2C address exp_addr (default 0x21) I2C GPIO1 / GPIO2 directly (3.3 V side), INT to GPIO39
Touch TTP223 ×4 UP / DOWN / BACK / OK, output HIGH when touched PCF8574 P4 / P5 / P6 / P7
Digital outputs o1…o4 Switched by the output command or rules; all OFF at boot PCF8574 P0 / P1 / P2 / P3
Digital inputs d1…d4 Type set by configuration GPIO16 / GPIO38 / GPIO48 (through the UPS optocoupler) / GPIO15, the other wire to GND
Active buzzer Local alarm and identify GPIO46 (active-HIGH)
RS-485 module (optional) Modbus RTU devices TX GPIO43, RX GPIO44, DE/RE GPIO40 (see Modbus sources)

Pins that must not be used: GPIO0 and 45 (strapping), 4–7 (SD card slot), 21 (onboard RGB LED), 33–37 (PSRAM).

  • I2C pull-ups. The total SDA and SCL pull-up on the bus must be between ±2 kΩ and ±5 kΩ (3.3 V), and only one pair. Many PCF8574 modules carry their own pull-ups, sometimes 1 kΩ; combined with other pull-ups the bus becomes too strong, the LCD is not detected, and a scan shows every address responding. Remove the pull-up resistors on the PCF8574 module if the bus already has pull-ups.
  • TTP223 touch buttons cannot sense touch through a metal plate. For a metal enclosure, make a window with an acrylic or plastic panel.
  • Grounding. GND may be connected to the metal enclosure at one point near the RJ45, preferably through 1 MΩ in parallel with 10 nF/2 kV.
  • DS18B20 needs a 4.7 kΩ pull-up resistor to 3V3 on the data line. Without it, readings can be intermittent.
  • PCF8574 outputs only sink current well: one pin sinks ±25 mA but sources only ±100 µA when high. A small LED can be driven directly; other loads need a transistor, optocoupler, or relay module (Digital outputs).
  • RS-485. No isolation on the board; use an isolated RS-485 module, or make sure only devices with an isolated communication side are connected. Add 120 Ω termination at both ends of the bus.
Device Address Notes
PCF8574 (buttons + outputs) 0x21 (A0 to VCC, A1 and A2 to GND) exp_addr = 33. Not auto-detected; must match the A0…A2 pads on the module
LCD backpack 0x27 or 0x3F lcd_addr 0 = automatic; must not equal exp_addr
SHT41 0x44 enable with sht41 = true

The PCF8574 module address = 0x20 + (A2·4 + A1·2 + A0), where A = 1 if that pad goes to VCC. The serial commands i2cscan and i2cdiag show which addresses respond (USB serial).

Sentinel G1 is powered from PoE over the Ethernet cable; when programming over USB-C, power comes from USB. Provide a PoE switch in the rack or a PoE injector.