How Surface embedded firmware has evolved over 10+ years
Published Jun 05 2024 06:00 AM 1,500 Views
Microsoft

Behind the scenes at Surface, a dedicated team of engineers ensures the hardware and software components of our devices function seamlessly. A crucial part of this integration is the embedded firmware — the software that operates on the microcontrollers and other low-level components of Surface devices. Have you ever wondered what happens after you press the power button and see the spinning circle that shows your system is booting up? That's when the embedded firmware kicks in, managing power, thermal conditions, security, connectivity and other critical features—ensuring your device “just works.”

 

In this post, we'll explore the history of embedded firmware in Surface devices, how we've tackled the challenges of supporting a growing product portfolio and how we evolved our firmware architecture to enhance efficiency, quality and scalability.

 

Surface embedded firmware helps delliver a consistent device experience.png

 

The early days: Custom firmware for each device

Initially, Surface offered just two products: the original Surface and Surface Pro. Each had custom firmware tailored to its specific needs. While effective for a small lineup, this approach didn't scale. As we expanded our range to more form factors along with accessories like headphones, firmware development grew increasingly complex and costly. Customizing firmware for each device, with their unique features, introduced new challenges. There was more duplication and inconsistency, making it harder to maintain quality. Common issues such as power management glitches had to be addressed across multiple firmware bases, and new features like Instant On needed to be implemented individually, significantly increasing development time and risk.

 

A Common firmware architecture

As the Surface family expanded, the embedded firmware team looked for a solution that allowed code and resource sharing across devices while maintaining the flexibility for customization. The answer was a shared, common firmware architecture. This innovation provided core functionality for most Surface devices, with device-specific firmware extensions. We could make a single fix or add a feature and apply it across all Surface models. The result:  quick and efficient security updates that reduced coding and testing cycles for each new product. Introduced nearly nine years ago, this was the first standardized embedded firmware architecture used across the Surface portfolio.

 

A more flexible and robust firmware architecture

Despite the success of the original architecture, evolving product requirements and an expanding feature set posed new challenges. Key issues included hardware scalability, software coupling and the need for greater per-product flexibility. The common firmware was excellent for consistency but limited the customization for unique device requirements. And as firmware codebases grew amid shrinking release cycles, we looked to automation and continuous integration/continuous delivery (CI/CD) as the most efficient way to deliver quality and reliability.

 

In response, our team developed a more flexible and robust firmware architecture, now used in nearly every product we ship. This architecture supports a range of silicon platforms and maximizes developer efficiency through code reusability, robust automation and CI/CD capabilities. It ensures a consistent customer experience across diverse devices like the Surface Pro, Surface Dock and Surface Laptop.

 

The future of Surface embedded firmware

Despite our success, the journey is far from over. We're always looking ahead and assessing the needs of the device ecosystem to deliver the best possible firmware platform for our customers, partners and developers. Whether we're enhancing device security, improving performance through advanced sensor integration or introducing convenient features like the Copilot key, it’s an exciting time to be in embedded firmware development. Plus, new initiatives like RUST-based security measures are a game changer. We look forward to sharing how these innovations can build security into Windows systems by design.

 

Co-Authors
Version history
Last update:
‎Jun 04 2024 04:16 PM
Updated by: