LED用ESP32
ESP32 — LED用の定番マイクロコントローラ
ESP32は、WiFiとBluetoothを統合した低コスト・低消費電力のマイクロコントローラです。デュアルコアプロセッサ、豊富なGPIO、I2Sペリフェラルにより、DIY LEDプロジェクトで最も人気のあるチップとなっています。

技術仕様
| パラメータ | ESP32 | ESP32-S3 | ESP32-C3 |
|---|---|---|---|
| アーキテクチャ | Xtensa デュアルコア LX6 | Xtensa デュアルコア LX7 | RISC-V シングルコア |
| 最大クロック | 240 MHz | 240 MHz | 160 MHz |
| WiFi | 802.11 b/g/n | 802.11 b/g/n | 802.11 b/g/n |
| Bluetooth | BLE 4.2 + Classic | BLE 5.0 | BLE 5.0 |
| GPIO | 34 | 45 | 22 |
| SRAM | 520 KB | 512 KB | 400 KB |
| Flash | 4–16 MB | 8–32 MB | 4–16 MB |
| USB OTG | なし | あり | なし |
ESP32がLEDに最適な理由
- WiFi内蔵 — Art-Net、sACN、DDPをワイヤレスで受信。イーサネットシールド不要
- I2Sペリフェラル — 高密度マトリックス向けに並列LED出力(8~16データライン)を駆動
- デュアルコア — コア0でWiFiスタック、コア1でLEDデータをタイミンググリッチなしで実行
- 低コスト — ESP32開発ボードは3~5ドルから
- RMTペリフェラル — ハードウェア高速化WS2812Bタイミング、ビットバン不要
人気のLEDファームウェア
| ファームウェア | 最適用途 | 出力対応 |
|---|---|---|
| WLED | 汎用LED制御、エフェクト、Web UI | WS2812B、SK6812、APA102、WS2815 |
| ESPixelStick | E1.31 / Art-Net → ピクセル変換 | WS2811、WS2812B、WS2815、GS8208 |
| ESPHome | Home Assistant連携、スマート照明 | FastLED経由で全LEDタイプ |
| Tasmota | MQTTベース自動化、センサー+LED組み合わせ | WS2812B、SK6812、PWM |
| FastLED | カスタムLEDアート、アニメーション(Arduinoフレームワーク) | 100種類以上のチップ |
ピン割り当てのヒント
| 機能 | 推奨GPIO | 注意事項 |
|---|---|---|
| LEDデータ出力 | GPIO 2、4、5、12~18 | GPIO 6~11は避ける(フラッシュ接続) |
| I2S並列データ | GPIO 2~21(連続ブロック) | WLEDのマルチチャンネル出力で使用 |
| ボタン | GPIO 0(BOOT) | プルアップ、注意して使用 |
| UART | GPIO 1(TX)、GPIO 3(RX) | プログラミングに使用されることが多い |
| 電源 | 3.3V(ロジック)、5V(ボード入力) | 3.3VピンからLEDを駆動しないこと |
重要事項
- ESP32のロジックは3.3Vで動作 — 5V LEDデータラインにはレベルシフタ(例:74HCT245)を使用
- ESP32はLED電源ラインではなく、安定化5V電源から給電
- LED電源ラインのストリップ近くに100~1000µFのコンデンサを配置
- 長距離WiFiには外部アンテナが効果的(ESP32-WROOMにはu.FLバリエーションあり)