Commercialize your prototype

Build your image

To get started, we'll create a basic IoT Core image and put it into a device to make sure that everything is working properly.

We'll create a product folder that represents our first design. For our first design, we'll customize it just enough for the IoT Core device to boot up and run the built-in OOBE app, which we should be able to see on an HDMI-compatible monitor.

1. Set your OEM name (one-time only)

Open the file below in a text editor and modify it with your company name or other name of your choice.


We've added this variable to help you create packages with names that are easy to differentiate from those provided by other manufactures you're working with.

set OEM_NAME=Fabrikam

2. Start the IoT Core shell

In Windows Explorer, go to the folder where you installed the IoT Core ADK Add-Ons and open IoTCoreShell.cmd. It should prompt you to run as an administrator. The new value for OEM_NAME should appear when you start the tool.

3. Choose your architecture

At the "Set Environment for Architecture" prompt, select 1 for ARM, 2 for x86 or 3 for x64 based on the architecture of the boards you'll be developing.

Note: The launch tool sets the default architecture, and sets a version number for the design, which you can use for future updates. The first version number defaults to

4. Install test certificates

You only need to install certificates the first time you install the IoT ADK add-on kit. You'll use these to sign your test binaries. The certificates will be added to the root.


Learn more about setting up the signing environment

5. Build your board supported package (BSP)

Get the BSPs for your platform and build them as per the instructions given by the BSP vendor. See the Windows 10 IoT Core BSP page for info on available BSPs.

6. Build packages

From the IoT Core Shell, get your environment ready to create products by building all of the packages in the working folders.

buildpkg All

7. Create a test project

From the IoT Core Shell, create a new product folder that uses the BSP of your choice. This folder represents a new device we want to build, and contains sample customization files that we can use to start our project.

newproduct myProduct bspName

Note: The BSP name is the same as the folder name for the BSP.

8. Build an image

Eject any removable storage drives including the Micro SD card and any USB flash drives. Build a flashable test image using the default files. Test images include additional tools which will help to create test images using either signed or unsigned test packages.

buildimage myProduct test

This builds an FFU file with your basic image.

Note: If you get the error code 0x8007005 or 0x800705b4, unplug all external drives and try again. If this doesn't work, refer to the previous step and make sure everything's installed.

Now that you've built a basic image, you'll want to add different customizations to it before moving on to build your retail image. Follow the links below to learn how to add an app, driver, and more to your image.

Add an app

Learn how to take an app and package it up for devices.

Learn more

Add a file and registry

Create a common package to use across different device architectures.

Learn more

Add networking and provisioning packages

Create a package that contains sample Wi-Fi settings.

Learn more

Add a driver

Add a driver, package it up, and deploy it to a device.

Learn more
Previous: Get your imaging tools
Next: Build your retail image


Ask the community or give us feedback (Windows 10 required for this tool)

Edit this page on GitHub

Was this page helpful?
Additional feedback?
Thank you! We appreciate your feedback.
Follow us