記事担当:共立プロダクツ
ハンダ付け不要-マイコン系


本日は、個人的に前々から気になっていたマイコンボードを使ってみましたのでご紹介したいと思います。
それがこちら。
今年7月に登録したばかりのマイコンボードです。

Arduinoといえば、先日の純正ボードの最新型★「UNO R4」がリリースされました。
新たにArm系のチップを採用してハードウェア構造が大きく変化したのが特徴ですが、このボードは、Arduinoの主力ラインナップとして長らく使われていたマイクロチップ(旧アトメル)のAVR系マイコンを搭載しています。
わずかな変更や修正は発生するものの、従来から使っているUNO R3やNano等の代わりとしての使い方がよく合うのではないかと思います。
1


搭載マイコンは「ATtiny1616」(右)、USB-シリアル変換IC「CH340K」(左)も搭載しています。
ボード形状はDIPタイプで、ユニバーサル基板との相性も良いです。


2
基板上には★Grove互換コネクタを追加するパターンがあります。コネクタは付属しているのが嬉しいですね。

今回は、このボードを「Arduino IDE」で使うために必要な環境構築手順を実施した後、簡単なプログラムを動かしてみました。


▼ボードサポートの追加
搭載AVRマイコン「ATtiny1616」は、Arduinoの開発環境では標準状態でサポートされていないモデルとなります。
メーカーページの記載を参考にして、オープンソースの「★megaTinyCore」という追加ボードサポートをArduino IDEに導入します。
※現時点で上記ドキュメントでは、Arduino IDEのバージョン「1.8.13」が推奨されています。
今回はArduino IDE 1.8.19を使用しました。


1.Arduino IDEを起動して、メニューバーから[ファイル]>[環境設定]を選択します。
3


2.「環境設定」ウィンドウにある「追加のボードマネージャのURL」右側にあるボタンをクリックします。
4



3.「追加のボードマネージャのURL」ウィンドウ内の入力欄に、下記の内容を入力してください。
(既にほかの内容が入力されている場合は、改行して新しい行に続けて入力します。)
入力完了後[OK]を押してウィンドウを閉じます。環境設定ウィンドウも同様に[OK]で閉じます。
5


4.続いて、メニュー[ツール]>[ボード: "○○"]>[ボードマネージャ…]を選択します。
6


5.「ボードマネージャ」ウィンドウが開きます。先の手順で追加したボードマネージャを含めてリストを再構築する処理が行われますのでしばらく待機した後、上部の検索ウィンドウに「megatinycore」と入力します。
7


6.検索結果から「megaTinyCore by Spence Konde」を探し、[インストール]をクリックします。(2023.10.25時点での最新版はバージョン2.6.10)
8


7.インストールが完了するとINSTALLEDの表示が現れますので、確認後[閉じる]をクリックします。
9


8.インストールしたボードサポートを使用するための設定を行います。
メニューより[ツール]>[ボード: "○○"]を選択すると、新たに「megaTinyCore」というサブメニューが追加されています。さらにその先にある「ATtiny3216/1616/1606/816/806/416/406 w/Optiboot」を選択します。
10



9.もう一度メニュー[ツール]を開くと現れる[Chip]のサブメニューから「ATtiny1616」を選択します。
11



ここまでを終えることで、CHIBIKKOボード向けのスケッチをコンパイルできる準備が整いました。上記のメニューに表示されている通り、実際には更に詳細なオプションの指定ができますが、ここでは割愛します。


▼プログラムの書き込み
CHIBIKKOにはUSB-シリアル変換ICが搭載されているため、★USBケーブル(別売)でPCに接続すると、シリアルポートとして認識されます(Windows11や10の最新版ではドライバの追加導入も通常不要です)。
ATtiny1616には、あらかじめブートローダーが書き込まれているので、シリアルポートの番号を指定するだけで書き込みができます。


CHIBIKKOをUSBケーブルでPCに接続して、デバイスマネージャーにて認識されているCOMポートの番号を確認してください(下記の場合はCOM3)。
12



Arduino IDEで、[ツール]>[シリアルポート]から上記の番号を探して選択します。
13



コンパイルが正常にできるスケッチを用意し、[マイコンボードに書き込む]ボタンを押すと転送が開始します。
14


「ボードへの書き込みが完了しました」と表示されれば成功です。
15



▼プログラムを書き込んで遊ぶ
CHIBIKKOに搭載されている「ATtiny1616」は、比較的新しい世代の「tinyAVR1」シリーズで、昔ながらのATtiny2313やATtiny85などとは様々な点で違いがあります。
で、どうせなら新世代ならではの新しい機能(DAC出力もあるんですよ!)を触ってみたかったのですが、良いアプリケーションを思い浮かばなかったので、その代わりに性能テストをしてみました。


CHIBIKKO上のATtiny1616は、内蔵クロックでの動作となっています。
ボード設定を変えることで、動作周波数は20/16/10/8/5/4/2/1MHzから選べます。最高の20MHzは、Arduino UNO R3(ATmega328P)の16MHzより高いので、今回はこれに注目してみました。


素数を小さいものから順番に探索し、100個ごとに累積の所要時間をシリアルポートで表示するようなプログラムを、CHIBIKKO(20MHz)とArduino UNO(16MHz)の2台で動作させてみました。
(8ビットのマイコンで素数を探すシチュエーションなど正直言ってないのですが、処理性能の確認用ということでご容赦ください)
16


結果はこちら。27%ほど高速に動作しているようです。
絶対的な速度そのものより、UNO系のアプリケーションとの互換性重視で16MHzを選んだり、あと少しの性能を足すのに20MHzを選んだりと、使い方に合わせて柔軟に選択できるという点では結構便利なのではないでしょうか。
17



以上、簡単に★CHIBIKKOマイコンボードを試用してみました。
Arduinoボードの入門機としてはハードルを感じるところがあるかもしれませんが、この製品は、安価なAVR系Arduino互換ボードをお探しの方におすすめします。


今後も面白くて遊べるマイコンボードがあればご紹介したいと思います!

(記事:ONE)
更新予定:毎週木曜日(次回は11月2日です!)