組み込み入門のしかた

入門用のマイコン・ボード

初心者がマイコンプログラミングを学ぶには 32bit の ARM より 8bit の AVR や PIC のほうがよいと思うが、AVRやPIC はチップ価格は200円とか安いくせに、公式のライター(プログラマ)が1万円以上するところが辛い。AVRだと安価に自作できるし、2000円程度の簡易ライターを購入することもできる。

 

しかし、STM32なボードの場合、1600円程度で買うことができ、その上標準でUSBケーブルで書き込むことができる。なので、いまさら AVR や PIC を初心者に進めるのは気が引けてしまう。

STM32 Nucleo Board STM32F303RE: マイコン関連 秋月電子通商-電子部品・ネット通販

STM32 Nucleo Board STM32F303K8: マイコン関連 秋月電子通商-電子部品・ネット通販

世の中的には ArduinoRaspberry Pi が有名だが、ハードウェアスペックからすると無駄に高い。また、Arduinoは「とりあえず動けば良い」場合は楽でよいが、ハードウェアを隠蔽した環境のため、融通がきかない。ピンアサインが固定であり、ペリフェラルの設定ができない。割り込みもびみょーだったきがする。

 

RaspberryPiにはHDMI出力が標準でついており、モニタを使わない機器の場合は全く無駄である。また、Linux前提なのでネットワーク関連(WiFiEthernet,Bluetooth)は強いが、その反面デバイスを制御するためのペリフェラルは貧弱だ。(ADCがない、タイマが少ない)

RasPiの場合は、自分では直接デバイスを制御せず、AVRなどにデバイス制御を任せ、AVRとI2CやSPIでやり取りをする、というのが正しい使い方だろう。

IoT用

Bluetooth無線LANの両方、またはどちらかが必要だろう。

RasPiZeroW 

RasPiは高価だが RasPi ZeroW

Raspberry Pi Zero W - スイッチサイエンス

は比較的安価。と、ここで

www.switch-science.com

を発見。今後安価な Linux ボードを購入するならこれが良さそう。

しかし、前述のようにRasPi Zero 2W もデバイスを制御するのは苦手だ。

ESP32

他の候補として

ESP32−DevKitC−VE ESP32−WROVER−E開発ボード 8MB: 無線、高周波関連商品 秋月電子通商-電子部品・ネット通販

がある。1,360(税込) でWiFiBluetoothがついている。

こちらはRasPiと違って ADC、DACもあるし、タイマ(64bit)も2つある。PWM出力もついている。

Sipeed Maix

IoT もインテリジェントエッジとして考えると、

もよい。比較的安価にAI(画像認識)できる。

 

ソフトウェア開発環境

初心者向けなのは

だろう。Mbed は、Webサイトでビルドできるため、開発環境をローカルに構築しなくてもよい。

もちろん、ローカルに開発環境をインストールすることもできる。

興味深い環境として、 Platformio がある。VSCode拡張機能として使え、各種マイコンボードに対応している。

 

STM32

STM32の場合、STmicro が純正の IDE として

STM32CubeIDE - STM32用統合開発環境 - STMicroelectronics

関連ツールとして

STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics

といったものを用意している。

 

ESP32

K210

M5StickV で RISC-V での 開発 事始め (SW編) - Qiita

iothonpo.com