ぼくフルスタックエンジニア。

フルにスタックされすぎて積んでる人のブログ

基板作成について調べてArduino名刺基板を設計してみる (準備編)

今回は、Eagleをちょっと触ったことある程度の初心者が、Arduino内蔵名刺基板設計をする話をしていきます。おそらく3回くらい分かれる記事のうち、最初の1回です。この記事では、どんな回路や仕様にするか考える話を中心に書いていきます。

名刺基板とは?

その名の通り、基板の形をした名刺です。「名刺基板」で画像検索すると、国内外問わず様々な作品があるようです。

ものによっては、実際に回路として動作する基板を作られている方もおり、

USBメモリにしたり

gigazine.net

Linuxを内蔵したり

gigazine.net

シンセサイザーにしてしまった作例もあるようです

hackaday.com

で、今回、いろいろあって学内で名刺基板作成講座をすることになったので、このシリーズではその準備ログをまとめていきます。なるべく読まれた方が記事を追って実装できるように書いていくつもりですので、よろしくお願いします!

何を作るのか

こんな感じの要件で考えてみました

  • 受講者が気軽にプログラムを書き換えて楽しめるもの
  • なるべく部品点数は少なく、名刺なのでなるべく基板の背は低く
  • オンライン講座を考慮して、ISP等の書き込み装置等、別の機材が必要になることはしない

「受講者が気軽にプログラムを書き換えて楽しめるもの」から、Arduino互換にすることはすぐ思いつきました。

また、「ISP等の書き込み装置が必要になることはしない」という条件から、atmega328pのarduinoは使えなそうです(Unoみたいにatmega16u2も付ける形もできなくはないけど、パーツ数が多くなるのはイヤ)。

そこで、調べているうちに、「U」付きモデルのArduinoならハードウェアレベルでのUSB対応かつ新品の状態でUSBからファームウェアを書き込める、DFU(Device Firmware Update)が付いていることが分かりました。そこで、Arduinoで採用実績のあるatmega32u4を使用することにしました。

オリジナルArduino基板設計の準備

atmega32u4といえば、「Arduino Micro」と「Arduino Leonardo」があります。そして、もちろんオープンソースハードウェアなので回路図は公開されています。

eagleのschematicやboardのデータもあるので、改変も楽です。

store.arduino.cc

store.arduino.cc

ここからminumumな構成にするためいらないパーツをバッサリ切り取り、作っていこうと思います。

。。と思ったのですが、実は調べているうちに、Arduino Leonardoの極小ボードである、Beetleを発見しました。

www.dfrobot.com

これのschematicも公開されていたので、これをベースにUSBを基板上に配置したり気の利いたLEDを追加するなどして、名刺基板に近づけていこうと思います。

オンボードUSB-A端子の設計

ここで特殊な部品として、オンボードのUSB-A端子が有ります。ライブラリ等も特に見つからなかったので、手作りすることにしました。

ここに先人のUSB名刺基板ログがありますが、ここでのUSB-A端子は実測のようです。

www.instructables.com

ネットに転がっていたUSB2.0の規格書を漁ると、こんな形で詳細な寸法が載っていました。

http://sdphca.ucsd.edu/lab_equip_manuals/usb_20.pdf

f:id:gpioblink:20200804220707p:plain

f:id:gpioblink:20200804220805p:plain

これだけあれば、独自のライブラリを作れそうです。

次回の記事で、実際に実装を行います。

おまけ

今回は採用しませんでしたが、Arduinoの基板をブロックに分けてとても分かりやすくまとめてくれています。 元になった基板は古いようですが、どこまでがリセットに関する回路なの?みたいな疑問に答えてくれ、とても役に立ちました。

Arduino-modular

また、極小のLeonardo基板をあげられている方も、仕様決定の上でとても便利でした。

forum.arduino.cc

https://forum.arduino.cc/index.php?action=dlattach;topic=111503.0;attach=20930

Arduino基板設計に関する記事を見ていると、「Arduinoのフォーラムで聞いて解決した」とか「stack exchangeで聞いて理解した」みたいな情報を結構見ました。周りに聞ける人がほとんどいない分野なので、ためらいなく活用していこうと思います。

進捗出し研究のための評価

この記事は、「進捗出し研究ブログ」の1日目記事です。

gpioblink.hatenablog.com

この記事の最後に、このブログ記事でやった内容に関する進捗評価をしておきます。

  • 「基板作成講座の準備」について「研究室」でやった
  • 目標の作業は終了しなかったが作業中に何かの誘惑に負けることはなかった
  • 途中疲れたときに15分の休憩を2回、45分の休憩を1回とった
  • 目標時間の6時間が過ぎた後も続けて最終的に寝落ちした

進捗度: ★★★★☆

少し休憩の割合が長い気もするが、概ね集中できていたように感じる