Skip to content

Arduino micro, a modified bootloader

(231020、240211、240217 HPへ、240902)

The official bootloader of the Arduino micro takes 8 seconds to reset, because it reloads both the bootloader and the user code. SparkFun distributes "Pro micro" with a modified bootloader which reset a board within 0,75 sec. Arduino micro is compatible with SparkFun Pro micro, so it can share the modified bootloader.

Arduino microの公式デフォルトブートローダでは、リセットに8秒かかる。BootloaderとUserCodeの両方を読み直すためらしい。SpatkFun社は、互換機"SparkFun Pro micro"を販売しており、改良されたBootloaderを配布している。リセットボタンを押す(シングルクリックする)とUserCodeだけ読み直し0.75secで再起動し、ダブルクリックでbootloaderから読み直す仕様になっている。Arduino microは、SparkFun Pro microとの互換性をもつので、改良されたbootloaderに書き換えられる。

Preparations/準備

  • Comfirm spec./マイコンATmega32U4は2種類(3.3V 8MHz, 5V 16MHz)存在し、Arduino microは5V,16Mhzである

  • Prepare library from SparkFun in Arduino IDE/Arduino IDEにSparkFun製品のライブラリをインストール(下記手順)

  • Programmer board (ex. Aruduino UNO etc)/別のArduinoを書き込み装置に仕立てる(下記手順、私はUNO R3またはR4 WiFiを用意した)

  • Target board (Arduino micro)/書き換えたいArduino micro

  • Cables with male-female terminals, 6/ジャンパーケーブル オスーメス 6本

Steps/作業

  1. Install library from SparkFun ライブラリをインストールする

    • Arduino IDE > Preferences> Settings, paste an address below.

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

    • Tools >Boards >Boards Manager…

    • SparkFun AVR BaordsをINSTALL 1.1.13 (2023, 2024)

    • Tools > Boardsに、Sparkfun AVR Boardsが表示される

  2. Prepare UNO as a programmmer/UNOを書き込み装置に仕立てる Arduino as ISPを書き込む

    • Arduino UNOをUSBでPCに接続する

    • File > Examples > 11. ArduinoISP > ArduinoISP

    • Upload 書き込む

    • USBケーブルを外す

  3. Circuit/配線する

    • Arduino UNO 5V、GND、10、11、12、13と、Arduino micro ICSPピン(6ピン)を接続する

    circuit

    UNO micro
    5V 5V
    GND GND
    10 RESET
    11 MOSI
    12 MISO
    13 SCK
    • Arduino UNO(Programmer)を、PCにUSBでつなげる
  4. Settings/設定する

    • Tools > Board: “SparkFun pro micro” ボードを選ぶ

    • Tools > Port: “/dev/cu.usb…” ポートを選ぶ

    • Tools > Processor: “ATmega32U4 (5V, 16MHz) プロセッサーを選ぶ。Arduino microのATmeta32U4、5V 16MHzに合わせること。

    • Tools > Programer: “Arduino as ISP” UNOを書き込み装置とする

  5. Burn bootloader/ブートローダを書き込む

    • Tools > Burn bootloader ブートローダを書き込む

    • RESETが一瞬で完了するようになる。8秒かからない。ダブルクリックで8秒。

    • RX・TXのLEDが常時点灯するようになる、内蔵LED緑色がふわふわと点滅する。

  6. 使用する

    • スケッチを用意する(2024.9 USB_CoMBI_v4)

    • Tools> Board> SparkFun AVR boards> SparkFun Pro Micro を選ぶ

    • Tools> Ports> いつもの /dev/cu.usb... を選ぶ

    • Tools> Processor> ATmega32U4(5V,16MHz) を選ぶ

    • Tools> Programmer> いつもの AVRISP mkII を選ぶ

    • 書き込む 

    赤い文字で下記のように表示されたけど、microは正常に動作した。
    microの状態は、TXとRXが点灯、内蔵LED緑はOFF、下面内蔵LED青は点灯(2024.9 v2.3.0)

    Connecting to programmer: .
    Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
    Programmer supports auto addr increment.
    Programmer supports buffered memory access with buffersize=128 bytes.
    Programmer supports the following devices:
    Device code: 0x44

References/参考

  • Sparkfunの情報 https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide#troubleshooting-and-faq

  • Sparkfun ブートローダの書き込みチュートリアル https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader

  • Pro microに書き込む例、配線の仕方 https://tomosoft.jp/design/?p=12039

  • ブートローダの違い https://zenn.dev/koron/articles/9fee38469a8acc

  • 書き換えること https://ehbtj.com/electronics/arduino-leonardo-speed-up-boot-time/

  • 書き換え方、配線、別にArduino UNO(ArduinoISPを書き込んでプログラマに仕立てたもの)が必要。 https://physical-computing-lab.net/arduino/learn_arduino_bootloader_install.html