HiLetgoのDigispark互換機で手こずりました
ATtiny85搭載のArduino互換マイコンボードでDigisparkというものがあります。もともとはKickstarter発の製品だったようで、本家ではすでに生産していないようですが、主に中国製の安価な互換品が出回っています。今回は、Amazonで安価なマイコンボードや電子部品を数多く販売しているHiLetgoで、このDigisparkの互換機を購入してみました。
もの自体はこんな感じで、表面実装タイプのATtiny85とレギュレータ以外は大きな部品は載っていません。

今回は3個セットで950円だったのですが、なんと3つのうち2つがPCに接続しても全く認識されず、「USBデバイス記述子要求の失敗」というエラーが出てしまいます。

色々調べているうちに、「ブートローダを書き込んだら動くようになった」という報告を見つけたので、手持ちのPololu USB AVR Programmer (今回は、新たに買い足したV2を利用しました)で、プログラムフラッシュを読み出してみることにしました。Pololu AVR Programmer V2は初期状態だとターゲットに電源を供給できないので、5Vを供給するように設定を変えておきます。

実際に接続したところ。

読み出したHEXファイルを確認すると、内容はなんと空っぽ…、ファイルの末尾まですべて0xffでした。

とういうわけで、ブートローダを書き込んでみることにしました。まずは、こちらからファイルをダウンロードします。ATtiny85用default configrationのものでよいと思います。ネットを検索すると、Arduinoをライタとして用いている例が多いですが、今回は使い慣れたPololu AVR ProgrammerとAtmel Studioの組み合わせで行いました。ダウンロードしたファイルをAtmel Studioから書き込みます。

次にヒューズビットを設定します。純正のDigisparkでは、Extended=0xfe, High=0x5d, Low=0xe1 となっていますが、今回はこの製品の初期値と合わせるためリセット端子を有効化、つまり HIGH.RSTDISBL のチェックを外し、High=0xdd としておきます。

ヒューズの書き込みが終了後に再度PCに接続すると、今度はきちんと認識されました。

Arduino IDEからサンプルプログラムのLチカを書き込んでみました。書き込み時は、画面にメッセージが表示されてからボードを接続します。

ちゃんと動作してくれました。
こんな高頻度(2/3)でブートローダの書き込みを忘れるなんて、どんな品質管理をしているのかと疑ってしまいますが、純正のDigisparkに比べると1/3の価格なのでよしとしましょう。また必要になれば購入してみたいと思いました。同じ商品を購入されて動かなかった方々の参考となれば幸いです。
MicroUSB接続タイプとUSB Type-A直刺しタイプがあります。
もの自体はこんな感じで、表面実装タイプのATtiny85とレギュレータ以外は大きな部品は載っていません。

今回は3個セットで950円だったのですが、なんと3つのうち2つがPCに接続しても全く認識されず、「USBデバイス記述子要求の失敗」というエラーが出てしまいます。

色々調べているうちに、「ブートローダを書き込んだら動くようになった」という報告を見つけたので、手持ちのPololu USB AVR Programmer (今回は、新たに買い足したV2を利用しました)で、プログラムフラッシュを読み出してみることにしました。Pololu AVR Programmer V2は初期状態だとターゲットに電源を供給できないので、5Vを供給するように設定を変えておきます。

実際に接続したところ。

読み出したHEXファイルを確認すると、内容はなんと空っぽ…、ファイルの末尾まですべて0xffでした。

とういうわけで、ブートローダを書き込んでみることにしました。まずは、こちらからファイルをダウンロードします。ATtiny85用default configrationのものでよいと思います。ネットを検索すると、Arduinoをライタとして用いている例が多いですが、今回は使い慣れたPololu AVR ProgrammerとAtmel Studioの組み合わせで行いました。ダウンロードしたファイルをAtmel Studioから書き込みます。

次にヒューズビットを設定します。純正のDigisparkでは、Extended=0xfe, High=0x5d, Low=0xe1 となっていますが、今回はこの製品の初期値と合わせるためリセット端子を有効化、つまり HIGH.RSTDISBL のチェックを外し、High=0xdd としておきます。

ヒューズの書き込みが終了後に再度PCに接続すると、今度はきちんと認識されました。

Arduino IDEからサンプルプログラムのLチカを書き込んでみました。書き込み時は、画面にメッセージが表示されてからボードを接続します。

ちゃんと動作してくれました。
こんな高頻度(2/3)でブートローダの書き込みを忘れるなんて、どんな品質管理をしているのかと疑ってしまいますが、純正のDigisparkに比べると1/3の価格なのでよしとしましょう。また必要になれば購入してみたいと思いました。同じ商品を購入されて動かなかった方々の参考となれば幸いです。
MicroUSB接続タイプとUSB Type-A直刺しタイプがあります。
- 関連記事
-
- DigisparkをArduino IDEで利用するための設定方法 (2019/04/11)
- HiLetgoのDigispark互換機で手こずりました (2019/04/07)
- AliExpressで購入したもの(1) - 2SJ178 (2019/03/30)
スポンサーサイト