最近話題の以下の記事は読んだことがある人も多いと思います。
290円マイコンボードという安さと手軽さに興味が湧いたため、こちらのショップにて購入してみました。
今回はその290円マイコンボードを他のマイコンボードと比較しつつLチカまでやってみる備忘録となります。
では、始めます。
目次
UIAPduinoのマイコンについて
スペック
UIAPduinoの回路図を見ると「CH32V003F4U6」というマイコンが使用されています。「CH32V003F4U6(CH32V003系)」のデータシートは以下になります。
大量買いになってしまいますが、マイコン単体でも日本で購入できます。
スペックを見てみると、クロックが48MHzでプログラムメモリが16K、RAMが2K、I2CやSPIも使えるのでちょっとしたことであれば大体のことはこのマイコンでできそうです。
ただ電源電圧が3.3Vか5Vとなっているため、乾電池2本で動かす場合などは3.3Vや5Vに昇圧する必要があるため注意が必要です。
またピンが付属していないため、ブレッドボードを使いたい場合は別途ピンを買ってきてはんだづけを行う必要があります。
Raspberry Pi Picoとの大きさ比較
安いマイコンボードと言えばRaspberry Pi Picoも出てくるので、並べて大きさを比較してみました(以下はRaspberry Pi Pico 2になっていますがPicoもPico 2もサイズは同じです)。

ボードの長さとしてはPicoと比較して大体1/3ぐらい短く、横幅も1ピン分短くなっているため、かなりコンパクトで小さいものを作るのには向いていると思います。
環境構築
ここからは実際に開発環境を構築していきます。と言っても、以下の公式ページにある方法そのままをやっていくだけです。
Visual C++再配布パッケージのインストール
最初にPCにUIAPduinoを認識させるために、Visual C++の再配布パッケージをインストールします。
以下のMicrosoftのページを開きます。
開いたページを少しスクロールした先にある「サポートされている最新の再配布可能パッケージ バージョン」から自分のPCにあったものを選択してクリックします。多くの人の場合は64bitのWindowsのはずなので、X64のものを選択すればよいと思います。

クリックするとインストーラがダウンロードされます。

インストーラを起動すると以下のような画面になるので、チェックボックスにチェックを入れて「インストール」ボタンをクリックします。

インストールが開始されるのでしばらく待ちます。

インストールが終わると以下のように再起動が求められるので「再起動」ボタンをクリックしてPCを再起動させます。

Arduino IDEの環境構築
次にArduino IDEの環境構築を行います。
Arduino IDEをインストールした後に起動させ上部メニューの「ファイル」→「基本設定」をクリックします。

以下の画面が出てくるので「追加のボードマネージャのURL」の右側にあるアイコンをクリックします。

追加のボードマネージャのURLの画面が出てくるので、そこに以下のURLをコピペで追加します。
https://github.com/YuukiUmeta-UIAP/board_manager_files/raw/main/package_uiap.jp_index.json
追加したら「OK」ボタンをクリックして画面を閉じます。

次にArduino IDEの左側メニューの上から2番目にある「ボードマネージャ」アイコンをクリックし、検索欄に「uiap」と入力して出てきた「UIAPduino」の「インストール」ボタンをクリックしてボードをインストールします。

インストールが始まると、最初の方は止まったかのような表示になりますが、しばらく待っていると以下のようにインストールが終了します。左側のところに「installed」のアイコンが出ていればインストール完了です。

これでArduino IDEでUIAPduinoを使う準備ができました。
Lチカで動作確認
環境構築が済んだのでLチカをやっていきます。
ボードの選択
Arduino IDEの上部メニューにある「ツール」→「ボード」→「UIAPduino」→「Pro Micro CH32V003」と選択していきます。

ボードにUIAPduinoの選択肢が出てこない場合はボードのインストールができていないので、再度ボードのインストールを行ってみてください。
選択後、Arduino IDE上部のボード名が「Pro Micro CH32V003」になっていればOKです。

Lチカスケッチの作成
次に以下の内容をコピペします。マイコンボードにつけられているLEDを1秒ごとに点滅させるという内容です。
#define LED_BUILTIN 2 // 内蔵LEDピン void setup() { pinMode(LED_BUILTIN, OUTPUT); // ピンを出力モードにする } void loop() { digitalWrite(LED_BUILTIN, HIGH); // 点灯 delay(1000); // 1秒待機 digitalWrite(LED_BUILTIN, LOW); // 消灯 delay(1000); // 1秒待機 }
コピペできたら適当な名前を付けてスケッチを保存します。自分は今回「uiapduino_test.ino」という名前で保存しました。

スケッチの書き込み
スケッチの準備ができたのでボードに書き込んでいきます。
UIAPduinoついているリセットボタン(以下の赤枠部分)を押した状態でUSBケーブルをPCに繋ぎます。

USBケーブルをPCに繋いだらすぐにリセットボタンから手を放します。
手を離した状態でPWRと書かれている青色LEDのみが常に点灯していることを確認します。

確認できたらWindowsの設定を開き左側メニューにある「Bluetoothとデバイス」→「32V003」が表示されていればPC側でちゃんとデバイスとして認識できています。

その状態でArduino IDEの上部にある「書き込み」ボタンをクリックします。

色々とメッセージが表示されるのでしばらく待ち、以下のように「Image written.」の表示が出ていれば書き込み完了となります。

書き込み完了後、UIAPduinoのリセットボタンを短く1回押すと、ボードがリセットされてスケッチが実行されます。
今回だと以下のオレンジ色のLEDが1秒間隔で点滅します。

以上が290円マイコンのUIAPduinoを触ってみた内容となります。
Visual C++の再配布パッケージが必要だったり、他ボードと違って書き込み時にポートを指定する必要がなかったり、書き込む時にリセットボタンを押して繋げてから離す必要があるなど、色々と手間なところもありますが、290円という圧倒的安さでちょっとしたものを作りたい場合はこのUIAPduinoでも十分だと感じました。
その低価格故に色々と議論もあるようですが、こういう安いマイコンボードも選択肢の一つとしてあるのは非常に魅力的だと思います。
参考資料