LoginSignup
2
2

More than 5 years have passed since last update.

Arduino の ATmega16U2 のシリアル通信用 AVR を修復する

Posted at

 何らかの理由で Arduino がシリアルポートとして認識されなくなってしまった場合に、ATmega16U2 のファームウェアを焼き直して、修復する方法です。
 日本語でまとまった資料がなかったので、備忘録としてまとめておきます。

なお

  • OS X
  • Arduino Uno R3

を前提としています。

dfu-programmer のインストール

 ファームウェアを書き込むためのソフトウェアをインストールしておきます。

$ brew install dfu-programmer

修復する

DFU モードにする

 Arduino を PC に接続してから、下記の RESET と GND を短絡します。3 秒ほど待ってからはずして DFU モードにします。
https://www.arduino.cc/en/uploads/Hacking/Uno-front-DFU-reset.png

ファームウェアを書き込む

 ファームウェアは Arduino IDE に同梱されているので、それを利用します。

$ cd /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/
$ dfu-programmer atmega16u2 erase
$ dfu-programmer atmega16u2 flash Arduino-usbserial-atmega16u2-Uno-Rev3.hex
$ dfu-programmer atmega16u2 reset

修復を確認する

 Arduino を PC につなぎ直して正しく認識することを確認します。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2