UWB Tag Power Management - Sleep mode for battery life #689

Closed
opened 2026-03-18 10:20:21 -04:00 by seb · 0 comments
Owner

Feature Request

Implement power management for the Makerfabs ESP32 UWB Pro with Display (wearable tag) to extend battery life.

Requirements

  1. Display auto-off: Turn off SSD1306 OLED after 30s inactivity
  2. ESP32-S3 deep sleep: Enter deep sleep mode with GPIO wake capability
  3. DW1000 sleep mode: Put UWB chip in low power mode (3.5μA vs 160mA active)
  4. Button wake: Wake from deep sleep via button press (GPIO0)

Power Targets

  • Current: 250mA active
  • Target: <5mA sleep (50x improvement)
  • Display off saves 25mA
  • DW1000 sleep saves 155mA
  • ESP32 deep sleep: 10μA core

Implementation

// Before sleep
ssd1306_displayOff();
DW1000.enterSleep();
esp_sleep_enable_ext0_wakeup(GPIO_NUM_0, 0); // button wake
esp_deep_sleep_start();

Hardware

  • Board: ESP32 UWB Pro with Display (DW1000, SSD1306 OLED, LiPo)
  • Branch: salty/uwb-tag-display-wireless
  • Pin map: display board CS=21, RST=27, IRQ=34

Notes

  • Critical for portable/wearable use
  • Should work alongside BLE configuration (see Issue #690)
## Feature Request Implement power management for the Makerfabs ESP32 UWB Pro with Display (wearable tag) to extend battery life. ### Requirements 1. **Display auto-off**: Turn off SSD1306 OLED after 30s inactivity 2. **ESP32-S3 deep sleep**: Enter deep sleep mode with GPIO wake capability 3. **DW1000 sleep mode**: Put UWB chip in low power mode (3.5μA vs 160mA active) 4. **Button wake**: Wake from deep sleep via button press (GPIO0) ### Power Targets - Current: 250mA active - Target: <5mA sleep (50x improvement) - Display off saves 25mA - DW1000 sleep saves 155mA - ESP32 deep sleep: 10μA core ### Implementation ```cpp // Before sleep ssd1306_displayOff(); DW1000.enterSleep(); esp_sleep_enable_ext0_wakeup(GPIO_NUM_0, 0); // button wake esp_deep_sleep_start(); ``` ### Hardware - Board: ESP32 UWB Pro with Display (DW1000, SSD1306 OLED, LiPo) - Branch: `salty/uwb-tag-display-wireless` - Pin map: display board CS=21, RST=27, IRQ=34 ### Notes - Critical for portable/wearable use - Should work alongside BLE configuration (see Issue #690)
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#689
No description provided.