なぜLEDデバッグシールドが必要なのか

組み込み開発において、最も基本的でありながら最も頼りになるデバッグ手法、それが 「LED点滅による状態確認」 です。

シリアル通信やデバッガが使える環境でも、「今、このピンがHIGHなのか?」「このタイミングで出力されているか?」を瞬時に把握するには、LEDに勝るものはありません。

しかし、毎回ブレッドボードに抵抗とLEDを配線するのは手間がかかります。

  • ジャンパ線が絡まる
  • 接触不良で点灯しないことがある
  • 複数ピンを同時に確認したい時に配線地獄になる

そこで、Arduino UNO専用のLEDデバッグシールド を設計・製作しました。

そこで、Arduino UNO専用のLEDデバッグシールド を設計・製作しました。

Arduino UNO R4に装着したLEDシールド

Arduino UNO R4に装着したLEDシールド

このシールドで実現できること

🔍 全ピンの状態を一目で確認

Arduino UNOの デジタルピン(D0〜D13) および アナログピン(A0〜A5) すべてにLEDが接続されています。

プログラム実行中に「どのピンがHIGHで、どのピンがLOWか」を瞬時に把握できます。これは、以下のような場面で威力を発揮します:

  • I2C/SPIなどの通信デバッグ: クロック信号やデータ線の動作確認
  • PWM制御の確認: デューティ比に応じたLEDの明るさ変化で視覚的に検証
  • 複数ピンの同時制御: マルチプレクサ動作やパラレル出力の確認

🔧 選択的なピン無効化機能

「このピンはシリアル通信で使うからLEDは要らない」というケースに対応するため、各LEDの手前に カット可能なブリッジ(ジャンパ) を配置しています。

  • 不要なピンはカッターで切断してLEDを無効化
  • 必要に応じて再ハンダで復活も可能

これにより、用途に応じたカスタマイズが可能です。

Arduino UNO R4対応について

Arduino UNO R4 Minima

Arduino UNO R4 Minima

Arduino UNO R4 Minima starter kit

Arduino UNO R4 Minima starter kit

従来のArduino UNO R3はもちろん、Arduino UNO R4 Minima / WiFi にも完全対応しています。

R4シリーズはルネサスの32bitマイコン(RA4M1)を搭載し、処理能力が大幅に向上していますが、ピン配置は従来のUNOと互換性があるため、このシールドをそのまま使用できます。


回路設計:シンプルさの中の工夫

以下が設計した回路図です。

Arduino LEDシールド回路図

Arduino LEDシールド回路図

回路の構成

基本的な構成は非常にシンプルです:

  1. 各ピンに直列抵抗(1kΩ)+ LED(緑色)
  2. カット可能なブリッジ(ジャンパパターン)
  3. スタッキングコネクタ経由でArduinoと接続

電流制限抵抗の選定

Arduino UNOの各ピンは最大 40mA まで出力可能ですが、推奨値は 20mA です。また、全ピンの合計電流は200mA以下 に抑える必要があります。

使用するLEDの順方向電圧を Vf = 2.0V と仮定すると:

I = (5V - 2.0V) / 1000Ω = 3mA

全ピン(約20本)が同時にONになった場合でも:

合計電流 = 3mA × 20 = 60mA

これは十分に安全マージンを確保した設計です。視認性も十分で、Arduino本体への負荷も最小限に抑えています。

基板レイアウト

基板設計は KiCad を使用し、Arduinoシールド用のテンプレートをベースに作成しました。

Arduino LEDシールド基板レイアウト

Arduino LEDシールド基板レイアウト

  • 2層基板 で設計(コスト削減)
  • 表面実装部品(SMD) を使用(手実装の手間を削減)
  • シルク印刷 でピン番号を明記(視認性向上)

JLCPCBでのアセンブリ発注

今回の基板製作は JLCPCB のアセンブリサービスを利用しました。

発注内容

  • 基板枚数: 30枚
  • アセンブリ: LED・抵抗を実装済み
  • 基板代: 12.2ドル
  • アセンブリ代(部品費用含む): 23.67ドル
  • 合計: 約36ドル(1枚あたり約1.2ドル

アセンブリサービスのメリット

同じ部品を大量に使う場合、JLCPCBのアセンブリは非常にコストパフォーマンスに優れています:

項目 自分で実装 JLCPCBアセンブリ
部品調達 秋月・千石等で購入 JLCPCBの在庫から自動
実装時間 30枚 × 20個 = 600個分の手ハンダ ゼロ(機械実装)
品質 バラつきあり 均一(リフロー炉使用)
コスト 部品代 + 時給換算 1枚1.2ドル

特に 表面実装の小型部品 は手ハンダが難しいため、アセンブリサービスの恩恵が大きいです。

実際に届いた基板

部品実装済みArduino LEDシールド基板

部品実装済みArduino LEDシールド基板

部品実装済みArduino LEDシールド基板

部品実装済みArduino LEDシールド基板

抵抗とLEDがしっかりと実装された状態で届きます。あとは スタッキングコネクタ をハンダ付けするだけで完成です。

Arduino UNO R4 Minimaに装着した状態

Arduino UNO R4 Minimaに装着した状態

スタッキングコネクタを使用することで、以下のメリットがあります:

  • 他のシールドとの重ね使いが可能
  • ジャンパ線での信号取り出しが容易
  • Arduinoのピンに直接アクセス可能

動作検証:全ピン点灯テスト

実際にArduino UNO R4 Minimaに装着して動作確認を行いました。

テストプログラム

全ピンを順番に点灯させる簡単なテストコードです:

void setup() {
  // デジタルピン D0〜D13を出力に設定
  for(int i = 0; i <= 13; i++) {
    pinMode(i, OUTPUT);
  }
  
  // アナログピン A0〜A5を出力に設定
  for(int i = A0; i <= A5; i++) {
    pinMode(i, OUTPUT);
  }
}

void loop() {
  // デジタルピンを順番に点灯
  for(int i = 0; i <= 13; i++) {
    digitalWrite(i, HIGH);
    delay(100);
    digitalWrite(i, LOW);
  }
  
  // アナログピンを順番に点灯
  for(int i = A0; i <= A5; i++) {
    digitalWrite(i, HIGH);
    delay(100);
    digitalWrite(i, LOW);
  }
}

動作確認結果

  • ✅ 全ピンのLEDが正常に点灯
  • ✅ 緑色LEDの視認性が良好
  • ✅ Arduino本体への負荷も問題なし
  • ✅ スタッキングコネクタ経由での信号伝達も正常

オープンソース・技術資料

このLEDシールドの設計データは オープンソース として公開しています。

GitHubで詳細を見る

KiCad回路図・基板データ・ガーバーファイル・BOM・CPL・サンプルコード

公開内容

  • KiCad回路図・基板データ: 自由に改造・カスタマイズ可能
  • ガーバーファイル: そのまま基板発注に使用可能
  • BOM(部品表)・CPL(部品配置): JLCPCBのアセンブリサービスに対応
  • サンプルスケッチ: すぐに動作確認できるテストプログラム

JLCPCBで基板を作成する場合は、Arduino_LED_Shield.zip を読み込ませるだけで発注できます。


完成品の購入

「自分で基板を発注するのは敷居が高い」という方向けに、完成品も販売しています。

🛍️ Arduino UNO用LEDシールド

製品ページを見る BOOTHで購入する

💡 LED・抵抗実装済み基板 + スタッキングコネクタ付き

セット内容:

  • LED・抵抗が実装済みのシールド基板
  • Arduino用スタッキングコネクタ

※注意: スタッキングコネクタは付属していますが、ハンダ付けは購入者様にてお願いいたします。


まとめ:デバッグを快適にする小さな工夫

電子工作を続けていると、「こういうのが欲しかったんだよな」と思う瞬間があります。今回作ったLEDシールドは、まさにそんな思いから生まれました。

このシールドがもたらす価値

  • ⏱️ 時間の節約: 毎回の配線作業から解放
  • 🔍 視認性の向上: 複数ピンの状態を一目で把握
  • 🛠️ 柔軟性: 不要なLEDはカットで無効化可能
  • 🔄 再利用性: 何度でも使える開発ツール

ただの出力確認用LEDと言ってしまえばそれまでですが、その「ただの部分」を一手間かけて形にすることで、日々の開発が楽しく、快適になっていきます。

手に馴染む道具を自分で作れるというのは、電子工作ならではの自由で創造的な喜びです。

それでは、良き電子工作ライフを!