Windows CE 7 BSP Technology Demonstrator on NXP iMX6 UltraLite for Medical Devices

CASE STUDY SNAPSHOT

Customer : Internal technology demonstrator developed by Embien
Project vertical : Medical Devices, OS Porting and BSP Development
Challenge :  Port Windows CE 7 to the NXP iMX6 UltraLite platform and demonstrate a complete, peripheral-rich BSP suitable for medical device applications, including LVDS display, capacitive touch, ambient light sensing, and a comprehensive set of industrial communication interfaces
Solution :  Production-quality Windows CE 7 BSP on NXP iMX6 UltraLite with LVDS TFT display, ambient light sensor-based auto-brightness, capacitive and resistive touch, USB Host/OTG, HDMI, Ethernet, RS232/RS485, SPI, I2C, GPIO with DMA, and user-friendly HAL library abstractions
Services & Products Availed :  OS Porting and BSP Development, Embedded Driver Development, Embedded Application Development
Tools and Technologies:
  • Target Platform:  NXP iMX6 UltraLite (ARM Cortex-A7)
  • OS:  Windows CE 7 (Windows Embedded Compact 7)
  • Display:  5" LVDS TFT-LCD
  • Touch:  Capacitive and resistive
  • Sensors:  Ambient light sensor
  • Interfaces:  USB Host, USB OTG, USB RNDIS, HDMI, Ethernet, RS232, RS485, SPI, I2C, GPIO with DMA
  • Languages:  C, C++
  • Tools:  Platform Builder, Visual Studio

Introduction

Windows CE, subsequently branded as Windows Embedded Compact, has been a widely deployed real-time operating system across medical devices, industrial HMIs, and portable instrumentation for over two decades. Its deterministic scheduling, compact footprint, rich middleware ecosystem, and familiar development toolchain make it a compelling choice for embedded applications where a full Linux or Android stack is not warranted and a bare-metal RTOS lacks the application framework depth required.

As ARM SoC platforms evolved, with NXP's iMX6 UltraLite representing a cost-optimised, low-power Cortex-A7 platform well-suited to battery-operated and space-constrained medical devices, the question of Windows CE portability to these newer platforms became commercially important for device manufacturers considering platform migrations or new product development on modern silicon.

Embien undertook the development of a Windows CE 7 BSP technology demonstrator on the NXP iMX6 UltraLite platform, targeting medical device applications. The objective was to produce a complete, peripheral-validated BSP that demonstrated the full capability of the iMX6 UltraLite under Windows CE 7, covering display, touch, sensors, communication interfaces, and power management, and to make this available as a reference for medical device OEMs evaluating the platform for their product roadmaps.

Challenge

Windows CE 7 BSP development for a new SoC platform is a substantial undertaking. Unlike Linux, where community BSPs and mainline kernel support frequently exist for popular SoCs, Windows CE BSP development requires implementing each peripheral driver within Microsoft's Windows CE driver model, a structured but demanding framework that requires deep familiarity with both the CE driver architecture and the underlying SoC hardware.

The NXP iMX6 UltraLite's peripheral set, while well-supported under Linux, required each interface to be brought up independently under the CE driver model. Display output over LVDS, capacitive touch over I2C, USB in both Host and OTG modes, HDMI output, Ethernet connectivity, and the full suite of serial and general-purpose interfaces each required dedicated driver development, integration with the CE driver registry, and validation against real peripheral hardware.

Medical device applications place particular demands on BSP quality. Drivers must be stable under sustained operation, handle error conditions gracefully, and perform predictably under the real-time scheduling constraints of Windows CE. The BSP had to meet the quality bar of a production medical device software component, not merely demonstrate basic functionality.

The ambient light sensor-based auto-brightness feature, while seemingly straightforward, required integration between the sensor driver, the display backlight driver, and an application-level brightness management service, coordinated within the CE framework to deliver smooth, responsive brightness adjustment without perceptible stepping or latency.

Solution

Dual-Core Hardware Architecture

Platform Bring-Up and Boot Chain

The BSP bring-up began with the bootloader configuration for the NXP iMX6 UltraLite, establishing the memory map, clock configuration, and hardware initialisation sequence required before the Windows CE kernel could be loaded. The CE OAL (OEM Adaptation Layer) was implemented to bridge the CE kernel's hardware abstraction requirements with the iMX6 UltraLite's specific interrupt controller, timer, and memory management hardware. Platform Builder was used throughout the BSP development process for kernel configuration, driver integration, and image build management.

LVDS Display and Auto-Brightness

A 5-inch LVDS TFT-LCD display was enabled through a custom LVDS display driver implementing the CE display driver interface. The driver configures the iMX6 UltraLite's IPU (Image Processing Unit) for LVDS output at the panel's native resolution and timing parameters. An ambient light sensor, connected over I2C, was integrated through a dedicated sensor driver that periodically samples the ambient illuminance level and feeds it to a backlight management service. The service maps the illuminance reading to a backlight brightness level through a configurable luminance curve and updates the PWM-controlled backlight driver accordingly, delivering smooth automatic brightness adjustment that reduces eye strain and extends battery life in portable medical device applications.

Both capacitive and resistive touch interfaces were enabled, capacitive touch for modern panel configurations and resistive touch for medical environments where gloved operation is required. Both interfaces are presented to CE applications through the standard touch driver model, enabling application-level touch handling without interface-specific code.

USB Host, OTG, and RNDIS

USB Host support enables the iMX6 UltraLite platform to interface with USB peripherals, storage devices, barcode scanners, and other medical accessories, commonly used in clinical environments. USB OTG support allows the platform to operate in either host or device mode, supporting both PC connectivity for data transfer and host-mode peripheral attachment. USB RNDIS was enabled to provide network connectivity over USB, presenting the device as a network adapter to a connected PC, a capability particularly useful in medical devices where Ethernet connectivity is not always available but data synchronisation with clinical IT systems is required.

Communication Interfaces

The full suite of communication interfaces relevant to medical device connectivity was enabled and validated. Ethernet connectivity supports integration with hospital information systems and clinical networks. RS232 and RS485 serial interfaces support legacy medical instrument connectivity, a persistent requirement in clinical environments where older diagnostic equipment remains in active use. SPI and I2C interfaces are available for sensor and peripheral integration at the board level. GPIO with DMA support enables efficient, low-latency digital I/O operations without CPU intervention for time-critical signal handling.

HAL Library Abstractions

A key deliverable of the BSP alongside the drivers themselves was a set of user-friendly HAL library abstractions for the platform's peripheral interfaces. These libraries wrap the Windows CE driver APIs with simplified, well-documented function interfaces for GPIO management, I2C and SPI communication, clock and timer configuration, interrupt handling, and DMA setup. The HAL libraries significantly reduce the learning curve for application developers working on the platform, enabling them to integrate peripherals into their medical device application without requiring deep expertise in the Windows CE driver model.

HDMI Output

HDMI display output was enabled as an optional secondary display interface, leveraging the iMX6 UltraLite's HDMI transmitter capability. This supports medical device use cases where the primary device screen is supplemented by a larger external display, for patient-facing visualisation, clinical workstation integration, or training applications.

Benefits

  • Production-quality CE 7 BSP Complete, validated Windows CE 7 BSP on NXP iMX6 UltraLite meeting the stability and reliability standards required for medical device software components
  • Comprehensive peripheral coverage LVDS display, capacitive and resistive touch, USB Host/OTG/RNDIS, HDMI, Ethernet, RS232/RS485, SPI, I2C, and GPIO with DMA all enabled and validated within the CE driver framework
  • Ambient light sensor auto-brightness Integrated illuminance-to-backlight mapping delivers smooth automatic brightness adjustment suited to varied clinical lighting environments
  • Medical interface breadth RS232/RS485 legacy instrument connectivity, USB RNDIS network access, and Ethernet integration cover the full range of clinical connectivity scenarios encountered in medical device deployments
  • Developer-ready HAL libraries Simplified peripheral abstraction libraries reduce integration effort for medical device application teams unfamiliar with the Windows CE driver model

Conclusion

This Windows CE 7 BSP technology demonstrator on the NXP iMX6 UltraLite reflects Embien's depth in OS porting and BSP development across the full range of embedded operating systems, from bare-metal RTOS through Linux and Android to Windows CE. By delivering a complete, peripheral-validated CE 7 BSP targeting medical device applications, Embien established a reference platform that medical device OEMs can adopt as the starting point for their own iMX6 UltraLite-based product development, bypassing the substantial bring-up effort that a BSP of this breadth would otherwise require. This demonstrator is one of several platform BSP investments Embien has made to provide its customers with a faster path from hardware selection to application development on modern embedded SoC platforms.

Looking to port Windows CE or another embedded OS to a new hardware platform for your medical device or industrial application?

Partner with Embien for expert BSP development and OS porting services across Windows CE, Linux, and Android on ARM platforms.

For further information on how your personal data is processed, please refer to the Embien Privacy Policy.