秋月電子で販売されているSTM32シリーズの中でも現時点(2025年10月)で最安のマイコン「STM32C011F4P6」を使って、定番のLチカ(LED点滅)を試してみました。秋月では1個あたりわずか80円で購入でき、20ピンの小さなTSSOPパッケージにSTM32の高性能コアが詰まっています。安価ながらも動作周波数は最大48MHz、6KBのRAMと16KBのフラッシュメモリを搭載しており、ちょっとした制御やセンサ読み取りには十分な性能です。

ちなみに以前ブログに書いたSOP8パッケージの8ピン STM32C011J4M7というマイコンは同等の性能でピン数が減っているものの価格は140円と80円に対して1.7倍も高いです。なぜかピン数の多いC011F4P6の方が安いのでピンピッチが狭いことが問題にならないのでしたら制約が大きすぎる8ピンよりずっと使い勝手のいい20ピンのC011F4P6を買ってみるのがおすすめです。
今回使用したのは、「STM32C011F4P6」のマイコン単体と、ブレッドボードに挿せるようにするための小型の変換基板です。変換基板も秋月電子で販売しており50円で購入できます。
https://akizukidenshi.com/catalog/g/g110497
表面実装品のはんだ付けが手間でしたらわずかに割高ですが2.54ピッチ変換基板に実装済みのものも販売されています。価格は250円です。
https://akizukidenshi.com/catalog/g/g129557/

開発環境はSTM32CubeIDEを使用しました。プログラムの書き込みはNucleoの上半分をST-Link V2相当として使って行います。
それでは早速、最小構成の配線です。データシートを参照しピン配置を確認したらST-Linkとマイコン接続していきます。配線は電源3.3VとGND, リセット, デバッグ用のクロックとデータの合計5本を接続します。
- ST-Link GND — VSS Pin5
- ST-Link NRST — NRST Pin6
- ST-Link SWCLK — PA14-BOOT0 Pin19
- ST-Link SWDIO — PA13 Pin18
- ST-Link 3.3V — VDD Pin4

クロックは内部RC発振器を使用するため外付け部品は不要です。今回はLチカをするのでLEDは電流制限用の抵抗を介してPA3ピンに接続し、カソード側をGNDに落としています。これでハードウェアの準備は完了です。

CubeIDE上で新規プロジェクトを作成し、ターゲットにSTM32C011F4P6を指定します。

LED駆動用にペリフェラル設定でPA3をGPIOの出力に設定します。

次にクロックの設定画面を開き48MHzに変更します。実験ということもあり最大クロックで動作させてみます。ここまで設定したらコードの生成を行います。

main関数内でHAL_GPIO_TogglePin()を200ミリ秒ごとに呼び出すようにしました。

コンパイルして書き込むと、LEDが400ミリ秒周期で点滅します。わずか80円のマイコンでもきちんと動きます。

このマイコンは価格の安さに大きなメリットがあり、フラッシュメモリの少なさは感じるもののピン数もそれなりにあるので大規模なプログラムでない限り様々な用途に使えそうだと感じました。また、CubeMXによる設定がそのまま使えるため、STM32FやGシリーズで慣れた開発フローがほぼ同様に通用します。機能も決して多くはないものの基本的なUARTやI2C、SPIも搭載しており、センサとの通信や小規模な制御基板の心臓部に最適です。
今回のLチカで、STマイコンの新しいエントリーラインの実力を実感できました。次はI2Cセンサとの通信にも挑戦してみたいと思います。


コメント