Edited at

Pro microにusb経由でfirmwareが書けなくなった原因と対応

More than 1 year has passed since last update.

Bootloader領域を破壊してしまった場合は、前記事をご参照ください。

Arduino IDE経由でブートローダを書いたにも関わらずRESETとGNDをショートさせてもfirmwareが書き込めない現象(USBデバイスはPC側で認識する)が発生しました。

詳しい原因は調査中ですが、復旧する方法を記載します。


■原因

AVRライタ経由でArduino IDE (執筆時の最近版1.8.3)を使ってで書いたbootloaderはログから

Caterina-promicro16.hexというものでした


arduino-IDEのログ

Arduino15/packages/SparkFun/hardware/avr/1.1.5/bootloaders/caterina/Caterina-promicro16.hex


最終結果から推測するにこのbootloaderだとUSB経由のfirmware書き込みに失敗する事がわかりました。

また、qmk_firmware/bootloaderやmegaUSB_DFU_Bootloaders/ATMega32U4-usbdevice_dfu-1_0_0.hexを書き込んでも同様でした。(再検証中)


■復旧方法

最終的に

arduino公式リポジトリ にある、 CATERINA-Micro.hex(1.0.3)を書き込む事で復旧しました。


■pro microクローンについて

今回の復旧方法のヒントとなった、私が初めてpro microを購入し特に今回の事象が発生しなかったものの商品説明を確認するとbootloaderにCATERINA-Micro(1.0.3)が書かれていることがわかりました


商品説明

...

Color : Blue
Module Size : 3.4cm x 1.8cm/1.33''X0.7''
Pin Size : 3cm X 1.2cm / 1.18''X0.47''
Supported under Arduino IDE v1.0.5

Package Included:
1 x Leonardo Pro Micro ATmega32U4 Arduino IDE 1.0.3 Bootloader replace Pro Mini


pro microクローンをいくつかの販売者から購入しましたが、開封直後でも今回の事象が発生し初期不良品だと勘違いするもがありました。(出荷前に他のbootloaderを書いていると予想)

※pro microを購入する時はどのbootloaderが、書き込まれたものなのか注意する必要があります。