Як правило, виробники мікроконтролерів вкладають у свої пристрої діапазон пам'яті, який підходить для типових програм. Отже, якщо вам знадобиться лише кілька штифтів вводу / виводу та один SPI у невеликому пристрої, слід навряд чи ви знайдете що-небудь, що постачається з 500 кбайт флеш-пам'яті та 64 кбайт оперативної пам’яті. Що стосується великих пристроїв, які ближче до пакетів SoC, навіть найменший майже напевно є досить великим, якщо ви не плануєте робити якісь серйозні скорочення, такі як обробка зображень.
У професійному середовищі головним вибором правильного мікроконтролера є використання історичних даних. Ви матимете запис про інші розроблені вами проекти та будете знати, яка пам'ять та інші ресурси кремнію потрібні для реалізації кожної функції. Ви дізнаєтеся, чим очікується виріб, і тому матимете хороший список функцій, і зможете швидко та точно обчислити ресурси, які мікроконтролеру потрібно буде забезпечити. Намагання відгадати вимоги до ресурсів із попередньої специфікації проекту (розробленої на початку проекту, коли є найменша інформація про систему) є ненадійною в кращі часи і лише дуже досвідчені інженери, які створили комплексний База даних історичних даних у власних головах матиме будь-який успіх у використанні цього методу.
Багато компаній застосували "Agile" підхід як до програмного забезпечення, так і до електронного дизайну, який передбачає створення "бібліотеки" невеликих функціональних плат (наприклад, дошки RS-485, плати АЦП тощо), а також загальних платформних плат, на яких розміщуються мікроконтролери. , аналогічно використанню комплекту розробників та плагінів. Потім виріб може бути прототипно швидко (протягом декількох годин) шляхом вибору та підключення набору дощок, необхідних для функцій. Програмне забезпечення аналогічно зібране з бібліотечних модулів і може швидко переноситися та тестуватися. Як тільки розмір частин коду, відомий для обладнання, відомий, зазвичай достатньо вибрати найменшу частину, яка буде містити його. Винятком є той, що згаданий вище, коли функціональність пристрою включає великі дані або дуже складні алгоритми. Цей спосіб забезпечує точний,
(Ще однією перевагою підходу Agile є те, що він дозволяє розробляти програмне забезпечення та електронну розробку паралельно, при цьому дизайн elctronics є вправою інтегрувати набір плат функцій та виконувати відповідні ЕМС та інші складні речі одночасно з на складах прототипу розробляється прикладне програмне забезпечення. Деякі перенос і інтеграція все ще потрібні, але це робиться, коли функціонують програмне забезпечення та електроніка.)