Build a network enabled projector with Windows Embedded Compact 7 in about an Hour.
Build a Windows Embedded Compact 7 (Compact 7) device in about an hour sounds like a sale pitch, isn’t it?
Before getting started and work through the exercise, let’s go over the development workstation requirements:
· Windows XP, Windows Vista or Windows 7 development machine
· Visual Studio 2008 Professional edition
· Visual Studio 2008 Service Pack 1
· Windows Embedded Compact 7
A fully functional evaluation version of Compact 7 is available for download from the following URL:
This article was initially written during November in 2010, based on the Windows Embedded Compact 7 Community Technology Preview release.
In March of 2011, Microsoft released the Windows Embedded Compact 7 to the public. This exercise in this article has been updated using the released product.
The Windows Network Projector OS design template is one of the many design templates included as part of the Platform Builder for Windows Embedded Compact 7 development tool. The OS design template greatly simplified the development efforts needed to create a Windows Network Projector device.
With the Compact 7 OS run-time image generated from the exercise in this article, the eBox-3310A becomes an enabling device that can turn an existing projector into a Windows Network Projector.
Without additional driver or software, a computer or notebook with Windows Vista or Windows 7 home premium or better can establish connectivity and display the Windows desktop onto the Windows Network Projector device via a wired or wireless network connection.
For more information about Windows Network Projector, visit the following URL:
Development Environment Overview
Compact 7 Platform Builder, a plug-in to the Visual Studio 2008 (VS2008) Integrated Development Environment (IDE), is the tool used for the exercise in this application note. Platform Builder is installed as part of the Compact 7 software suite, and requires VS2008 to function. Compact 7 BSP for the eBox-3310A is needed to develop the OS design.
Development Process & Target Device
We will work through the following steps to build the necessary software to deploy a Network Enabled Projector, targeting the eBox-3310A (eBox). Upon completion, the eBox configured with the software from the exercise in this application note can enable a typical computer projector to become Network Enabled, and support the Connect to Network Projector feature available as part of the Windows Vista and Windows 7 family of product. With this feature, a notebook PC can establish connectivity to a Network Enabled projector and send the notebook PC’s display to the projector through a wired or wireless network connection.
We will work through the following steps:
· Develop a Compact 7 OS design
· Configure and build the OS design to generate a Compact 7 OS image
· Establish connectivity and download the OS image to eBox
· Deploy the Compact 7 OS image to eBox
Develop a Compact 7 OS design
Using Platform Builder from the VS2008 IDE, work through the following steps to develop a Compact 7 OS design:
· From the VS2008 IDE, select File|New|Project… to launch the new project wizard.
· From the New Project wizard screen, select Platform Builder 2008 on the Project type pane, select OS Design from the Template pane, and enter MyCompact7 as the name for the project and click on the OK button to continue and bring up the OS Design Wizard screen.
· From the OS Design Wizard screen, click on the Next button.
· From the Board Support Packages screen, select the ICOP eBox-3300: x86 BSP and click on the Next button to continue.
· From the Design Templates screen, expand the Thin Client node, select the Windows Network Projector template and click on the Finish button.
· At this point, the Catalog Item Notification screen is raised to warn potential security issue posed by the NDIS and Web Server components. Click on the Acknowledge button to close the screen, and complete the OS design wizard step.
At this point, the initial OS design project is created.
Configure and Build the Compact 7 OS design
The OS design project created in the previous section, with help from the Windows Network Projector design template, already included all the needed components. In this section, we will work through the following steps to configure the OS design to build and generate an OS runtime image:
· From the VS2008 IDE, select Project|Properties to bring up the MyCompact7 Property Pages screen.
· Expand the Configuration Properties node and click to select Build Options from the left pane.
· From the right pane, disable the Enable KITL build option, click on the Apply button follow by the OK button.
· From the VS2008 IDE, select View|Other Windows|Catalog Items View to bring up and set focus to the Catalog Items View tab.
· From the Catalog Items View tab, expand the BSP\ICOP eBox-3300 : x86\Device Drivers\Display node, select the Z9s XGI Display driver (the selection check box shows a red colored mark indicate additional dependency component is needed).
· Expand the Core OS\Windows Embedded Compact\Graphics and Multimedia Technologies\Graphics node, and select the DirectDraw component.
· After the DirectDraw component is selected, the Z9s XGI Display Driver component should have a green check mark.
The above configuration will generate a Compact 7 OS image to support the eBox with 800x600 display resolution, which is the minimum resolution needed for the Windows Network Projector application to function.
To configure the display resolution to support 1024x768, add the following registry entries to the OSDesign.REG file.
· There were some issue relate to IPv6 (I am not sure the exact cause at this point). As a work around to the problem, add the following registry to the OSDesign.REG file:
· From the VS2008 IDE, select Build|Build Solution to build the OS design project and generate an OS runtime image.
Depending on the development machine’s performance, it can take 15 - 20 minutes to complete the build process.
After the build process is completed, the OS image (NK.bin) file is generated in the following release directory:
Establish Connectivity and Download OS Image to eBox
With a Compact 7 OS runtime image generated, we need to establish connectivity and download the OS image to eBox for testing. To accomplish this, both the eBox and the development workstation are attached to a Local Area Network with DHCP service to provide IP addresses dynamically. The eBox is preconfigured to DOS and launch the necessary boot loader, using one of the following options:
· Boot to DOS and launch Loadcepc with Eboot (Ethernet boot loader)
· Using BIOSLoader to launch Eboot
Work through the following steps to establish connectivity and download the image:
· From the VS2008, with MyCompact7 project active, select Target|Connectivity Options to bring up the Target Device Connectivity Options screen.
· From the Target Device Connectivity Options screen, click Add Device on the left pane.
· Enter eBox as the new target device name, and click on the Add button.
· From the Target Device Connectivity Options screen, click on the top most Settings button on right to bring up the Ethernet Download Settings screen.
· Power on the eBox.
· As the Eboot loader is launched on the eBox and broadcast bootme messages, eBox’s device identification is shown on the Active target device list box. Select the listed device, click on the Apply button and close the Ethernet Download Settings screen, and close the Target Device Connectivity Options screen.
· From the VS2008 IDE, from the Device selection drop down list, select eBox.
· From the VS2008 IDE, select Target|Attach Device to initiate the OS runtime image download process.
· If eBox is still broadcasting bootme messages, the download process starts. Otherwise, reboot eBox and launch Eboot again to download the OS runtime image.
· After the OS runtime image is downloaded, it automatically launches on eBox.
Once the Windows Network Projector UI is shown on the eBox, it confirms the OS runtime image is launched. By creating the OS design project with the Windows Network Project design template, the needed application is automatically configured to launch as the OS starts.
Deploy Compact 7 OS Runtime Image to eBox
With the Compact 7 OS runtime image generated and launched on the eBox to confirm the OS image is able to function as intended. We will work through the exercise to deploy the Compact 7 OS image to eBox’s local storage using DiskPrep, a Windows Embedded CE power toy. The DiskPrep power toy is available for download from the following URL:
The eBox can boot from internal IDE storage or Compact Flash. For the exercise here, we use a 512MB Compact Flash. To program the Compact Flash, we use an off-the-shelf USB to Compact Flash adapter from an electronic store nearby.
Work through the following step to deploy BIOSLoader and Compact 7 OS runtime image to the Compact Flash:
· On the development workstation, create a folder to work with, such as the following:
· Copy the DiskPrep.exe executable and NK.bin OS image from the following build release directory, to the C:\Deploy folder:
· Insert the Compact Flash to the USB to Compact Flash adapter and attach them to the development workstation.
· After the Compact Flash is recognized by the workstation, launch DiskPrep.exe from the C:\Deploy folder.
· From the DiskPrep screen, select FAT or FAT32 file system format.
· For the splash screen select, select the “Use the default Windows CE splash” option.
· For the BOOT.INI selection, select the “Place a BOOT.INI file on the disk” option.
· Select “Load specific image file copied from” option, click the Browse button, navigate and select the following file:
· Click on the OK button to format the Compact Flash and deploy the configured file settings.
With the Compact Flash configured, insert the Compact Flash to the eBox. You now have a Windows Network Projector enabler to enable an existing computer projector to have Windows Network Projector features.
Any version of eBox-3300A, eBox-3310A can be use for to work through the exercise in this application note.
For more information about creating and configuring a customized Compact 7 OS run-time image for the eBox-33xxA, visit the following URL: