Arduino Leonardoの起動時間を早くする方法

Arduino Leonardoの起動時間を早くする方法

Arduino Leonardo はチップ内にUSB通信機能があるため、組み込む際によく使うUSB-シリアル変換器を使わなくてもいいので重宝しています。
そんな Arduino Leonardo ですが、電源を入れてからプログラムが立ち上がるまでに時間が長いと感じてしまいます。
大体8秒くらいでしょうか。
もうちょっと早くならないかと思って調べてみると簡単にできそうなのでその方法を紹介します。

スポンサーリンク

なんと Sparkfun Pro Micro のブートローダに書き換えるだけです。
Arduino Leonardo と Sparkfun Pro Micro は構成がほとんど同じなので書き換えても問題ありません。

Sparkfun Pro Micro のブートローダは改善されており、ハードウェアリセットをしてもブートローダモードから始まらず、ユーザープログラムから始まります。
Arduino Leonardoの挙動

Sparkfun Pro Micro ではリセットボタンをダブルクリックするとブートローダモードになります。

詳しくは説明しませんが、Arduino IDE の設定で以下のURLを記入して、ボードマネージャでダウンロードします。

https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

するとArduinoのフォルダ(preferences.txtなどが入っているところ)のpackages→Sparkfunの奥の方にbootloadersというフォルダがあって、その中にcaterinaというフォルダがあります。
そのフォルダの中のCaterina-promicro16.hexというファイルが Sparkfun Pro Micro の ブートローダになります。
といってもこんなに探さなくてもGitHubにありますけどね。

スポンサーリンク

これを知らなかったときはブートローダモードの時間を短くできるようにブートローダのソースプログラムをコンパイルしたりしていたのですが、そんなのは必要なく無駄な努力になってしまいました。

Windowsでmakeコマンドを使えるようにしたりしていました。
Windows10はBashが使えるので全然難しくないですけど。
特に気にしない限りブートローダは Pro Micro にした方がいいかなと考えています。

Arduino Leonardoの起動時間を早くする方法

スポンサーリンク

Leave a Comment