ATmega4809ボードとUPDIプログラマをつくりました

ATmega4809ボードとUPDIプログラマをつくりました

以前から苦悩していたUPDIプログラマの製作の目処が付き、ようやく完成したので、ATmega4809のボードも一緒に作ってしまおうと基板の設計していました。
問題なく完成し、それも文句なしの一発成功だったので、我ながら感動していました。

スポンサーリンク

UPDIプログラマ(mEDBG)

こちらは Arduino UNO WiFi Rev2 の回路図にある、mEDBGの回路を参考にしてつくりました。

UPDIなので信号線はその1本でいけるとは思っているのですが、念の為リセット端子に繋がるピンも用意しました。

シリアル通信のインジケータ用LEDはRXとTXが反対になるのを最後の最後に気づいたので間違わなくて済みました。
本来であれば一体型なのでmEDBGがPCから受信した信号はそのままATmega4809の受信信号になりますが、今回は分離されていあるのでmEDBGから送信した信号がATmega4809では受信信号になるので...とややこしいです。

回路はほぼそのままですので苦労することがないのですが、前々から困っていたファームウェアはどうしたかというとArduino UNO WiFi Rev2 を個人輸入で入手してファームウェアの抜き出しましたwww
ちょっと送料が高いですが、Amazon.comで買えちゃうんですよね。
技適がないですし、ファームを抜き出しただけでもう不要なのでもったいないのですが...

ファームウェアを抜き出すICSPパッド
上の写真で囲っているパッドの部分がATmega32U4のICSP端子だと気づきまして、じゃあここからファーム抜けばいいじゃんというわけです。

取り出したファームウェアを Arduino Leonardo に書き込むと正常に動いたので、生のATmega32U4でも問題なかったです。
ちなみにEEPROMにも書き込まないとダメなのですが、mEDBGにはデバイス固有のシリアルナンバーがあってそれもそのままコピーしちゃっています。
今回は個人利用で置き換えという形なのでグレーですが、同じタイミングでPCに認識させると弊害が出そうですし、シリアルナンバーを勝手に変えるとさすがにまずそうです。
そういう理由もあって大々的に販売することはできません。

そんな感じで一部制約もありますが、完成したのがこちら。
UPDI Programmer mEDBG Board
以前作ったUSBシリアル変換器のデザインを踏襲しています。
抵抗やコンデンサはほぼ1005パッケージですし、ICはQFNです。
microUSB端子の近くにある大きめ(?)のコンデンサが1608という、なんとも微細な基板ができあがりました。
ちなみにこれは、はんだごてとヒートガンで全部はんだ付けしました(笑)
とりあえず試作だからというのと、1005パッケージを手はんだでしたいという意味のわからない挑戦です。

パーツ自体はめちゃくちゃ小さいですが、パッドはEAGLEの標準で入っているやつにしたので少し大きめです。
それが良かったのか全然問題なくはんだ付けできました。
ちょっときれいに揃えるのが難しいですが、まあついていたらOKです。

スポンサーリンク

裏面はブランドロゴくらいです。
UPDIプログラマ 裏面
でもやっぱりピン名は裏にも大きく書きます!
これだけは譲れません。
今見たらティアドロップにしたときのバグかなんかでパターンのミスがありますね。
動作には特に問題ないので、気にしないんですけど。

ATmega4809ボード

ATmega4809自体の周辺回路は非常にシンプルなので、そんなに苦労せず基板は設計できました。
といっても Arduino UNO WiFi Rev2 のピン配列が思ったよりめちゃくちゃだったので、そことの兼ね合いが大変でしたが...

UPDI Programer + ATmega4809 Development Board
できるだけ、Arduino Pro Mini に近づけようと頑張りました。
タクトスイッチも同じものを使っています。
レギュレータは大きめのTO-252パッケージを使いました。
できるだけ大きいやつをなんとなく載せたかったんです。

Arduinoとして使われていないピンも目一杯引き出しています。
そのせいでちょっと大きめになりましたが、Arduino準拠のボードを作ってもいいなと思いました。
RTC用の水晶振動子はつけておきましたが、本当に動かせるのか不安です。

裏面にはロゴをドーンと載せました。
ATmega4809ボード 裏面
あとI2C用のプルアップ抵抗を載せられるパッドもつけました、ここは1608パッケージ用です。
名前は迷いましたがシンプルが一番です。
「mini」したのはもっと小さいタイプで「micro」を使えるかなとおもったからです。
「nano」もいけますよね、完全にArduinoシリーズのネーミングなんですけど。


UPDIプログラマのところで言ったとおりなのですが、今回の基板は結構グレーです。
そういうところがあるのでネットショップに出すようなこともしません。
どうしてもという方にだけ...という形でヒソヒソとやろうと思います。
ATmega4809をもっと広めたい私としては、公式が出てくれるのが一番なんですけどね。

ATmega4809ボードとUPDIプログラマをつくりました

スポンサーリンク

Leave a Comment