Un système embarqué est un système complexe qui intègre du logiciel et du matériel conçus ensemble afin de fournir des fonctionnalités données. Il contient généralement un ou plusieurs microprocesseurs destinés à exécuter un ensemble de programmes définis lors de la conception et stockés dans des mémoires. Un système embarqué est autonome et ne possède pas des entrées et sorties standards tels qu'un clavier ou un écran d'ordinateur. Contrairement à un PC, l'interface IHM (Interface Homme machine) d'un système embarqué peut être aussi simple qu'une diode électroluminescente LED qui clignote ou aussi complexe qu'un système de vision de nuit en temps réel ; les afficheurs à cristaux liquides LCD de structure généralement simple sont couramment utilisés. Le logiciel a une fonctionnalité fixe à exécuter qui est spécifique à une application.Bien souvent, il n'a pas conscience d'utiliser un système à base des microprocesseurs. La conception des systèmes embarqués est fiable à causes de leurs utilisations dans les domaines à forte contrainte tels que le transport (avionique, espace, automobile, ferroviaire), dans les appareils électriques et électroniques (appareils photo, jouets, postes de télévision, électroménager, systèmes audio, téléphones portables), dans la distribution d'énergie, dans l'automatisation, …, etc ; mais également parce que l’accès au logiciel est souvent difficile une fois le système fabriqué.