やっぱりmegaAVR 0シリーズを使いたい

No Image

ATmega4809は色々苦労しつつなんとか、使うことができました。
ただ、ATmega328Pとの置き換えを考えるとピン数が多いので少しサイズが大きくなってしまいます。
今はほとんどQFNパッケージの採用が個人的に多めなので、どうしても気になります。

後継ICを考えたときにATmega328PBだと少し機能アップはするもののちょっとペリフェラルが増えるだけです。
それなら、もっと安価で高機能な0シリーズに目が行ってしまいます。

そこで候補に上がるのは同じmegaAVR 0シリーズでATmega328Pとピン数が同じATmega4808です。
といってもこれは現状UPDIプログラマがないと書き込めません。
そこでどうやったら簡単に書き込めるか考えてみました。

スポンサーリンク

現状megaAVR 0シリーズのArduino Coreは既に有志の方が作ってくれています。
プログラムを簡単にサクッと作れるので非常にありがたいです。

前述通り、書き込みにはUPDIプログラマが必要です。
ただそれも簡単に作れる方法を紹介してくれています。
それがmicroUPDIです。

なんとArduino Pro Microなどをちょっと改造するだけでできちゃうUPDIプログラマです。
こちらは私も実際に製作して動作を確認しています。
私の勝手なこだわりで書き込み機は1つのモジュールとして完成しているのがいいので確認しただけですが。
上記ページにも書かれていますが、AREFピンを5Vに接続する必要があります
これがないとエラーで書き込みができません。

もう1つの候補としてjtag2updiが挙げられます。

スポンサーリンク

こちらは以前からあったのを覚えています。
ただ、MCUはATmega328Pが対象なので別途USBシリアル変換ICが必要です。
Arduino Nano があれば簡単に作れます。

あと私が無理やり作ったグレーなUPDIプログラマですね。
Arduino Uno WiFi Rev2 から抜き出したやつです。

さて、ここまでいくつかのUPDIプログラマを紹介しましたが、次にこれらを使って Arduino IDE からmegaAVR 0シリーズにプログラム書き込む方法です。
実は私が見逃していただけなのですが、IDEのメニューで書き込み装置をちゃんと選択してあげるだけでうまくいきました...
書き込み装置の選択
自作の場合は Uno WiFi Rev2 から吸い取ったやつなのでこれですが、microUPDI等ではまた別です。

あと、あわよくばとtinyAVR 0,1シリーズにも目をつけています。
その中でもQFN20で縦横3mmのATtiny1616には目をつけています。
ATtiny85より高機能ですしUART、SPI、I2Cなどのペリフェラルは標準でついています。
ESP32のような感じにペリフェラルの割当もできます。

とりあえずチップを買って自作のUPDIプログラマでどこまでできるか試そうと思います。
ただ、このあたりのチップの入手性はまだ悪くて私が知っている限りDigi-KeyやMouserでしか買えません。
ATtiny816とかいくつかのチップはLCSCでも見かけましたが、全部はないですし今後どうなるのやらという感じです。
個人的にはもっともっと広まってくれることを期待しています。

やっぱりmegaAVR 0シリーズを使いたい

スポンサーリンク

Leave a Comment

  • 2022/07/08

    教えてください arduino pro miniでやる場合updの出力はどこに接続すればいいのですか? そのほか苦労したところを教えてください。
    全くうまくいかないので・・・

    ご教授ください

    Reply