Skip to content

[Bug] Wireless central/master half fails to wake from deep sleep & drains battery on main (not present in v0.3) #3207

@braun-steven

Description

@braun-steven

Describe the bug
On a split keyboard (Lily58) with nice!nano v2 and nice!view displays, the Central (Master/Left) half fails to wake up from deep sleep and exhibits high battery drain. The Peripheral (Slave/Right) half wakes up correctly.

Reverting the ZMK revision from main to v0.3 in west.yml (specifically for the GitHub Actions manifest) completely resolves the issue, suggesting a regression in the recent main branch or its interaction with Zephyr 4.1.0/fixes.

To Reproduce

  1. Setup a split keyboard (Lily58) with nice!nano v2 and nice!view displays.
  2. Build firmware using the main branch of ZMK (Jan 15, 2026).
  3. Enable Deep Sleep in config (CONFIG_ZMK_SLEEP=y).
  4. Allow the keyboard to enter deep sleep (timeout).
  5. Attempt to wake the keyboard by pressing a key on the Central half.
  6. Result: Central half does not wake, display remains off, and battery drains rapidly (empties overnight), suggesting a crash or a hang in a high-power state instead of proper sleep.
  7. Expected: Central half wakes up, display turns on, and it reconnects to the host.

Regression Context

  • Working Version: v0.3
  • Broken Version: main (current)

Hardware:

  • Board: nice!nano v2
  • Shield: Lily58 (Left/Central)
  • Display: nice!view
  • Connectivity: BLE

Additional Context

  • CONFIG_ZMK_STUDIO was not enabled in the builds and this issue is thus not related to Central side does not wake from sleep when ZMK Studio is enabled (Zephyr 4.1) #3195 (I've also explicitly disabled it just in case to test if it mistakenly defaults to y).
  • The issue persists regardless of the peripheral half's state.
  • Flashing the right-half firmware to the Left board shows that wake-up detection works (the hardware registers the keypress and wakes), isolating the failure specifically to the Central role logic/firmware on main.
  • The battery drain is significant enough that a full battery is depleted within ~24 hours of "sleeping".
  • When the left half is connected via USB, deep sleep works and the half successfully wakes up from sleep.

Configuration (lily58.conf)

CONFIG_ZMK_SLEEP=y
CONFIG_ZMK_DISPLAY=y

West Manifest (west.yml)

manifest:
  projects:
    - name: zmk
      remote: zmkfirmware
      revision: v0.3 # Changing this to main causes the issue
      import: app/west.yml

ZMK Lily 58 Pro Config: https://github.com/braun-steven/lily58-wireless-view-zmk-config

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions