メインコンテンツまでスキップ

STM32は最高

· 約2分
Yuichiro Aoki
Developer

Arduinoフレームワークは使いやすく、ライブラリも豊富なので気に入っています。ただ、しばらくSTM32を使ってみて、改めて「これはすごい」と感じています。ここでは私がSTM32を好きな理由を紹介します。

Arduino vs STM32

1. 性能

STM32マイコンはArduinoより高速で、メモリも多く、クロック周波数も高いです。高性能が必要な用途に向いています。

例えばBLDCモーター制御では、Arduinoだと性能面で詰まることがあります。STM32なら余裕を持って処理できます。Arduinoではコードサイズが大きすぎて書き込めない場合でも、STM32なら問題になりにくいです。

2. コスト

最初は「高性能な分、STM32は高いだろう」と思っていました。しかし実際はそうでもありません。BluepillボードはArduino Nano並みに安く、それでいて性能はかなり高いです。

3. デバッグ

ST-LINKデバッガを使えばリアルタイムでデバッグできます。これは私にとって大きな変化でした。マイコン内部の状態を直接確認できるので、Arduino時代のSerial.print()中心のデバッグより圧倒的に効率的です。しかもST-LINK V2 cloneはAliExpressで3ドル程度です。

4. 豊富なペリフェラル

STM32にはUART、SPI、I2C、ADC、DAC、PWMなど多くのペリフェラルがあります。汎用性が非常に高いです。例えばBluepillにはUARTが3系統あるので、USB-シリアル変換用途にも使えます。

5. Arduino互換

STM32でもArduinoフレームワークを使えるので、これまで慣れたライブラリをそのまま活用できます。ArduinoからSTM32への移行はかなりスムーズです。電子工作を始めたばかりでも、Arduinoフレームワークを使えばSTM32は十分扱いやすいです。

まとめ

まだ試していないなら、STM32はぜひ一度触ってみてほしいです。可能性の大きい、とても優れたマイコンです。Arduinoよりパワフルな選択肢を探しているなら、STM32はかなり有力です。

Arduino or STM32? - Reddit