Природно, немає чітко визначеної межі між вбудованими програмами та просто програмним забезпеченням, оскільки обидва терміни — позначають досить гнучкі поняття. Разом з тим, вбудовані програми завжди пов’язані з досить низьким базовим рівнем операцій у пристрої, без якого пристрій буде абсолютно нефункціональним.
Прості вбудовані програми, як правило, розташовано в пам’яті тільки для читання або PROM, в той час як складніші вбудовані програми часто використовують флешпам'ять, що дозволяє їх оновлення. Найпоширеніші причини для оновлення вбудованих програм — виправлення помилок та додавання функцій пристрою. Це, здебільшого, включає завантаження двійкового файлу образу, наданого виробником пристрою, згідно з конкретною процедурою, що інколи виконується кінцевим користувачем.
Вбудована програма тепер[коли?] означає майже будь-який зміст апаратного пристрою, що програмується, тобто не лише машинний код для мікропроцесора, а й також конфігурація і дані для інтегральних схем конкретного застосування, програмовних логічних пристроїв тощо. Хоча сучасні пристрої, які дозволяють оновлення, як правило, забезпечують для цього напівавтоматичний спосіб, в деяких випадках потрібно заміняти накопичувач даних (що було типовою процедурою до середини 1990-х років).
Комп'ютерна периферія
Більшість комп'ютерних периферійних пристроїв є самі по собі спеціальними комп'ютерами. Хоча зовнішні пристрої зберігають вбудовані програми всередині, сучасні комп’ютерні периферійні картки, як правило, вимагають завантаження досить великої частини вбудованої програми з головного комп’ютера при запуску, оскільки така процедура є гнучкішою. Такі пристрої можуть бути серйозно обмежені у функціонуванні, поки головний комп’ютер не надасть необхідні прошивки. Часто це робиться за допомогою конкретного драйвера пристрою (чи, якщо точніше, підсистемою всередині драйвера). Сучасні драйвери пристроїв можуть також надавати прямий користувацький інтерфейс для конфігурації на додаток до основних викликів операційної системи та прикладного програмного інтерфейсу.
Проблеми вбудованих програм на ПК
В багатьох випадках, компоненти прошивки так само важливі, як і операційна система в комп’ютері. Однак, на відміну від більшості сучасних операційних систем, вбудовані програми рідко мають добре розвинутий механізм для оновлення та усування проблем функціонування, яких було виявлено після постачання обладнання.
BIOS можна досить просто оновити в сучасних ПК; такі пристрої як відеокарти або модеми часто залежать від динамічного завантаження вбудованих програм за допомогою драйвера і таким чином, оновлення може бути зроблено прозоро через механізм оновлення операційної системи. На відміну від цього, програми, вбудовані в пристроях накопичення інформації, оновлюються рідко; механізми для виявлення версії прошивки та її оновлення не стандартизовано. Тому ці пристрої, як правило, мають вищий рівень функціональних проблем, у порівнянні з іншими частинами сучасної комп’ютерної системи.
Деколи з’являються неофіційні нові або змінені версії прошивки, створені третіми сторонами для забезпечення нових функцій або розблокування прихованих. Наприклад Rockbox для цифрового аудіоплеєра, CHDK для цифрових фотоапаратів Canon, а також OpenWRT для бездротових маршрутизаторів, а також багато доморослих проектів для ігрових консолей. Найчастіше розблоковується функціональність загального призначення у пристроях де її обмежено (наприклад, запуск Doom на Ipod). Більшість латок несанкціонованих змін для вбудованих програм є вільним програмним забезпеченням з відкритими сирцевими текстами.
Для встановлення і активізації цих змін, як правило, користаються можливостями оновлення вбудованих програм. Однак, деякі зміни вдаються до експлуатації проблем безпеки, оскільки виробник спробував заблокувати апаратні засоби, щоб зупиняти його роботи в разі встановлення неліцензованого коду.