IoT Core feature list

Here's the features you can add to Windows 10 IoT Core (IoT Core) images.

Add features using the OEMInput XML file. To learn more, see the IoT Core manufacturing guide.

Retail features defined by Microsoft

The following table describes the Microsoft-defined features that can be used by OEMs in the Features element in the OEMInput file for Retail build.

When creating images for your device, determine which features are required for your device.

Features

Features Description
IOT_EFIESP Boots the device using UEFI, required feature in all images.
IOT_UAP_OOBE Includes the inbox OOBE app that is launched during the first boot and also during installation of apps, required feature in all images.
IOT_CRT140 Adds CRT binaries, required feature in all images.
IOT_UNIFIED_WRITE_FILTER Adds Unified Write Filter (UWF) to protect physical storage media from data writes.
IOT_USBFN_CLASS_EXTENSION Adds USB function WDF class extension for USB function mode support.
IOT_POWERSHELL Adds PowerShell (except for Arm64) and WinRM binares. Recommended: Add the open source powershell version using Import-PSCoreRelease (importps). You will still require IOT_POWERSHELL feature to include WinRM binaries
IOT_ALLJOYN_APP Adds the AllJoyn application, used for Headless ZwaveAdapterAppx.
IOT_ONBOARDING_APP Provides a means of setting up the device’s WiFi connection if no other WiFi profile was configured. It places the WiFi adapter into a Soft-AP mode so a phone or other device can connect to it.
IOT_FONTS_CHINESE_EXTENDED Adds additional Chinese fonts.
IOT_APP_TOOLKIT Adds tools required for Appx installation and management.
IOT_FFU_FLASHMODE Adds flashing mode support so that the device can be flashed using ffutool. Currently supported for arm only.
IOT_MTP Adds Media transfer protocol support. See MTP.
IOT_MIRACAST_RX_APP Adds Connect App that supports Miracast receive feature. Note that the underlying hw/drivers should support Miracast for this app to work. Currently supported for arm only.
IOT_WEBB_EXTN Adds Windows Device Portal. If you are building an open retail device for commercial deployment to a "specific/limited installation" (i.e. factory or retail store) where the end-user does the final configuration and you document your customers that they must obtain a certificate for WDP and install it on both WDP and connecting browsers and passwords are changed on WDP, then using WDP in this narrow commercial instance is acceptable.
IOT_BLUETOOTH_A2DP_SINK Allows an audio device to play to the device. This is new in Windows 10, version 1809
IOT_BLUETOOTH_A2DP_SOURCE Allows the device to play to an external device (e.g. a Bluetooth speaker). This is available as a separate feature in Windows 10, version 1809. In Windows 10, version 1803, this was included in the image by default.
IOT_BLUETOOTH_HFP_AUDIOGATEWAY HFP AudioGateway allows the device to serve as a gateway device for phone calls. An application can interact with the calling functions of a paired Bluetooth headset by using APIs under Windows.ApplicationModel.Calls, specifically the VoipPhoneCall class. .
IOT_HEADLESS_CONFIGURATION Configures device to boot into Headless mode, where the UI stack is disabled and foreground apps will not launch
IOT_NARRATOR Adds support for the Windows 10 screen-reading functionality, Narrator.
IOT_OCR_ALL_LANGS Adds Optical Character Recognition (OCR) for all supported languages, including English
IOT_OCR_EN_US Adds Optical Character Recognition (OCR) support for English. Do not use with IOT_OCR_ALL_LANGS
IOT_HWN_CLASS_EXTENSION (Deprecated) Adds hardware notification WDF class extension for vibration API support. Deprecated in Windows 10, version 1709, as this feature is added by default
IOT_NETCMD (Deprecated) Adds the command-line tool: netcmd.exe, used for configuring network connectivity. Deprecated in Windows 10, version 1803. The netcmd.exe will be removed when updating to version 1803. Use Windows.Devices.WiFi.WiFiAdapter for managing Wifi. See WiFi Connector example.
IOT_APPLICATIONS (Deprecated) Deprecated in Windows 10, 1809 release along with IOT_CORTANA feature. Adds Account Management host application, enables MSA sign-in. Required for Cortana.

Settings

Features Description
IOT_POWER_SETTINGS Prevents the device from going to sleep due to inactivity. Required for x86/amd64 platforms. This feature supports Arm starting with Windows 10, Version 1703.
IOT_EFIESP_BCD Sets boot configuration data (BCD) for GPT-based drives. Required for x86/amd64. MBR devices should use IOT_EFIESP_BCD_MBR.
IOT_EFIESP_BCD_MBR Sets boot configuration data (BCD) for MBR-based drives.
IOT_SHELL_HOTKEY_SUPPORT Adds support to launch default app using a hotkey: VK_LWIN (Left Windows key).
IOT_SHELL_ONSCREEN_KEYBOARD Adds available on-screen keyboard.
IOT_SHELL_ONSCREEN_KEYBOARD_FOLLOWFOCUS Enables on-screen keyboard to automatically appear when input field is focused. Requires IOT_SHELL_ONSCREEN_KEYBOARD.
IOT_DISABLEBASICDISPLAYFALLBACK Disables the inbox basic render driver. This feature should only be used with the Qualcomm DragonBoard (DB).
IOT_CRASHCONTROL_SETTINGS Configures the device to auto reboot without showing blue screen (BSOD) when the device crashs. This also disables crashdump. [AutoReboot = 1 ; DisplayDisabled = 1 and CrashDumpEnabled = 0]. See Crash settings
IOT_SSH Enables Secure Shell (SSH) connectivity
IOT_GENERIC_POP (Deprecated) In Windows 10 1809, this is deprecated and the device will get OS only updates by default. Adds the Generic device targeting info for OS only Updates.

Developer Tools

Important

The following developer features should not be used in Retail builds and in images for commercial devices. If you would still like to disable IOT_SIREP as a developer tool, however, please follow the instructions here.

Features Description
IOT_SIREP Enables SIREP service for TShell connectivity.
IOT_TOOLKIT Includes developer tools such as: Kernel Debug components, FTP, Network Diagnostics, basic device portal, and XPerf. This also relaxes the firewall rules and enables various ports.
IOT_NANORDPSERVER Adds Remote Display packages. Note: Remote Display is prerelease software intended for development and training purposes only.
IOT_BERTHA Adds a sample app: "Bertha". This app provides basic version info and connectivity status.
IOT_UAP_DEFAULTAPP Adds a sample app, "Chucky". This app is similar to "Bertha".
IOT_FTSER2K_MAKERDRIVER Adds the FTDI USB-to-Serial driver.
IOT_CP210x_MAKERDRIVER Adds drivers for SiliconLabs CP210x-based USB to Serial adapters.
IOT_DMAP_DRIVER Adds DMAP drivers.
IOT_CONTAINERS Adds support for native Nano Server Containers. These are supported on Intel 64-bit platforms (since Windows 10, version 1709) and ARM32 platform (since Windows 10, version 1809).
IOT_CORTANA (Deprecated) Deprecated in Windows 10, 1809 release. See Cortana SDK for including Cortana to your device. Adds Cortana feature. Requires IOT_APPLICATIONS feature.
IOT_CORTANA_OBSCURELAUNCH (Deprecated) Deprecated in Windows 10, 1809 release along with IOT_CORTANA feature. Enables running Cortana application on boot. This add-on causes Cortana to run in the background resulting in better response time for Cortana.

Speech Data

Features Description
IOT_SPEECHDATA_AR_SA Adds speech data for Arabic (Saudi Arabia).
IOT_SPEECHDATA_DE_DE Adds speech data for German (Germany).
IOT_SPEECHDATA_EL_GR Adds speech data for Greek.
IOT_SPEECHDATA_EN_CA Adds speech data for English (Canada).
IOT_SPEECHDATA_EN_GB Adds speech data for English (UK).
IOT_SPEECHDATA_ES_ES Adds speech data for Spanish (Spain).
IOT_SPEECHDATA_ES_MX Adds speech data for Spanish (Mexico).
IOT_SPEECHDATA_FR_CA Adds speech data for French (Canada).
IOT_SPEECHDATA_FR_FR Adds speech data for French (France).
IOT_SPEECHDATA_IT_IT Adds speech data for Italian.
IOT_SPEECHDATA_JA_JP Adds speech data for Japanese.
IOT_SPEECHDATA_KO_KR Adds speech data for Korean.
IOT_SPEECHDATA_NL_NL Adds speech data for Dutch.
IOT_SPEECHDATA_PL_PL Adds speech data for Polish.
IOT_SPEECHDATA_PT_BR Adds speech data for Portuguese (Brazil).
IOT_SPEECHDATA_PT_PT Adds speech data for Portuguese (Portugal).
IOT_SPEECHDATA_RO_RO Adds speech data for Romanian.
IOT_SPEECHDATA_RU_RU Adds speech data for Russian.
IOT_SPEECHDATA_ZH_CN Adds speech data for Chinese (Mainland).
IOT_SPEECHDATA_ZH_HK Adds speech data for Chinese (Hong Kong SAR). Do not include IOT_SPEECHDATA_ZH_TW.
IOT_SPEECHDATA_ZH_TW Adds speech data for Chinese (Taiwan). Do not include IOT_SPEECHDATA_ZH_HK.
IOT_SPEECHDATA_EN_US (Deprecated) Deprecated in Windows 10, version 1607. Do not add this feature. The default image includes speech data for English (US).

Features in the IoT Core Add-Ons

Note

The packages corresponding to these features are available in source in the iot-adk-addonkit. You can modify them to suit your requirements.

Features Description
CUSTOM_CMD Feature to include the oemcustomization.cmd. This is product-specific and picks up the input file from product directory. OEM_CustomCmd is the deprecated feature ID, can still be used for legacy builds. See Runtime Customizations
CUSTOM_BCD Includes BCD settings to suppress boot UX progress display and also enables flight sigining. Modify Custom.BCD.xml to remove flight signing.
CUSTOM_OOBEAPP Includes customizations for the OOBE App
PROV_AUTO Feature to add a provisioning package to an image. This is product specific and picks up the input ppkg file from the product directory OEM_ProvAuto is the deprecated feature ID, can still be used for legacy builds. See Runtime customizations
RECOVERY_BCD Includes recovery BCD settings for GPT devices. See Add a recovery mechanism
RECOVERY_BCD_MBR Includes recovery BCD settings for MBR devices. See Add a recovery mechanism
SEC_BITLOCKER Includes the configuration for Bitlocker
SEC_SECUREBOOT Includes the retail configuration for Secure Boot
SEC_SECUREBOOT_TEST Includes the test configuration for Secure Boot
SEC_DEVICEGUARD Includes the retail configuration for DeviceGuard
SEC_DEVICEGUARD_TEST Includes the test configuration for DeviceGuard
SETTINGS_HOTKEY Feature to demonstrate how to add a registry setting to an image. Read Switching between apps for more details.

Test features

The following table describes the Microsoft-defined test features that can be used by OEMs in the Features element in the OEMInput file for Test builds ONLY.

Features Description
IOT_BCD_FLASHMODE_SETTING Enables FFU flashing setting.
IOT_DISABLE_TESTSIGNING Disables runtime-installation of test-signed packages.
IOT_EFIESP_TEST UEFI packages required for booting test images. Should not be used with IOT_EFIESP.
IOT_ENABLE_ADMIN Enables the Administrator account with default password 'p@ssw0rd'.
IOT_ENABLE_TESTSIGNING Enables run-time installation of test-signed packages. Allows test-signed drivers and (.appx) apps to run.
IOT_KD_ON Enables Kernel Debugger
IOT_KDNETUSB_SETTINGS Includes all kernel debugger transports and enables KDNET over USB. The default debug transport settings for this feature are an IP address of "1.2.3.4", a port address of "50000", and a debugger key of "4.3.2.1". To use the default IP address of 1.2.3.4, run VirtEth.exe with the /autodebug flag. For example, to establish a kernel debugger connection to the phone, use the command:Windbg -k net:port=50000,key=4.3.2.1 Note Do not include either IOT_KDUSB_SETTINGS or IOT_KDNETUSB_SETTINGS if you need to enable MTP or IP over USB in the image. If the kernel debugger is enabled in the image and the debug transports are used to connect to the device, the kernel debugger has exclusive use of the USB port and prevents MTP and IP over USB from working.
IOT_KDSERIAL_SETTINGS Includes all kernel debugger transports and enables KDSERIAL with the following settings: 115200 Baud, 8 bit, no parity. These settings apply to x86 and amd64 platforms. Arm platforms use UEFI-defined serial transport settings.
IOT_KDUSB_SETTINGS Includes all kernel debugger transports and enables KDUSB. The default debug transport target name for this feature is WOATARGET. To establish a kernel debugger connection to the phone, use the command: Windbg -k usb:targetname=WOATARGET. Note Do not include either IOT_KDUSB_SETTINGS or IOT_KDNETUSB_SETTINGS if you need to enable MTP or IP over USB in the image. If the kernel debugger is enabled in the image and the debug transports are used to connect to the device, the kernel debugger has exclusive use of the USB port and prevents MTP and IP over USB from working.
IOT_WDTF Includes components for Windows Driver Test Framework, required for HLK validation.
IOT_DIRECTX_TOOLS Adds DirectX tools.
IOT_UMDFDBG_SETTINGS Includes user-mode driver framework debug settings.
IOT_DISABLE_UMCI (Deprecated) Disables the code integrity check. Deprecated in Windows 10, version 1709.

Features per release

The following table provides an overview of supported features per IoT Core OS release, listed in alphabetical order.

Features 1809 (17731.x) 1803 (17134.x) 1709 (16299.x) 1703 (15063.x) 1607 (14393.x)
IOT_ALLJOYN_APP x x x x x
IOT_APPLICATIONS (Deprecated) N/A x x x
IOT_APP_TOOLKIT x x x x x
IOT_BCD_FLASHMODE_SETTING x
IOT_BERTHA x x x x x
IOT_BLUETOOTH_A2DP_SINK x
IOT_BLUETOOTH_A2DP_SOURCE x
IOT_BLUETOOTH_HFP_AUDIOGATEWAY x
IOT_CONTAINERS x (x64,arm32) x(x64) x(x64)
IOT_CORTANA (Deprecated) N/A x x x
IOT_CORTANA_OBSCURELAUNCH (Deprecated) N/A x x x
IOT_CP210x_MAKERDRIVER x x x x
IOT_CRASHCONTROL_SETTINGS x x
IOT_CRT140 x x x x x
IOT_DIRECTX_TOOLS x x x x x
IOT_DISABLE_FLIGHTSIGNING x x x x x
IOT_DISABLE_TESTSIGNING x x x x x
IOT_DISABLE_UMCI (Deprecated) N/A N/A N/A x x
IOT_DISABLEBASICDISPLAYFALLBACK x x x x x
IOT_DMAP_DRIVER x x x x x
IOT_EFIESP x x x x x
IOT_EFIESP_BCD x x x x x
IOT_EFIESP_BCD_MBR x x x x
IOT_EFIESP_TEST x x x x x
IOT_ENABLE_ADMIN x x x x x
IOT_ENABLE_FLIGHTSIGNING x x x x x
IOT_ENABLE_TESTSIGNING x x x x x
IOT_FFU_FLASHMODE x(arm) x(arm)
IOT_FONTS_CHINESE_EXTENDED x x x x
IOT_FTSER2K_MAKERDRIVER x x x x x
IOT_GENERIC_POP (Deprecated) N/A x x x x
IOT_HWN_CLASS_EXTENSION (Deprecated) N/A N/A N/A x
IOT_HEADLESS_CONFIGURATION x
IOT_KD_ON x x x x x
IOT_KDNETUSB_SETTINGS x x x x x
IOT_KDSERIAL_SETTINGS x x x x x
IOT_KDUSB_SETTINGS x x x x x
IOT_MIRACAST_RX_APP x x
IOT_MTP x x
IOT_NANORDPSERVER x x x x x
IOT_NETCMD (Deprecated) N/A N/A N/A x x
IOT_NARRATOR x
IOT_OCR_ALL_LANGS x
IOT_OCR_EN_US x
IOT_ONBOARDING_APP x x x
IOT_POWER_SETTINGS x x x x x (x86/x64)
IOT_POWERSHELL x x x x x
IOT_SHELL_HOTKEY_SUPPORT x x x x x
IOT_SHELL_ONSCREEN_KEYBOARD x x x x
IOT_SHELL_ONSCREEN_KEYBOARD_FOLLOWFOCUS x x x x
IOT_SIREP x x x x x
IOT_SPEECHDATA_AR_SA x
IOT_SPEECHDATA_DE_DE x x x x x
IOT_SPEECHDATA_EL_GR x
IOT_SPEECHDATA_EN_CA x x x x
IOT_SPEECHDATA_EN_GB x x x x x
IOT_SPEECHDATA_EN_US (Deprecated) N/A N/A N/A N/A x
IOT_SPEECHDATA_ES_ES x x x x x
IOT_SPEECHDATA_ES_MX x x x x
IOT_SPEECHDATA_FR_CA x x x x
IOT_SPEECHDATA_FR_FR x x x x x
IOT_SPEECHDATA_IT_IT x x x x x
IOT_SPEECHDATA_JA_JP x x x x x
IOT_SPEECHDATA_KO_KR x
IOT_SPEECHDATA_NL_NL x
IOT_SPEECHDATA_PL_PL x
IOT_SPEECHDATA_PT_BR x
IOT_SPEECHDATA_PT_PT x
IOT_SPEECHDATA_RO_RO x
IOT_SPEECHDATA_RU_RU x
IOT_SPEECHDATA_ZH_CN x x x x x
IOT_SPEECHDATA_ZH_HK x x x x x
IOT_SPEECHDATA_ZH_TW x x x x x
IOT_SSH x x x x x
IOT_TOOLKIT x x x x x
IOT_UAP_DEFAULTAPP x x x x x
IOT_UAP_OOBE x x x x x
IOT_UMDFDBG_SETTINGS x x x x x
IOT_UNIFIED_WRITE_FILTER x x x x x
IOT_USBFN_CLASS_EXTENSION x x x x x
IOT_WDTF x x x x x
IOT_WEBB_EXTN x x x x x

What's in the Windows ADK IoT Core Add-ons

IoT Core manufacturing guides