一般に、マイクロコントローラーのベンダーは、一般的なアプリケーションに適したさまざまなメモリをデバイスに搭載しています。そのため、フットプリントの小さいデバイスで数個のI / Oピンと1つのSPIのみが必要な場合、500 kBytesのフラッシュと64 kBytesのRAMを搭載したものはほとんどありません。SoCパッケージに近い大型のデバイスでは、画像処理などの深刻な数値計算を実行する予定がない限り、最小サイズでもほぼ確実に十分な大きさです。
プロの環境では、適切なマイクロコントローラーを選択するための鍵は、履歴データを使用することです。開発した他のプロジェクトの記録があり、各機能を実装するために必要なメモリやその他のシリコンリソースがわかります。製品が何を期待されているかを知っているため、優れた機能リストがあり、マイクロコントローラーが提供する必要のあるリソースを迅速かつ正確に計算できます。(システムに関する最小の情報が利用可能なプロジェクトの開始時に開発された)事前の設計仕様からリソース要件を推測しようとすることは、最高の状態では信頼できず、包括的な経験を積んだエンジニアのみが信頼できます。独自の頭の中の履歴データのデータベースは、この方法を使用することであらゆる種類の成功を収めます。
多くの企業は、ソフトウェアと電子設計の両方に「アジャイル」アプローチを採用しています。これには、小型の機能ボード(RS-485ボード、ADCボードなど)の「ライブラリ」とマイクロコントローラをホストする汎用プラットフォームボードの構築が含まれます、開発キットとプラグインの使用と同様の方法で。製品は、機能に必要なボードのセットを選択して接続することにより、(数時間以内に)迅速にプロトタイプ化できます。ソフトウェアはライブラリモジュールから同様にアセンブルされ、迅速に移植およびテストできます。コードのハードウェア固有の部分のサイズがわかれば、通常、それを含む最小の部分を選択するだけで十分です。例外は、デバイスの機能にビッグデータまたは非常に複雑なアルゴリズムが関係する上記の例外です。この方法は、正確で、
(アジャイルアプローチのもう1つの利点は、ソフトウェアと電子開発を並行して実行できることです。elctronicsの設計は、機能ボードのセットを統合し、関連するEMCおよびその他の困難な作業を同時に行う演習です。アプリケーションソフトウェアは、プロトタイプアセンブリ上で開発されています。ポーティングと統合はまだ必要ですが、動作するソフトウェアと電子機器の両方が利用可能になったときに行われます。