Skip to content
Hardware Guide of Pool Monitor

Hardware Guide of Pool Monitor

Overview

The Pool Monitor is a ready-to-use display device built around the LILYGO TTGO T5 e-paper ESP32 board family. Unlike the Pool Controller, no additional sensors or relay modules are required — just the board itself.

Target audience: Anyone comfortable with basic electronics (connecting USB power). No soldering required.

Total cost: ~35–55€.

Safety ⚠️

  • The Pool Monitor itself operates at low voltage (5V USB) only.
  • However, it reads data from the Pool Controller which switches 230V AC mains voltage. The monitor only receives MQTT data — it does not directly handle mains voltage.
  • Keep the USB cable and board in a dry location. If used outdoors, place it in a weatherproof enclosure (IP54 or better).

Required Parts (BOM)

#ComponentQtyApprox. CostNotes
1LILYGO TTGO T5 V2.3.1 (V231) E-Paper ESP32 Board125–35€2.13" E-Ink display, built-in ESP32
2USB-C cable (data + power)13–5€For flashing firmware and power supply
3USB power supply 5V/≥1A15–10€Standard phone charger
4Optional: enclosure (ABS/PVC, IP54+)15–10€For outdoor/splash-prone installation
Total~35–55€Full kit, no soldering required

Where to Buy

All parts are widely available on Amazon, AliExpress, eBay, or at electronics distributors like Reichelt, Pollin, Conrad (DE/AT/CH).

  • TTGO T5: Search for “TTGO T5 V2.3.1 e-paper ESP32” or “LILYGO T5 e-ink display”. Make sure to get the V2.3.1 revision for the newest E-Ink panel.
  • USB-C cable: Any data-capable cable works. Avoid charge-only cables for firmware flashing.
  • Power supply: Standard USB phone charger (5V/≥1A). The board draws very little power, but a quality supply prevents brownouts during WiFi operation.

Compatible Board Variants

The TTGO T5 series comes in multiple revisions. The firmware supports:

Board VariantDisplay PanelStatusNotes
T5 V2.3.1 (V231)2.13" GxDEPG0213BN (b/w)DefaultRecommended — most recent, actively tested
T5 V1.2 / V2.42.13" GxGDE0213B1 (b/w)✅ SupportedOlder panel, different driver
T5 V2.0 / V2.32.13" GxGDE0213B1 (b/w)✅ SupportedNo SD card slot
T5 V2.12.9" GxGDEH029A1 (b/w)✅ SupportedLarger 2.9" display
T5 V2.22.9" GxGDEH029A1 (b/w)✅ SupportedDifferent display pinout
T5 V2.82.7" GxGDEW027W3 (b/w)✅ SupportedWith audio DAC onboard

To select a different variant, edit src/board_def.h and set the corresponding define at the top of the file:

#define LILYGO_T5_V231 1   // default — comment this out for other variants
// #define TTGO_T5_2_1  1  // example: uncomment for 2.9" variant

Then rebuild the firmware (see Software Guide).


Pin Assignment

The pin configuration is defined in src/board_def.h and varies by board variant. For the default V2.3.1 (V231) board:

SignalGPIONotes
E-Ink BUSYGPIO4Display busy output
E-Ink RESETGPIO16Display reset line
E-Ink DCGPIO17Data/Command control
E-Ink SS (CS)GPIO5SPI chip select
SPI MOSIGPIO23Display data line
SPI MISONot connected (E-Ink is write-only)
SPI CLKGPIO18Display clock
MODEM_POWER_ONGPIO23Modem power control (de-asserted in deep sleep)
LED_BUILTINGPIO2Built-in status LED

The SPI pins are shared with the ESP32’s flash memory — this is normal and works because the E-Ink display is only accessed when the CPU is idle.

Pinout Notes

  • SPI MISO is unused because the E-Ink display receives data only (no read-back needed).
  • GPIO23 is dual-purpose (SPI MOSI + MODEM_POWER_ON). In deep sleep it is driven LOW to turn off external modem power. During normal operation both functions coexist safely.
  • The strapping pins (GPIO0, GPIO2, GPIO12, GPIO15) are avoided for E-Ink control signals to prevent boot issues.

Wiring

No manual wiring is required. The TTGO T5 board integrates all components:

  • ESP32 microcontroller (dual-core Xtensa LX6)
  • 2.13" E-Ink display (SPI-connected, GxDEPG0213BN panel)
  • USB-to-serial converter (CP210x or CH340)
  • 3.3V voltage regulator
  • Battery charging circuitry (optional Li-Po connector)

Simply connect the board via USB-C:

  • To a computer for flashing the firmware
  • To a USB phone charger for permanent operation

Buttons (on supported variants)

Some TTGO T5 variants include hardware buttons. The firmware currently does not use them — all configuration is done via the captive portal (see Users Guide).

ButtonGPIONotes
BUTTON_1GPIO37Present on T5 V2.4/2.8 variants
BUTTON_2GPIO38Present on T5 V2.4/2.8 variants
BUTTON_3GPIO39Present on most variants

Power Supply

SourceVoltageCurrentNotes
USB-C phone charger5V≥1ARecommended for permanent operation
Computer USB port5V~500mASuitable for flashing and testing
USB power bank5VvariesWorks, but deep sleep is designed for continuous mains power

Power Consumption

StateCurrentDuration per cycle
Active (WiFi + MQTT + display update)~80mA~10–15 seconds
Deep sleep~10µA~165–170 seconds
Average~5.5mAover full 180s cycle

The 180-second deep sleep cycle means the board spends >90% of its life in deep sleep, making it suitable for battery operation with a suitably sized Li-Po cell (the TTGO T5 has a built-in battery connector and charger).


First Power-On and Testing

1. Visual Inspection

Before connecting power:

  • Check the USB-C connector for debris
  • Verify the board is not placed on a conductive surface
  • Look for any visible damage (swollen components, corrosion)

2. Power On

  1. Connect the TTGO T5 to a USB power source (computer or phone charger).
  2. The E-Ink display will update after a few seconds:
    • With stock firmware: a test pattern or blank screen.
    • With Pool Monitor firmware: the splash screen — see Users Guide for first-time configuration.

3. Initial Configuration

The device starts in AP mode if no WiFi is configured:

  1. Connect your phone/laptop to the pool-monitor WiFi network (open, no password).
  2. A captive portal opens automatically — or navigate to http://192.168.4.1.
  3. Enter your WiFi credentials and MQTT broker settings.
  4. Click Save — the device reboots and connects to your network.

Details in the Users Guide.


Troubleshooting

SymptomLikely CauseFix
Display stays whiteNo firmware or corrupted flashFlash firmware via PlatformIO (see Software Guide)
“MQTT Error” on display, portal opensMQTT broker unreachableCheck broker hostname/IP; verify MQTT server is running
“WiFi connection failed”Wrong credentials or weak signalReconfigure via captive portal; check WiFi range
Display shows old data (never updates)MQTT issue or pool controller offlineVerify pool controller publishes to HA state topics
QR portal appears every 3 minutesMQTT settings not savingRe-enter MQTT hostname/IP; try IP address instead of hostname
Brownout / reboot loopInsufficient power supplyUse 5V/≥1A supply; try different USB cable
Display updates but shows --:--NTP time sync failedCheck internet connectivity; NTP is attempted every hour

References

Last updated on