Windows IoT Docs

Power Settings Best Practices for Windows IoT

Table of Contents

Overview

Effective power management prolongs device uptime, reduces thermal stress, and ensures reliable operation in edge scenarios. This guide consolidates Microsoft‑recommended settings for Windows IoT Enterprise and Windows IoT Core.

Guidelines

Configure these settings via Group Policy, local scripts, or the powercfg utility.

Sample Configuration Script

This PowerShell snippet creates a lightweight power scheme optimized for unattended IoT devices.

# Create custom scheme based on Balanced
$scheme = (powercfg -duplicatescheme SCHEME_BALANCED) -replace 'GUID:',''
powercfg -setactive $scheme

# Set display off after 5 minutes
powercfg -change -monitor-timeout-ac 5

# Set sleep after 30 minutes (or 0 to disable)
powercfg -change -standby-timeout-ac 30

# Enable low power idle (if supported)
powercfg -setacvalueindex $scheme SUB_SLEEP STANDBYIDLE 1

# Apply
powercfg -setactive $scheme

Registry Tweaks

For granular control, adjust the following registry keys. Use reg.exe or a .reg file.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]
"CsEnabled"=dword:00000001   ; Enable Connected Standby (if hardware supports)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerThrottling]
"Enable"=dword:00000001      ; Turn on Power Throttling
"Policy"=dword:00000000      ; 0 = Adaptive (default)

Frequently Asked Questions

Q: How do I verify my power scheme?
A: Run powercfg -list. The active scheme will be marked with an asterisk.
Q: My device still sleeps unexpectedly.
A: Check for wake timers or scheduled tasks that may trigger sleep. Use powercfg -waketimers to list them.
Q: Can I programmatically enforce these settings on remote devices?
A: Yes. Use PowerShell Remoting, MDOP, or Azure IoT Edge extensions to push configuration scripts.