Aitendoのマイコンモジュール(32U4) [PM32U4] ・SparkFun Pro Micro をArduino IDEから使う時のメモ書きです。
最近,流通しているPro Micro クローンは出荷段階でArduino Leonardoのブートローダが書き込まれているようです。
搭載されているATmega32U4本来のDFUローダにロールバックする方法は、この記事の「2.元にもどす」に記述しています。
1.Arduino Leonardoとして使う
マイコンモジュール(32U4)[PM32U4]はSparkFunのPro Micro 5V/16MHz と全く同じ回路です。さらに,SparkFunのPro Micro 5V/16MHzはArduino Leonardoと同じ回路構成です。(中華通販ではPro Microクローンは$3程度で流通しています)
したがって,Aitendoマイコンモジュール PM32U4 にArduino Leonardoのブートローダを書き込めば,Arduino IDEからLeonardoとして利用できます。ただし,PM32U4 / Pro MicroではデジタルピンのD11,D12,D13が省略されているので注意が必要です。
Aitendoマイコンモジュール(32U4) PM32U4 == SparkFun Pro Micro 5V/16MHz のピンアサインは下のとおりです(クリックで拡大表示)
参考:Arduino UNO を用いたPro Micro へのArduino Leonardoブートローダの書込み。
- Arduino UNOとPro Microを次のように配線します。
Arduino UNO Pro Micro
基板表記のピン信号 D13 15 SCK D12 14 MISO D11 16 MOSI D10 RST RESET 5V VCC GND GND - Arduino UNOを接続しArduino IDE 1.6.x or 1.8.xを起動します。
- メニューバー「ツール」→「ボード」とすすみ「Arduino UNO」を選択します。
- メニューバー「ツール」→「ポート」とすすみArduino UNOが接続されているポートを選択します。
- スケッチArduinoISPをUNOに書き込みます(IDEの開くボタン→ArduinoISPを選択→マイコンボードに書き込むボタン)
- メニューバー「ツール」→「ボード」とすすみ「Arduino Leonardo」を選択します。
- メニューバー「ツール」→「書込み装置」とすすみ「Arduino as ISP」を選択します。
- メニューバー「ツール」→「ブートローダを書き込む」とすすみます。
ブートローダ書込終了のメッセージが表示されるまで待ちます。 - UNOをパソコンから外します。
- UN0,Pro Microの配線を外します。
- Pro Micro をパソコンに接続します。
- メニューバー「ツール」→「ポート」とすすみArduino Leonardoが接続されているポートが表示されればブートローダは正しく書き込まれています。
以後,Pro Micro は Arduino Leonardoとして使用することができます。
2.元にもどす
Arduino Leonardo ブートローダを書き込んだPM32U4を元のDFUブートローダ搭載状態にもどすには,
- DFUローダー詰め合わせmegaUSB_DFU_Bootloaders_2e.zipをダウンロードし展開します。
- AVRライタをPM32U4に接続し,AVRライタソフトを起動します。
AVRライタやソフトは多種多様で個別説明できませんので以下に必須操作の要点を述べます。 - PM32U4の全メモリを消去します。
- 下のようにヒューズビットを設定します。
lowFuse 0xFF , highFuse 0xD9 ,extendedFuse 0xC3
Fuseの設定を誤るとPM32U4がゴミと化すので注意 - megaUSB_DFU_Bootloaders_2e.zipを展開したフォルダの中の
ATMega32U4-usbdevice_dfu-1_0_0.hexを書き込みます - LockBit 0xEFを設定します。
- USBケーブルを接続してリセット端子をGNDとONーOFFして
USBデバイスATMEL ATm32U4DFUが出現すれば復元完了です。
3.AVRライタ AVRISP mkII として使う
- ATmega32U4搭載のマイコンボードはファームウェアを書き込むことによってAVRISP mkIIクローンとして動作します。
- この「マイコンボードDa Vinci 32UでAVRISPmkIIクローンを作る」の手順を準用すればPM32U4をAVRISP mkII化できす。
- ただし、PM32U4はTPICLKの出力はピンに引き出されていないので、そのままではTPI書き込みはできません。