新しいAVRはUPDI (Unified Program and Debug Interface) というインターフェースで書き込みをします。
今まではArduino UNO Wi-Fi Rev.2 のメインマイコンであるATmega4809を書き込むためのIC (ATmega32U4)を参考にして作り、ファームウェアを読み出して書き込んで作ったUPDIプログラマを使ってました。
流石にずっとこれを使う訳にはいかない感じもしたので、よく使われる Serial UPDI の基板を作ってみました。
UPDIプログラマを作り直してみた
以前にATmega4809のボードと一緒にUPDIプログラマを作りました。
プログラマとしてはそんなに不満はなかったのですが、UARTのところが通信速度が速いと通信できないみたいでした。
あまりにも使わない機能だったので気づきませんでしたが、一応作り直してみました。
UPDIプログラマ(mEDBG)を作れないか
以前紹介したATmega4809が安価で便利なのはとてもいいことですが、まだまだ一般的に使うにはハードルが高いデバイスです。
megaAVR 0シリーズではICSPではなくUPDI(Unified Program and Debug Interface)というインターフェースで書き込みをおこないます。
AVRISP mkIIでは書き込めませんので私はAtmel-ICEを使っています。
我慢できるギリギリラインですが、やっぱり少し面倒です。
そこで Arduino IDE が認識してくれるUPDIプログラマを作れば...と少し考えてみました。