SoCs and custom boards
Microsoft works alongside Broadcom, Intel, NXP, and Qualcomm to verify support for Windows 10 IoT Core on several vendors' system on a chip (SoCs). These IoT Core-powered SoCs are used in hundreds of different devices that you can use to prototype and commercialize your idea.
The SoC you choose to adopt will depend on considerations such as performance requirements, power profile, cost, physical connectivity options, long term support, and operating conditions.
You'll also need to decide whether you want to use an off-the-shelf board or device, build a custom device using a system on a module (SoM) plus a custom carrier board, or build a complete custom board. Cost and the degree of customization are the key factors in this decision, with both generally increasing as you customize further.
Windows 10 IoT Core Features by Processor Family
This list takes into consideration processors that are in non-commercial public preview.
To help you select the right platform for your device, the table below shows the features that are supported by processor family with Windows 10 IoT Core. All features listed below are supported in Windows 10 IoT Core, however some SoCs may not have the specific IP included in their design, and are such indicated with "N/A". In such cases, a third party solution can be incorporated into the design to provide the required functionality. In a limited number of cases where a Windows 10 IoT Core feature is not implemented on a processor, the entry is left blank.
Feature Intel Qualcomm NXP i.MX6 NXP i.MX7 NXP i.MX8M Broadcom Audio x x x x x x GPIO x x x x x x I2C x x x x x x Ethernet x N/A x x x x SPI x x x x x x Display x x x x x x UART x x x x x x USB x x x x x x PCIe x N/A x Under development Under development N/A MIPI-CSI N/A x N/A N/A N/A N/A Graphics/Video x x Software-rendered Software-rendered Software-rendered Software-rendered GPS N/A x N/A N/A N/A N/A Wi-Fi/BT N/A x N/A N/A N/A N/A Trusted I/O N/A N/A x x x N/A Processor power management x x x Under development TPM x x x x x N/A Secure Boot x x Under development Under development Under development Hibernate x PWM x N/A x x x JTAG x N/A x x x eMMC x x x x x SDHC x x x x x x
If an off-the-shelf device is in a form factor that includes the connectivity options that work for your scenarios, that will often be the most cost- and time-effective choice.
For most people, developing a complete custom board would make sense when the product is expected to be sold in volumes greater than tens, or even hundreds, of thousands of units. For smaller volumes, using a SoM and designing a custom carrier board, instead of designing a completely new board, can significantly reduce your cost and time-to-market, as well as streamlining software development and integration.
Each of the platforms has unique quirks that need attention during implementation. Below are some suggestions on how to get started. And while there are many companies building on Windows 10 IoT Core, here is a list of some that have proven experience working with Windows 10 IoT Core:
If you are a SoM provider or an ODM and would like to be added to the list below, please send email to firstname.lastname@example.org or directly edit this page and submit a pull request.
Many companies listed here are large and complex. If you have trouble reaching the right person, please email email@example.com and we'll do our best to connect you to the right people.
Raspberry Pi-derived custom design
Element 14 offers board customization service for Raspberry Pi to allow you to add or remove connectivity options. If you also need to make customizations to the BSP, you can leverage the open source BSP code on GitHub.
Intel-based custom design
There is a vibrant ecosystem of experienced Intel device builders for Windows you can work with. An Intel device designed to run Windows 10 IoT Core has a couple of differences from the more common PCs:
- If you need to provide user mode Universal Windows Platform (UWP) API access to simple buses like I2C, GPIO and SPI, you need make sure that ACPI table in your UEFI firmware contains appropriate entries for RHProxy. Please refer to user mode access for more information.
- You must ensure that the SMBIOS in the firmware contains information as listed in OEM License Requirement.
If you are building your own board, please contact your BIOS vendor if you need guidance on ACPI or SMBIOS changes.
Qualcomm DragonBoard 410c (APQ8016)-based custom design
Binary BSP for DragonBoard 410c (based on Qualcomm AQP8016 SoC) can be downloaded from Qualcomm Developer Network.
The BSP package includes the source code for ACPI to allow for simple hardware customizations that only require ACPI changes.
If you need additional hardware customizations, such as using a specific MIPI-DSI display panel, enabling Platform Secure Boot, RF calibration and certification (eg. FCC, CE), you'll need become a Qualcomm BSP source code licensee, or to work with a provider that has access (see Experienced partners below).
- If possible, work with an experienced SoM vendor to enable customized design.
- If you're building a custom board, work with a SoM vendor or an experienced Qualcomm BSP customization service provider, such as Intrinsyc or Thundersoft for BSP customization and design assistance.
- If you expect to have very high volume (millions), contact Qualcomm.
- Intrinsyc - Mark Waldenberg (firstname.lastname@example.org)
- Keith & Koep - email@example.com
- Reycom - firstname.lastname@example.org
- Unitech - Sam (email@example.com); Perry (firstname.lastname@example.org)
NXP support for Windows 10 IoT Core is in public preview. For more information, the access the BSP, or to find a hardware partner, please go to the NXP SoC page.
You can also reach out to partners we're working with:
- Advantech RSB-4411 - email@example.com
- Keith & Koep pConXS with Trizeps VII - firstname.lastname@example.org
- Kontron SMARC-sAMX6i - Martin Unverdorben (email@example.com)
- Solid Run Hummingboard Edge- Ilya Viten (firstname.lastname@example.org)
- Geniatech SoM-iMX6Q-Q7 & SoM-iMX7D - Mike Decker (email@example.com) or Fang Jijun (Fjj@geniatech.com)
- VIA VAB-820 - Michael Fox (MichaelFox@via.com.tw) or Dream Ku (firstname.lastname@example.org)
- Phytec phyBOARD-i.MX7 - Brad Dodson (email@example.com)
If you find that you'd still like to create a custom board, we have provided a few suggestions of manufacturers below that can help with schematics and layout for a board.