This chapter explores the unique challenges that limit reuse in embedded systems, and strategies to overcome them. It explores what limits reuse, and traditional approaches to overcome the limitations such as a hardware abstraction layer or an RTOS porting layer. It does not stop there. The shortcomings of layered software drive a desire for highly optimized reusable software components. This chapter introduces the component factory concept: a mechanism that creates reconfigurable and reusable hardware- and RTOS-agnostic components generated by an expert system.