2018年の新作。ATmega4809を使った試作ということで、CAL.430FR(2015年)の後継機を製造した。
CAL.430FR https://blog.kemushicomputer.com/2015/03/cal430fr1.html
今回はケースの作成にも挑戦してみたので、3Dプリンタでの製造は別の記事にまとめる。
430FRはKiCadの練習で作ったけれど、それ以来3年間で設計、製造、実装した基板は結構な数になった。
今年は大きなプロジェクトも一段落したので、自分の趣味プロジェクトも原点回帰してみることにした。
36mm角の基板サイズ、コネクタ位置等はCAL.430FRと同じだが、マイコンはATmega4809にして、新たに赤外線トランシーバーを載せた。IrDAにした理由はUSARTにモデム機能があったからというだけだけれど、一応通信機能を持った基板となった。これで規格の波に数周遅れのスマートウォッチが作れる。
サイドボタンは1つ削減して3つになっている。
ボード定義で面白いのは、ATmega4809としての定義と別に、端子レベルでATmega328Pをエミュレートするコンパイルオプションがあること。Wifiモジュールなどとの通信制御を遮蔽しつつ、UNOと同じピン定義でプログラミング可能なようだ。
デバイス定義を参考にして、自作ボード用の定義ファイルを作成してArduino互換として動かす環境を試験的に作ってみている。 4809は内蔵オシレータが20MHz品と16MHz品があり、今までは20MHz品の流通が主だったので、クロック周りは20MHzとその分周比にあわせて定義を追加する必要があった。 電源が3Vのコイン電池なので、ボード定義でクロックは5MHzとし、1.8Vまで動作できるようにする。 BORなどはヒューズビットにあたるので、書き込みの際はプログラマで予めセットしておく。
今のArduinoIDEでの書き込みはコンパイル済みバイナリをスケッチフォルダに出力できるので、出力されたバイナリをATmelStudio7のツールで呼び出し、PICKIT4を使って書き込んでいる。
IO回りやUART,SPIなどは普通に動かせていて、CAL.430FR用に作ったスケッチのIO番号だけ振り替えてそのままメモリ液晶を動かすことができてしまった。
SPIの加速度センサとの通信がうまくいってないけど、とりあえず表示まで確認した。
4809自体は既存のAVRよりも低コストで使い勝手が良いので、Xplainedシリーズのようなデバッガ付きで最小限の評価ボードとして出てくれると良いなぁ。
CAL.430FR https://blog.kemushicomputer.com/2015/03/cal430fr1.html
今回はケースの作成にも挑戦してみたので、3Dプリンタでの製造は別の記事にまとめる。
430FRはKiCadの練習で作ったけれど、それ以来3年間で設計、製造、実装した基板は結構な数になった。
今年は大きなプロジェクトも一段落したので、自分の趣味プロジェクトも原点回帰してみることにした。
3年半前の基板(左)と今回の基板(右) |
シルクに印字したQRコード。思ったよりコントラスト不足で認識率が良くない 黒基板とかだとアリかも |
サイドボタンは1つ削減して3つになっている。
12月に入り、夏以降 ほとんど音沙汰のなかったArduino Uno Wifi rev2がとつぜん販売開始となっていた。
日本では無線LANモジュールの認証作業の完了待ちらしいけど、そのうち入手できるだろう。 ボード外観を見た感じではレベルシフタが一つ増えていて、WifiモジュールとのIFまわりに仕様変更が見て取れる。
リリースされたばかりのArduino Uno Wifi rev2向けのボード定義も配信が始まり、ボードマネージャ経由でインストールすることができた。
ボード定義で面白いのは、ATmega4809としての定義と別に、端子レベルでATmega328Pをエミュレートするコンパイルオプションがあること。Wifiモジュールなどとの通信制御を遮蔽しつつ、UNOと同じピン定義でプログラミング可能なようだ。
デバイス定義を参考にして、自作ボード用の定義ファイルを作成してArduino互換として動かす環境を試験的に作ってみている。 4809は内蔵オシレータが20MHz品と16MHz品があり、今までは20MHz品の流通が主だったので、クロック周りは20MHzとその分周比にあわせて定義を追加する必要があった。 電源が3Vのコイン電池なので、ボード定義でクロックは5MHzとし、1.8Vまで動作できるようにする。 BORなどはヒューズビットにあたるので、書き込みの際はプログラマで予めセットしておく。
今のArduinoIDEでの書き込みはコンパイル済みバイナリをスケッチフォルダに出力できるので、出力されたバイナリをATmelStudio7のツールで呼び出し、PICKIT4を使って書き込んでいる。
IO回りやUART,SPIなどは普通に動かせていて、CAL.430FR用に作ったスケッチのIO番号だけ振り替えてそのままメモリ液晶を動かすことができてしまった。
SPIの加速度センサとの通信がうまくいってないけど、とりあえず表示まで確認した。
4809自体は既存のAVRよりも低コストで使い勝手が良いので、Xplainedシリーズのようなデバッガ付きで最小限の評価ボードとして出てくれると良いなぁ。