Seeed Studio XIAO用COB LEDドライバーボード入門ガイド

これはSeeed Studio XIAO用に設計された7チャンネルCOB LEDドライバードックです。この拡張ボードはGPIOの電力制限を突破し、7つの出力チャンネルを提供し、特に超薄型1mm 3V COB LEDストリップに特化しています。統合されたPMICバッテリー管理により、コンパクトで高輝度なワイヤレス照明セットアップを構築するための理想的なプラグアンドプレイソリューションです。
推奨読書:安全注意事項
概要
特徴
-
1mm 3V COB LEDストリップに対応
オンボードハードウェア電流制限は、3V 1mmフレキシブルCOBストリップの電気特性に合わせて特別に調整されています。段階的な300mAと100mAの電流制限により、様々な長さのストリップを効果的に駆動し、メーカーに安全で安定したプラグアンドプレイ体験を提供します。
-
戦略的7チャンネルハイブリッド出力
単一のボードで照明セットアップ全体を効率的に管理します。明るいメイン照明用の3つの高出力チャンネル(300mA)と、繊細な呼吸や フェード効果用の4つの調光可能チャンネル(80mA)を備えています。1つのボードですべてを処理—メインライトを明るく保ち、エフェクトをダイナミックに。
-
ワイヤレスプロジェクト用バッテリー管理
統合電源回路は3.7V Li-Poバッテリーまたは高出力5V USBアダプターをサポートします。ワイヤレス設置と高輝度デスクトップアンビエント照明の両方の構築に最適です。
-
簡単なセンサー拡張
標準Grove I2Cコネクターを含み、センサーへの手間のない接続を可能にし、照明プロジェクトが環境にインテリジェントに反応できるようにします。
仕様
| LED電源サポート | DC 3V |
|---|---|
| 電源入力 | 5V USB(XIAO経由) |
| 3×高出力ポート (ネジ端子) | 3チャンネル出力 |
| 4×FX/PWMポート (底面パッド) | 4チャンネル出力 |
| オンボード | Grove I²Cコネクター ×1 |
| 寸法 | 30mm*41mm*16mm(Seeed Studio XIAO付き) |
ハードウェア概要

- (1) D1-高出力ポート: 最大300mAの電流をサポートする高出力ポートで、オン/オフスイッチ制御のみ可能(PWM調光はサポートされていません)、高出力負荷の接続に使用されます。
- (2) D0-高出力ポート: 最大300mAの電流をサポートする高出力ポートで、オン/オフスイッチ制御のみ可能(PWM調光はサポートされていません)、高出力負荷の接続に使用されます。
- (3) VCC-常時オンポート: 最大300mAの電流をサポートする常時電源供給VCCポートで、電源スイッチによって制御されず、常に供給電圧を出力し、継続的な電力を必要とするデバイスに電力を供給できます。
- (4) GND: 回路の共通グランドポートで、すべてのモジュールのグランド線を接続するために使用されます。
- (5) I²C Groveポート: Grove標準I²Cインターフェース(VCC、GND、SDA、SCLピンを含む)で、I²CプロトコルをサポートするGrove モジュール(センサー、ディスプレイなど)の接続に使用されます。
- (6) 電源スイッチ: 電源制御スイッチ。"ON"に切り替えると高/低出力ポートに電力を供給し、"OFF"に切り替えると電力を遮断します(VCC常時オンポートはこのスイッチによって制御されません)。
- (7) 電源LED: 電源状態インジケーターライトで、電源スイッチが"ON"に切り替えられたときに点灯し、モジュールに電力が供給されていることを示します。
- (8) バッテリーコネクター: 3.7Vリチウムバッテリーの接続をサポートし、モジュールに電力を供給するバッテリーインターフェースです。
- (9) D2-低出力ポート: 最大80mAの電流をサポートする低出力ポートで、PWM調光をサポートし、アクティブLOWロジックを使用します(レベルが低いときに負荷が動作します)。
- (10) GND: 低出力エリアのグランドポートで、低出力負荷のグランド線を接続するために使用されます。
- (11) D3-低出力ポート: 最大80mAの電流をサポートする低出力ポートで、PWM調光をサポートし、アクティブLOWロジックを使用します(レベルが低いときに負荷が動作します)。
- (12) D9-低出力ポート: 最大80mAの電流をサポートする低出力ポートで、PWM調光をサポートし、アクティブLOWロジックを使用します(レベルが低いときに負荷が動作します)。
- (13) D8-低出力ポート: 最大80mAの電流をサポートする低出力ポートで、PWM調光をサポートし、アクティブLOWロジックを使用します(レベルが低いときに負荷が動作します)。
サポートされるCOB LEDガイド
サポートされるLEDガイド
| 製品 | 名前 | 長さ | 動作電流 | 光束 |
|---|---|---|---|---|
![]() | 両端COB LEDストリップ - ホワイト(6500K) | 38mm | 100mA(推奨) | >20 lm(@ 100mA) |
![]() | 両端COB LEDストリップ - ホワイト(6500K) | 130mm | 300mA(推奨) | 21-25 lm(@ 300mA) |
![]() | 両端COB LEDストリップ - ホワイト(6500K) | 300mm | 300mA(推奨) | >50 lm(@ 300mA) |
![]() | 片端COB LEDストリップ - ホワイト(6500K) | 110mm | 100mA(推奨) | >23 lm(@ 200mA) |
![]() | 片端COB LEDストリップ - ホワイト(6500K) | 300mm | 100mA(推奨) | >22 lm(@ 100mA) |
入門ガイド
COB LEDドライバーボードの潜在能力を最大限に引き出し、最高の体験を楽しむために、Seeed Studio XIAOボードと当社の対応COB LEDストリップとの組み合わせを強く推奨します。
安全のため:
- Li-ionバッテリーを充電する際は、LEDストリップやその他の周辺機器を取り外してください。
- プログラミングやデバッグ用にUSB-C 5Vを接続する際は、バッテリーを取り外してください。
バッテリー単体または5V外部電源単体の使用は安全です。充電中に周辺機器を接続することは推奨されません。
Arduinoで遊ぶ
XIAO用のArduino環境を設定し、オンボードパッケージを追加する必要があります。
Arduinoを初めて使用する場合は、Arduino入門ガイドを参照することを強く推奨します。
ソフトウェア準備
ステップ1. Arduinoアプリケーションを起動します。

ステップ2. 開発ボードモデルを選択し、Arduino IDEに追加します。
-
後のルーチンでSeeed Studio XIAO RP2040を使用したい場合は、**このチュートリアル**を参照して追加を完了してください。
-
後のルーチンで Seeed Studio XIAO RP2350 を使用したい場合は、このチュートリアル を参照して追加を完了してください。
-
後のルーチンで Seeed Studio XIAO nRF52840 を使用したい場合は、このチュートリアル を参照して追加を完了してください。
-
後のルーチンで Seeed Studio XIAO ESP32-C3 を使用したい場合は、このチュートリアル を参照して追加を完了してください。
-
後のルーチンで Seeed Studio XIAO ESP32-C6 を使用したい場合は、このチュートリアル を参照して追加を完了してください。
-
後のルーチンで Seeed Studio XIAO ESP32-S3 を使用したい場合は、このチュートリアル を参照して追加を完了してください。
-
後のルーチンで Seeed Studio XIAO RA4M1 を使用したい場合は、このチュートリアル を参照して追加を完了してください。
-
後のルーチンで Seeed Studio XIAO MG24 を使用したい場合は、このチュートリアル を参照して追加を完了してください。
XIAO SAMD21 と XIAO nRF54L15 は USB-C 経由で電源供給された場合のみ動作し、バッテリー単体では使用できません。また、nRF54L15 は Arduino 環境では動作しません。
低電力ポートドライバーの例
最大電流 80mA をサポートし、PWM 調光をサポートし、アクティブ LOW ロジック(レベルが低いときに負荷が動作)を使用する低電力ポート。
ステップ 1. ハードウェアの準備
| Seeed Studio XIAO ESP32-C3 | COB LED ドライバーボード | シングルエンド COB LED ストリップ |
|---|---|---|
![]() | ![]() | ![]() |
XIAO をドライバーボードに接続する際は、必ず USB ケーブルを抜いてください。
ステップ 2. 以下に示すように、Seeed Studio XIAO ESP32-C3、XIAO 用 COB LED ドライバーボード、シングルエンド COB LED ストリップを接続します:
-300mm.jpg)

ステップ 3. XIAO を USB フラッシュプログラムに接続します。関連するサンプルスケッチをコピーしてダウンロードします。
#define LED_BUILTIN D2
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, LOW); // turn the LED on by making the voltage LOW
// digitalWrite(LED_BUILTIN, HIGH); // turn the LED off (HIGH is the voltage level)
}
コメント内の「Low-Power Port」はアクティブローを意味します: ピンを LOW にプルしてストリップを ON にし、リリース(HIGH)して OFF にします。
このコードは単純に GPIO ピンを HIGH または LOW に制御します。 ドライバーボードは既に設定されているため、追加のライブラリをダウンロードする必要はありません。 画像リンクに従って、プログラムをアップロードし、COB LED ドライバーボードに電源を供給します。すべてがうまくいけば、次のように見えるはずです:

高電力ポートドライバーの例
最大電流 300mA をサポートし、ON/OFF スイッチ制御のみを許可し(PWM 調光はサポートされていません)、高電力負荷の接続に使用される高電力ポート。
ステップ 1. ハードウェアの準備
| Seeed Studio XIAO ESP32-C3 | COB LED ドライバーボード | ダブルエンド COB LED ストリップ |
|---|---|---|
![]() | ![]() | ![]() |
ステップ 2. 以下に示すように、Seeed Studio XIAO ESP32-C3、XIAO 用 COB LED ドライバーボード、ダブルエンド COB LED ストリップを接続します:
-130mm.jpg)

ステップ 3. XIAO を USB フラッシュプログラムに接続します。関連するサンプルスケッチをコピーしてダウンロードします。
#define LED_BUILTIN D0
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
// digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
}
このコードは単純に GPIO ピンを HIGH または LOW に制御します。 ドライバーボードは既に設定されているため、追加のライブラリをダウンロードする必要はありません。 画像リンクに従って、プログラムをアップロードし、COB LED ドライバーボードに電源を供給します。すべてがうまくいけば、次のように見えるはずです:

低電力ポートドライバー PWM の例
最大電流 80mA をサポートし、PWM 調光をサポートし、アクティブ LOW ロジック(レベルが低いときに負荷が動作)を使用する低電力ポート。 ステップ 1. ハードウェアの準備
| Seeed Studio XIAO ESP32-C3 | COB LED ドライバーボード | シングルエンド COB LED ストリップ | ダブルエンド COB LED ストリップ |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
ステップ 2. 以下に示すように、Seeed Studio XIAO ESP32-C3、XIAO用COB LEDドライバーボード、シングルエンドCOB LEDストリップ、ダブルエンドCOB LEDストリップを接続します:

ステップ 3. XIAOをUSBフラッシュプログラムに接続します。関連するサンプルスケッチをコピーしてダウンロードします。
#include <Arduino.h>
// ================= Define Pins =================
const int PIN_STRIP_1 = D2;
const int PIN_STRIP_2 = D3;
// ================= Parameter Configuration =================
// Breathing speed: larger number = slower, smaller number = faster
const int BREATH_SPEED = 2000;
// Breathing phase offset: determines if the two light strips "light up together" or "alternate lighting"
// float PHASE_OFFSET = 0; // Set to 0 -> fully synchronized
float PHASE_OFFSET = PI; // Set to PI (3.14) -> fully alternating (complementary)
// float PHASE_OFFSET = PI/2; // Set to PI/2 -> slightly staggered rhythm
// ================= Helper Function: Handle Active LOW Lighting Logic =================
// This step is crucial, do not modify
// Input: brightness (0=off, 255=maximum brightness)
void setLedBrightness(int pin, int brightness) {
// 1. Safety limit range
brightness = constrain(brightness, 0, 255);
// 2. Logic inversion (Active LOW)
// Brightness 255 -> Output 0 (GND) -> Light at maximum brightness
// Brightness 0 -> Output 255 (VCC) -> Light off
int pwmValue = 255 - brightness;
analogWrite(pin, pwmValue);
}
// ================= Math Function for Calculating Breathing Brightness =================
// Using the algorithm (e^sin(x) - 1/e), which mimics human breathing curve better than ordinary triangular wave
int calculateBreathBrightness(unsigned long time, float phaseOffset) {
// Calculate angle: time / speed factor
float angle = (time / (float)BREATH_SPEED) * PI;
// Add phase offset
angle += phaseOffset;
// Core formula
float val = (exp(sin(angle)) - 0.36787944) * 108.0;
return (int)val;
}
void setup() {
pinMode(PIN_STRIP_1, OUTPUT);
pinMode(PIN_STRIP_2, OUTPUT);
// Initialization: turn off all lights first
setLedBrightness(PIN_STRIP_1, 0);
setLedBrightness(PIN_STRIP_2, 0);
}
void loop() {
unsigned long currentMillis = millis();
// 1. Calculate brightness for D2 (no offset)
int bright1 = calculateBreathBrightness(currentMillis, 0);
setLedBrightness(PIN_STRIP_1, bright1);
// 2. Calculate brightness for D3 (with offset)
int bright2 = calculateBreathBrightness(currentMillis, PHASE_OFFSET);
setLedBrightness(PIN_STRIP_2, bright2);
// The delay here doesn't need to be too long, just give the CPU a short break
delay(5);
}
これはバッテリー駆動のプロジェクトです。これは呼吸ライトスタイルのコードです。お気に入りの場合は、光らせたい場所でこのスタイルを使用できます。 プログラムをアップロードしてCOB LEDドライバーボードに電源を供給します。すべてがうまくいけば、次のように見えるはずです:

定格電流制限が300mAまたは100mAのLEDストリップは、どちらも最大出力80mAのポートに安全に接続できます(ポートの出力電流≤LEDストリップの電流制限で、安全な冗長性を確保)。ただし、定格電流制限が100mAのLEDストリップは、最大出力300mAのポートに接続することはできません。ポートの最大出力電流がLEDストリップの電流制限を大幅に超えるため、過電流によりストリップが損傷する可能性があります。
ホットプラグは厳禁です! 常にXIAOとドライバーボードを最初に組み立ててから、USBケーブルを接続してください。 XIAOがUSBケーブルに接続されている間は、決して接続を試みないでください。PMICが故障する可能性があります。
ESPHome経由でHome Assistantと連携
ハードウェア準備
| Home Assistantデバイス |
|---|
![]() |
ソフトウェア準備
ESPHomeは、ESPボードの管理を可能な限り簡単にすることを目的としたツールです。YAML設定ファイルを読み込み、ESPデバイスにインストールするカスタムファームウェアを作成します。ESPHomeの設定に追加されたデバイスやセンサーは、Home AssistantのUIに自動的に表示されます。ESPHomeは、データをHome Assistantデバイスに接続して送信するのに役立ちます。
Home AssistantとESPHomeを初めて使用する場合は、Home Assistantのインストールに関するステップバイステップガイドについてこちらをご覧ください。
ESPHomeはHome Assistantアドオンとして利用でき、アドオンストア経由で簡単にインストールできます。

- ステップ 1. INSTALLをクリック

- ステップ 2. すべてのオプションを有効にしてSTARTをクリック

ESPHomeが正常に読み込まれると、次のウィンドウが表示されます

夕暮れから夜明けまでのLEDランプ
概要
夕暮れから夜明けまでのLEDランプのデモを作ってみましょう。ライトは一日を通して光の強度に応じて変化します。興味がある場合は、読み続けてください。

ステップ 1. ハードウェア準備
| XIAO ESP32-C3 | XIAO用COB LEDドライバーボード | Grove - デジタル光センサー | シングルエンドCOB LEDストリップ |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
ステップ 2. Seeed Studio XIAO ESP32-C3、XIAO用COB LEDドライバーボード、シングルエンドCOB LEDストリップ - ホワイトを以下のように接続します:
-300mm.jpg)

ステップ 3. ESPHomeページを開き、+ NEW DEVICEをクリックします

ステップ 4. CONTINUEをクリックします

ステップ 5. デバイスのNameを入力し、Network nameやPasswordなどのWiFi認証情報を入力します。その後、NEXTをクリックします

ステップ 6. ESP32-C3を選択してクリックします
ステップ 7. このボードを手動で設定するため、SKIPをクリックします

ステップ 8. 新しく作成されたボードの下にあるEDITをクリックします

ステップ 9. 以下のコードを.yamlファイルの末尾に部分的にコピーします。XIAO ESP32-C3はGroveデジタル光センサーから光の値を読み取り、光の強度に応じてD2ピンの電流レベルを変更し、ライトバーを制御します
# ----------- Additional section (TSL2561, address 0x29) starts -----------
i2c:
sda: 6
scl: 7
scan: true
# Global variables
globals:
# Record the end timestamp of sensor ignore period (milliseconds)
- id: ignore_sensor_until
type: uint32_t
restore_value: no
initial_value: '0'
# Flag: True means current operation is from sensor
- id: is_robot
type: bool
restore_value: no
initial_value: 'false'
sensor:
- platform: tsl2561
name: "Ambient Light"
address: 0x29
# Ultra-fast response configuration
update_interval: 200ms
integration_time: 101ms
gain: 1X
id: lux
on_value:
then:
- lambda: |-
// 1. Check if in manual control ignore period
if (millis() < id(ignore_sensor_until)) {
return;
}
// 2. Ultra-fast light control logic
bool should_turn_on = (x < 180); // Threshold for turning on (dark)
bool should_turn_off = (x > 220); // Threshold for turning off (bright)
// Get current light state
bool is_currently_on = id(light_strip).remote_values.is_on();
if (should_turn_off && is_currently_on) {
ESP_LOGD("custom", "Environment brightened (Lux: %.1f), sensor auto-off light", x);
// Key: Inform Light component this is automated operation
id(is_robot) = true;
auto call = id(light_strip).turn_off();
call.set_transition_length(1000); // 1 second fade
call.perform();
}
else if (should_turn_on && !is_currently_on) {
ESP_LOGD("custom", "Environment darkened (Lux: %.1f), sensor auto-on light", x);
// Key
id(is_robot) = true;
auto call = id(light_strip).turn_on();
call.set_transition_length(1000); // 1 second fade
call.perform();
}
output:
- platform: ledc
pin: 4
id: pwm_output
frequency: 1000Hz
inverted: true
light:
- platform: monochromatic
output: pwm_output
name: "Light Strip"
id: light_strip
restore_mode: ALWAYS_OFF
default_transition_length: 1s
# Monitor all state changes (on/off/dimming)
on_state:
- lambda: |-
// Check who triggered this state change
if (id(is_robot)) {
// If triggered by Sensor:
ESP_LOGD("custom", "Detected automated operation, not ignoring sensor");
// Task completed, wait for next cycle
id(is_robot) = false;
} else {
// Triggered by human (HA/Switch):
ESP_LOGD("custom", "Detected manual operation, ignoring sensor for 30 seconds");
// Set ignore end time = current time + 30000 milliseconds
id(ignore_sensor_until) = millis() + 30000;
}
Home Assistantの設定では、sda、scl、pinの番号は常にGPIO番号を指し、XIAOボードに印刷されたシルクスクリーンラベルではありません。
ステップ 10. 右上角のInstallボタンをクリックします。その後、最後の項目Manual downloadを選択し、Modern formatを選択します

その後、ダウンロードとコンパイルに長時間かかりますので、お待ちください。すべての準備が整うと、ファームウェア(XX.bin)が自動的にコンピューターにダウンロードされます。コンパイルが成功すると、以下の図のように表示されます

ステップ 11. ESPhome Webツールを使用してXIAO ESP32にファームウェアをアップロードし、CONNECTをクリックします

ポップアップウィンドウでXIAO ESP32のシリアルポートを選択し、INSTALLをクリックして、上記の手順でダウンロードした.binファイルを選択します。


ステップ 12. インストールが成功すると、以下のように表示されます:

光が強いときはナイトライトが消灯し、光が弱いときはナイトライトが点灯します。
ステップ 13. インストールが成功したら、ログを開くとフィードバックメッセージが表示されます。


気に入った場合は、上記の手順に従って、あなただけのユニークなナイトライトを作ることもできます!
ボードコンポーネントは-40°Cから85°Cまで定格されていますが、すべての7チャンネルを最大負荷(合計>1A)で駆動すると、大量の熱が発生します。密閉された空間(例:密閉されたプラスチックモデル内)に設置する場合は、PMICの熱シャットダウン保護の作動を防ぐため、受動的な換気を確保してください。
特別な感謝
3Dプリント作業への貴重な貢献をしてくださったXinyuさんに特別な感謝を申し上げます。
オリジナルデザインは卓越した創造性と実用的価値を示しています。オリジナルデザインをご覧になりたい方は、以下のリンクからデモンストレーション動画と作者のホームページをご利用いただけます。
リソース
[PDF] Seeed Studio COB LEDドライバーボード回路図
[ZIP] Seeed Studio COB LEDドライバーボードPCB
[STEP] Seeed Studio COB LEDドライバーボード3Dモデル
安全注意事項
操作禁止事項と安全規則
- 充電中は周辺機器を接続しないでください。USB-Cケーブルを接続する前に、まずライトバーを取り外してください。
- USB-Cポートをデバッグする際は、バッテリーホルダーを空にしてください(バッテリーを取り付けない)。
- 1A以上のフル負荷電流の場合は、筐体に放熱穴を開けることを確認してください。そうしないと、PMICが過熱してシャットダウンします。
- ボード裏面のPMIC部分を素手で触らないでください:静電気放電(ESD)によりチップが損傷する可能性があり、フル負荷時には表面が火傷するほどの温度に達する場合があります。 コア安全リマインダー
- 安全な操作のために、これら4つの規則を遵守してください:
- 周辺機器接続時は単一電源供給
- 配線/切断前に電源を切る
- 適切な放熱穴を設ける
- ボードの裏面に触れない

よくある質問
Q1. なぜボードが熱くなるのですか?
- ホットスワップ現象が発生するためです。XIAOをUSBに接続してからドライバーボードに再接続する際、この過程で開発ボードの電流経路にショートサーキットが発生し、場合によっては焼損することがあります。
技術サポート & 製品ディスカッション
弊社製品をお選びいただき、ありがとうございます!お客様の製品体験を可能な限りスムーズにするため、さまざまなサポートを提供しております。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルをご用意しています。
-38mm.jpg)
 300mm.jpg)
-110mm.jpg)
-300mm.jpg)



