About the Products & Technology category

Hi there,

And Welcome here…
SO these things are AWESOME..

That being said…
let’s run it down a little, I plan a similar thing like you with HA and a custom IO mod to the S3 Plus on here..


SO it appears you are conflating two completely mutually exclusive operating profiles from Seeed’s marketing sheet:

  1. SenseCraft HMI Mode: Active / light sleep UI mode where the capacitive digitizer remains fully powered and scanning, enabling instant tap-to-wake and touch navigation.

  2. 6-Month Battery Mode: True ESP32-S3 deep sleep with the peripherals completely unpowered (IT8951 EPDC off, SD off, GT911 clamped/reset via GPIO48 LOW), waking strictly on a timer or physical RTC button press (like KEY0 / GPIO3 / GPIO4).

Here is the exact breakdown of why your plan won’t hit multi-month runtime and how the hardware actually behaves:

1. SenseCraft vs. Deep Sleep Battery Math

  • The 6-month claim assumes waking once or twice per day, doing an e-ink refresh over SPI, and immediately dropping into… :sweat_smile: :backhand_index_pointing_right: true ESP32-S3 deep sleep
    (<100uA with GPIO hold latching).

  • The GT911 capacitive digitizer in active scan mode draws ~ 4 to 5mA. Even in the GT911’s lowest internal “Green/Monitor” idle polling mode, it draws hundreds of microamps to over a milliamp.

  • On the built-in 3000 mAh Li-ion battery, a continuous 4.5mA floor from the touch controller means the battery will drain in under 25–28 days without a single screen refresh or Wi-Fi wake. It physically cannot reach 3 to 6 months with the digitizer listening.

2. The GPIO48 / Latching Trap

  • As noted in the community optimizations (like ar0v3r’s repo), GPIO48 controls the GT911 reset/power line.

  • If you don’t use gpio_hold_en() and gpio_deep_sleep_hold_en() on the ESP32-S3 before entering deep sleep, unheld pins float/drive HIGH, keeping the GT911 and SD circuitry alive and leaking 5mA.

  • To get the advertised quiescent sleep floor, you must pull GPIO48 LOW and isolate the I2C lines, which completely cuts the digitizer off.

3. GT911 INT Pin Quirks on ESP32-S3

  • While GPIO2 is technically RTC-capable on the ESP32-S3, GT911 INT lines are edge-driven pulse interrupts designed to signal “new coordinate data available in 0x814E buffer.”

  • If left powered without an active host reading and clearing the coordinate buffer via I2C, the GT911 buffer remains dirty, causing the interrupt line to stay asserted or continuously re-assert, throwing the ESP32-S3 into a rapid, unending wake loop under ext1.

the marketing divide gently:

  • If you want multi-month wall-mount battery life, then you must accept waking on a physical button (KEY0 / GPIO3 / GPIO4) or timed interval while cutting power to the GT911 via GPIO48.

  • If tap-to-wake is a strict requirement for children, the device must either be wall-powered via USB-C or treated as a ~3-week recharge cycle device.

Not impossible to be sure with the hardware, but not both or opposite the power specs needed, IMO :bow:

HTH
GL :slight_smile: PJ :v: