Skip to main content
Visitor II
October 16, 2025
Question

ESP32 deep-sleep with LSM6DSOX step-detector: how do you cut false wakes?

  • October 16, 2025
  • 1 reply
  • 242 views

I’m building a small wearable logger: ESP32 sleeps most of the time, wakes on LSM6DSOX step-detector, logs, then goes back to sleep. Looking for settings that work in practice:

  • ODR/FS and step-detector config that avoids vibration false wakes

  • INT wiring to an RTC-capable GPIO (pull-up value?), latched vs pulsed INT

  • FIFO vs direct interrupt; simple debounce in firmware

  • Re-init after deep-sleep (soft reset, clear INT, reprogram registers)

  • Typical deep-sleep current numbers with the IMU powered vs fully off

Concrete numbers welcome (thresholds, durations, current, wake frequency). Thanks!

    This topic has been closed for replies.

    1 reply

    gtrkingAuthor
    Visitor II
    October 18, 2025

    Update: first pass is working better.

    • LSM6DSOX: ODR 26 Hz, FS ±4 g, step-detector ON, threshold = 2

    • INT1 → RTC GPIO with 10 kΩ pull-up; added 400 ms cool-down in firmware

    • Deep-sleep sits around ~9–12 µA at 3V3; false wakes dropped a lot

    Hardware reference (external): the board I used is ESP32-WROOM.
    If you’ve reached <8 µA with similar wiring, what changed it for you?

    Technical Moderator
    October 20, 2025

    Hi @gtrking,

    Lower ODRs reduce power but may miss steps or increase latency. 26Hz could be a good compromise. You can experiment with thresholds 2–4 depending on your environment and motion profile.

    FS ±4 g is a balanced choice for wearables, but you could try also ±8g.

    Use latched interrupt mode if available (interrupt stays asserted until cleared) to avoid missing events during ESP32 wake-up latency.

    In addition, you can disable unused sensor features (e.g., FIFO if not needed).

    Ensure sensor is in low-power mode when idle.

    Hope this helps!