Ugradbene (embedded) sustave danas pronalazimo u širokom spektru uređaja. Obično su dizajnirani kako bi obavljali neki specifični zadatak. Pronalazimo ih kod uređaja u potrošačkoj elektronici (mp3 reproduktori, prijenosne igraće konzole, kućanski aparati), medicinskoj opremi i prometnim sustavima (GPS uređaji za navigaciju, upravljanje semaforima, automobilska industrija), industrijskoj elektronici i sl. Razvoj ugradbenih sustava uključuje paralelni dizajn hardverskog i softverskog dijela.
U ugradbenim sustavima koristi se širok spektar korisničkih sučelja – od jednostavnijih do složenijih izbornika prikazanih na LCD zaslonu. Za glavni procesor koriste se obični mikroprocesori ili mikrokontroleri s dodatnom periferijom. Manje zahtjevni sustavi izgrađeni su korištenjem PC/104 standarda, dok složeniji sustavi zahtijevaju korištenje SoC konfiguracije. Za razvoj softvera za ugradbene sustave koriste se klasični alati kao što su prevoditelj (compiler), strojni jezik (assembler) i alat za pronalaženje grešaka (debugger). Kod pronalaženja pogrešaka postoje posebnosti kao što su korištenje posebnih rutina na ugradbenom sustavu ili korištenje JTAG sučelja.