Ambient Intelligence is a new vision of future digital environments characterized by ubiquity, transparency and intelligence. The user is surrounded by embedded systems that are invisible, context-aware, personalized and adaptable to the user requirements. Design of Ambient Intelligence systems is, essentially, design of sophisticated and interconnected embedded systems that operate within a common human-oriented environment. Such embedded systems contain a variety of embedded components with different functionality, characteristics and requirements. Embedded components are common hardware/software components that are basic blocks for building embedded systems and have a great deal of variability. This paper focuses on embedded component design for Ambient Intelligence systems and proposes a design framework based on the systematic domain analysis methods, well-proven domain models, welldocumented design processes, UML-based object-oriented specification, meta-programming-based representation of variability within generic embedded components, and automatic domain code generation. We demonstrate validity of our approach for two domains of application: communication control and fault-tolerance.