2020年8月15日土曜日

Digisparkを久しぶりにいじってみた。

 確かAliexpressだったと思うんだけど安かったときにAttiny85を取るために買った抜け殻が見つかったので復活させてみた。そんでもって自分用のメモ。

DigisparkはDigistampから出ていたAttiny85搭載のUSB直結できるタイプのマイコンボードで、Arduinoで手軽に開発できるし、HIDデバイスにもなれるし、お安いので数年前にちょっと流行っていたような気が。

自分もクローンを購入してUSBボリュームノブとか作っていた気がする…

とりあえず使用済みAttiny85もあったのでとりあえずこれで復活させてみようかなと。

まずはBootloaderの書き込み。
DigisparkのBootloaderはmicronucleusなのでgithubよりhexをダウンロードしてくる。
今回はattiny85なのでt85_default.hexを使用した。

書き込み機はHIDaspxを使用した。
DigisparkでP5(リセットPin)もIOとして使いたい場合はヒューズビットを0xE1(low)0x5D(high)とする。まぁ本家もリセットPinが使える設定なので今回も本家と同じようにしておいた。
リセットPinをIOとして使えるようにすると高電圧プログラマーじゃないと書き込めなくなるので、Bootloaderをアップデートしたりするときはヒューズリセッターを使うと良いかも。
なので書き込む順番も注意である。まずはHexを書き込んでからヒューズビット書き込まないとつみます。

うまく書き込めたら実装するだけ。

これで復活である。ブートローダーもv2.04なので本家より容量使える?
そんでもってリセットピンも使えるのでUSB接続使ったとしても4つのPinをIOとして使える。(クローンだとよくリセットPinがIOとして使えなかったり)

Arduino IDE側は環境設定の追加のボードマネージャのURLに以下を追加。
http://digistump.com/package_digistump_index.json

そしてボードマネージャからDigisparkを追加するだけ。
USBドライバは
%USERPROFILE%\AppData\Local\Arduino15\packages\digistump\tools\micronucleus
の中に入っているのでinstall.exeからインストールしておく。

Digisparkはシリアルポートとして認識させるのは不安定なので、シリアルモニタの代わりに、libusbを使用したDigiUSBを使うことが推奨されている。
なのでデバッグとかで通信したい場合はDigisparkExampleProgramsに含まれるmonitor.exeを使用すると良い。

0 件のコメント:

コメントを投稿