JF1DIR業務日誌(はてなblog版)

アマチュア無線局JF1DIRのアクティビティをつづっています。

◯◯互換小型マイコンキットの使い方

ローカル局から「いま流行りのフィジカルコンピューティングをやってみたいのだが、何を買ったらいいの?」と聞かれたので「とりあえずArduino Unoを」と答えておいたのですが、どういうわけか秋月の「AE−ATMEGA328−MINI」を買ってきてしまいました。おそらく「安くて小さく」て「上位互換」という謳い文句に釣られたのでしょうか。純正のArduino Unoは秋月でも2,940円するので分からなくもないのですが、AE-ATMEGA-MINIの取説には最低限のことしか書いてないし、USBインターフェースがついてない上にブレッドボードを持ってないと使いづらいので初心者には少しハードルが高いと思います。さらに、aitendoにはは400円足らずのArduino互換の「あちゃんでいいの」が有名ですが、これもインターフェースなしで(もちろん取説なんてついてない)、AVRマイコンが別売りだったり(ブートローダーの書き込みが初心者にはシンドイ)して、こちらもハードルが高いです。安いからとりあえず買っておくかと、つい手を伸ばしてしまいがちですよね・・・。
パーツ箱の肥やしになってしまわないためにも、各安価互換マイコンボードの使い方をまとめて書いてみます。

aitendoのあちゃんでいいの

いつくかバージョンがあるようですが、今店頭に並んでいるのはバージョン2のようです(ですが基本的に変わりません)。
AVRマイコンを除いたパーツが入っていて、お値段なんと99円。マイコンを加えても400円くらいになります。Arduino互換というよりは、AVRマイコンにクロック水晶とリセットボタン、電源LET、UART接続のため引き出しピンが付いている基板です。小さくてなにより安価なので、この基板のまま完成品に実装してしまうことを想定しているのでしょうか。
部品点数が少ないですが一応キットです。作り方はaitendoの説明の通りです。表面実装のCRのはんだ付けが不慣れな方にはネックでしょうか。また、附属のピンヘッダは径が太くてブレッドボードなどに差し込みにくいので、細ピンヘッダに取り替えたほうが良いと思います。基板の裏に取り付けられた水晶は割りと高さがあるので、ピンがブレッドボードに完全に差し込むことができないなどの不具合?があります。
組み立て終わったら、USB-シリアル変換と接続します。DTR端子が付いたものが必要です。あちゃんでいいののUART端子は1番が順に、TX, RX, VCC, GND, PROG_RESET(TR5GPというらしい)となっています。TXにはシリアル変換のRXを、RXにはTXを、PROG_RESETにはDTRを接続します。USBをPCに接続すると電源があちゃんでいいのに投入されるので、LEDが点灯するはずです。WindowsのデバイスマネージャーでUSB-シリアル変換のCOMポート番号を控えておきます。USB-シリアル変換が付属していないだけなので、これさえ出来てしまえば、あとは普通のArduinoと同じです。
次にArduino IDEを立ち上げ、シリアルポートを設定し、ボードの指定は「Arduino UNO」にします(AE-ATMEGA328-MINIならばArduino Pro or Pro MINIに設定)。あとはプログラミングしてマイコンに書き込むだけです。

aitendoのDIP化最小構成マイコンキット

製品名から一体何のマイコンなのかが分かりません。Webを見ればLPC1114とわかりますが、店頭だと恐ろしく見にくいLSI上のシルク印刷を読まないと分かりません。なんて不親切なんでしょうか。
「最小構成」とあるように、DIP品のLPC1114FN28と同じサイズの大きさ中に水晶とリセットスイッチ、ISPブートジャンパー、LEDが付いています。実装が楽にできてかつ395円とDIP品のマイコン単体よりも安いくらいです。下の写真は、左からaitendoのDIP化最小構成マイコンキット、SSOP28ピンタイプのLPC1114FDH28/102をDIP化したもの、DIP品のLPC1114FN28/102。サイズがすべて同じです。

当然ながら作り方の説明は一切ありません。SSOP28ピンのLPC1114FDH28/102も自分ではんだ付けする必要があります。あちゃんでいいのようにシリアルと接続する端子が出ていません。LPC1114の使い方をある程度知っていないと手出しできませんね(汗)。
あちゃんでいいのと同様、USB-シリアル変換を用意しておきますが、TXとRXだけで結構です。最小構成マイコンキットの16ピンと15ピンにそれぞれtx, rxと書かれています。下の写真のようにUSB-シリアルとクロスで接続しておきます(もちろん、GNDとVCC(3.3Vなので注意)も忘れずに)。
プログラミングはmbed環境を使うことができます。mbedのターゲットプラットフォームをmbed LPC1114FN28にしてプログラミングをビルドすると、binファイルがダウンロードされてきます。このbinファイルをマイコンに転送する方法はいくつかありますが、一番簡単でオススメなのは、LPCIPSというツールを使ってbinフィアルをUART経由でマイコンへ書き込む方法です。ISPモードで転送する必要があるのですが、最小構成マイコンキットのISPジャンパーをショートしてリセットボタンを押すとISPにモードに入ります。この状態でLPCISPでファイルを書き込んで下さい。書き込み後、ジャンパーを外してリセットボタンを押すと書き込まれたプログラムが起動します。

激安ARM STM32F103C8T6ボード

以前STM32F103C8T6ボードの紹介をしました。このときはUART経由で書き込む方法を紹介しましたが、ボード上にST-LINK用の端子がついているので、今回は簡単なST-LINKで書き込む方法を紹介します。
ST-LINKはST様のプログラマ/デバッガの書き込むツールで、純正品の他に中華コンパチ品も出回っております。後者のドングルが500円くらいで入手できるので、STM32を使う人は揃えておいて損はないと思います。なお、Nucleoの頭の部分についているのがST-LINKです(偶然にもSTM32F103C8T6が使われています)。あまりメリットないですがNucleoでもST-LINKで接続することができます。
ボードのST-LINK端子にそれぞれドングルのピンを接続します。STM ST-LINK UtilityをST様からダウンロードし入手します。最初にST-LINKとPCを接続した時に、ST-LINK自身のファームウエアをアップデートしておきましょう。ST-LINK Utilityはbinだけでなくhex形式も読めます。LPC1114と同様に、mbed環境でプログラミング・ビルドして得られたbinファイルをST-Link Utilityに読み込ませ、"Target -> Program"でマイコンに書き込むことができます。

ボード、ST-LINKともに中華品なのでとても安いです。mbed環境がそのまま使えて、高性能なマイコンを使いこなしたいならば、この構成が最強なのではないでしょうか。