Secara umum, vendor mikrokontroler menaruh berbagai memori dalam perangkat mereka yang cocok untuk aplikasi tipikal. Jadi, jika Anda hanya memerlukan beberapa pin I / O dan satu SPI dalam perangkat footprint kecil, Anda tidak akan menemukan apa pun yang dikirimkan dengan 500 kBytes Flash dan 64 kBytes RAM. Dengan perangkat yang lebih besar, yang lebih dekat ke paket SoC, bahkan yang terkecil hampir pasti cukup besar kecuali jika Anda berencana untuk melakukan sejumlah angka serius seperti pemrosesan gambar.
Dalam lingkungan profesional kunci untuk memilih mikrokontroler yang tepat adalah dengan menggunakan data historis. Anda akan memiliki catatan tentang proyek lain yang telah Anda kembangkan dan tahu apa memori dan sumber daya silikon lain yang diperlukan untuk mengimplementasikan setiap fitur. Anda akan tahu apa yang diharapkan dilakukan oleh produk dan oleh karena itu memiliki daftar fitur yang baik dan dapat dengan cepat dan akurat menghitung sumber daya yang perlu disediakan oleh mikrokontroler. Mencoba menebak kebutuhan sumber daya dari spesifikasi desain di muka (dikembangkan pada awal proyek ketika sedikitnya informasi tentang sistem tersedia) tidak dapat diandalkan pada saat terbaik dan hanya insinyur yang sangat berpengalaman, yang telah membangun sebuah komprehensif database data historis di kepala mereka sendiri, akan memiliki segala jenis keberhasilan dalam menggunakan metode ini.
Banyak perusahaan telah mengadopsi pendekatan 'Agile' untuk perangkat lunak dan desain elektronik, yang melibatkan pembuatan 'perpustakaan' papan fitur kecil (misalnya papan RS-485, papan ADC, dll.) Bersama dengan papan platform generik yang menjadi tuan rumah mikrokontroler , dengan cara yang mirip dengan menggunakan dev-kit dan plug-in. Suatu produk kemudian dapat diujicobakan dengan cepat (dalam beberapa jam) dengan memilih dan menghubungkan set board yang diperlukan untuk fitur. Perangkat lunak ini dirakit dengan cara yang sama dari modul perpustakaan dan dapat porting dan diuji dengan cepat. Setelah ukuran bagian hardware-spesifik dari kode diketahui itu biasanya cukup untuk memilih bagian terkecil yang akan berisi itu. Pengecualian adalah yang disebutkan di atas di mana fungsi perangkat melibatkan data besar atau algoritma yang sangat kompleks. Metode ini memberikan
(Keuntungan lain dari pendekatan Agile adalah memungkinkan pengembangan perangkat lunak dan elektronik dilakukan secara paralel, dengan desain elctronics menjadi latihan dalam mengintegrasikan set papan fitur dan melakukan EMC yang relevan dan hal-hal sulit lainnya pada saat yang sama dengan perangkat lunak aplikasi sedang dikembangkan pada rakitan protoype. Beberapa porting dan integrasi masih diperlukan, tetapi hal ini dilakukan ketika perangkat lunak dan elektronik yang berfungsi keduanya tersedia.)