Arduinoブートローダー書き込み(ICSP)用治具をつくってみた

📰この記事はプロモーションを含みます

⏰この記事は約 8 分で読めます

こんにちは、JLです。
今回は、Arduinoのブートローダーを書き込む際に使用する治具をつくってみたお話です。

Arduinoのブートローダーって何?

以前、Sakura pro microを作成した際に書き込みましたが、簡単に説明してしまうと、その基板を「Arduino(互換機)」として動かすためのモノです。

ブートローダーが書き込まれていることにより、Arduinoのスケッチ(プログラム)をその基板へ書き込み、簡単に動作させることができます。

ICSPとは?

さて、ブートローダーが書き込まれていない状態ではPCに接続しても認識をしてくれません。

この状態の基板にブートローダーを書き込むにはどうしたらいいのか…というと、基板上にある6ピンのICSPを使用します。

ちなみに、pro microなど小型のものだと、専用にピンが集合しているわけではなく、該当するピン(VCC・GND・RST・14(MISO)・15(SCK)・16(MOSI))を使用することになります。

このICSPに書込装置(USBaspなど)を接続して、ArduinoIDEからブートローダーを書き込むことができます。

治具をつくる理由

今回治具をつくった理由ですが、書き込みの際の作業を簡略化するためです。

Sakura pro microについては、ICSPに該当するピンが集合していないのでテストワイヤを使用して書き込みを行っていました。

都度配線が間違っていないかなどを確認しながら差し込みを行って…というのは少々面倒だったので、今回の治具製作の主目的のひとつとなりました。

もう一方として、Arduino互換機のCartreaduino Mega 2560の量産をするため、という理由がありました。
※Cartreaduinoについては、こちらに作成記事がありますので是非お読みいただければと思います。

先日、小ロットですが販売をさせて頂き、ありがたいことに即時完売となりました。

CartreaduinoはICSPピンはあるものの、Cartridge Readerのコネクタピンと干渉しショートしてしまう事故を防ぐため、ピン自体のはんだ付けを行っていません。

そのため、Sakura pro microと同様にテストワイヤを使用しての書き込みを行っていましたが、今回、治具を作成しての作業の簡略化を図りました。

PCBを発注します

さて。、今回の治具のPCBはJLCPCBさんに発注しました。

こちらから登録すると、日本からの新規登録限定で34ドルのクーポンが貰えますので、基板をつくってみたいなーと思っている方は、是非試してみてください。

作ったガーバーファイルのzipを、トップページのここからアップロードするだけで、自動でサイズなどを判定してくれます。

あとは好きな基板の色を選んで注文するだけです。

発送方法は、地域や情勢によっても変わってきそうなので、一概には言えないのですが「DHL Express Worldwide」が一番届くのが速かったです。JLの住んでいるところでは、ちょっとお安い「FedEx International Packet」も、大差ないスピード感で届く印象でした。

注文の一番最後の項目に、Promotional Codeという項目があるんですが、
ここに「JLCPCB$7」と入れると$7安くなるクーポンコードがまだ有効のようです。

新規登録特典のクーポンを使った後などにでも、是非試してみてくださいね😁

治具をつくっていこう

さて、発注したPCBが届いたので、治具をつくっていきます。

1週間しないくらいで届きました。素早い…。

開梱!

黒が映える感じの基板です。

マットなブラックでいい感じですね。基板上のシルクも綺麗です。

早いもので、JL品番も10作目となりました。記念すべき10作品目が治具。いいのかな。

要となる部品

さて、今回の治具では、スルーホールにはんだ付けする事なく、ICSP接続をする必要があります。

要となる部品ですが、このコンタクトプローブというものを使用します。本来は導通検査などに用いるもののようですので、正しい使い方ではないと思いますが…

仕組みとしては、中にバネが入っていて、先端を基板の電極と接触した状態で押すことにより、適度に加圧された状態が維持されるので、接触不良が起きずに導通させることができます。

こんな感じ。

はんだ付け

コンタクトプローブを直接基板にはんだ付けするというわけではなく、コンタクトプローブ用のソケットをはんだ付けします。

この部品をつけることにより、コンタクトプローブが消耗したりしても交換することが容易になります。

というわけで、コンタクトプローブソケットのはんだ付けが完了しました。

次に書込装置からのケーブルを接続するピンヘッダをはんだ付けします。

数が多い理由は後程ご紹介します。

治具用の固定補助パーツ

基板を位置固定するための補助パーツの3Dプリント用データを、Fusion360で作りました。

対象となるCartreaduinoやSakura pro microの寸法を測り、いい感じになるように調整しました。

このデータをもとに、光造形の3Dプリンタでパーツを作っていただきました。

ガッチリとした感じでとてもいい感じです。

Sakura pro micro側のパーツには、桜のロゴをそっと加工してみました。可愛い感じになって気に入りました🌸

これらのパーツを、基板の裏からネジで固定していきます。

あらかじめ補助パーツのほうにもネジ穴を設けておきましたが、位置もぴったりで問題なくネジ締めを行えました。

すべてのネジ締めが完了しました。

最終チェック

実際にコンタクトプローブをソケットに入れてみました。

位置や間隔なども問題なさそうです。

実際にCartreaduino、Sakura pro microを乗せてみて、コンタクトプローブが正しいスルーホールに接続できるか試します。

Sakura pro micro 問題なし!
Cartreaduino も問題なし!

というわけで、テスターを使用して導通確認等を行いましたが、問題なく接続できることが確認できました。

書込装置接続のピンヘッダについて

書込装置接続のピンヘッダが多い理由ですが、10pinについては、USBaspの接続用です。

なぜ2種類の端子があるのかというと、USBaspはオフィシャルの配線図では、4・6ピンがTXD・RXDになっています。

ですが、Amazonで売られている一部のUSBasp互換機では、4・6ピンがGNDになっています。

この治具上ではこれらのピンを使用していないので、無接続ですが、USBasp互換機の配線がどうなっているのか確証がないため、念のためGNDでショートしないように別の接続にしました。

ICSP 6pinのピンヘッダについては、Sakura pro micro・Cartreaduino以外に接続する際の10pin→6pin変換用です。今回の用途以外でも汎用で使えるように実装しました。

完成!

最後に四隅のネジ穴を利用して足をつけたら完成です。

できました!

というわけで、今回は、Arduinoのブートローダーを書き込む際に使用する治具をつくってみたお話でした。

Sakura pro microもいつか販売できたらいいな…と思いつつ、いつか量産できるようにしてみました。また、Cartreaduinoも、チップの供給が安定すれば、この治具を利用して増産していく予定です。

治具の話題とはちょっとずれてしまいますが、増産時の生産数の参考にしますので、もしよろしければ、Cartreaduino販売ページの「✉入荷お知らせメールを受け取る」を設定してみてくださいね😊

ここです

それでは、また次回、機会がございましたら、お読みいただければ幸いです~

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です