開発中正式リリース前です。機能とデータは予告なく変わることがあります。

ESP32-WROOM オンボード — モジュールが認証を代わりに持っている

なぜベアチップではなくモジュールなのか、KC・技適・FCC・CE はどこに付くのか、EN・IO0 のサポート回路とストラップピンの警告、アンテナ配置のルール。

7 分で読める更新 2026年9月8日

L3 量産変換で最も多く選ばれるターゲットが ESP32-WROOM-32 です。このガイドでは、モジュールを基板に直接実装するときに ibouPCB が何を自動で入れ、何を警告し、認証についてユーザーが何を知っておくべきかをまとめます。

なぜベアチップではなくモジュールなのか

ESP32 チップ単体を使うには、40 MHz 水晶、フラッシュ、RF マッチングネットワーク、アンテナ、電源シーケンスを自分で設計し、無線認証も自分で取得しなければなりません。ESP32-WROOM-32 モジュールはこれらすべてを金属シールドの中にカプセル化した部品です。ユーザーが描くのはモジュール + 3.3 V 電源 + コネクタ + センサーインターフェースだけで、2 層基板とオートルーティングで十分です。ベアチップ完全統合は ibouPCB の範囲外です。

認証 — モジュールが持っているものと持っていないもの

ESP32-WROOM-32 は KC(韓国)、技適(日本)、FCC(米国)、CE(欧州)のモジュール認証を保有しています。カタログの certification { kc, giteki, fcc, ce } フィールドがこれで、L3 ターゲット選択時には認証保有モジュールが優先して提示されます。

  • 無線(RF)認証はモジュールに付きます。モジュールを改造せず、アンテナを変えず、データシートのリファレンスどおりに実装すれば、最終製品で RF 試験をやり直さなくてよい場合がほとんどです。
  • 完成品の認証は別です。販売製品であれば、KC 適合性評価・技適表示・CE 宣言など完成品段階の手続きが引き続き必要です。モジュール認証はその手続きを大幅に簡素化するだけで、代替するものではありません。
  • 認証を無効にするもの: 外部アンテナへの交換(モジュールの変形により別途認証が必要)、シールドの除去、データシート外の送信出力設定。
Production ティアの認証チェックリストは、販売国ごとに何がモジュール認証でカバーされ、何が残るかを項目で示します。法的助言ではなくチェックリストです — 最終確認は認証機関と行ってください。

自動で入るサポート回路

部品なぜ
3.3 V レギュレーターAMS1117-3.3 または同等品、入力 10 µF / 出力 10 µF + 100 nFESP32 は Wi-Fi 送信時に瞬間 500 mA を引き込みます。3.3 V レールには最低 500 mA の余裕が必要です
EN プルアップ + コンデンサ10 kΩ + 0.1 µF電源が安定したあとにリセットが解除されるよう RC 遅延。ないとコールドブートが不安定になります
3V3 デカップリング10 µF + 0.1 µF(モジュールピンのそば)送信パルス電流の吸収
IO0 プルアップ(警告)10 kΩ または内部プルアップ + ボタン起動時に IO0 が LOW だとダウンロードモードに入ります
UART プログラミングヘッダーTX・RX・EN・IO0・3V3・GNDL3 基板には USB-Serial がありません。最初のファームウェアを書き込む経路が必要です

IO0 プルアップは興味深い事例です。ゴールデンパターンのコーパスに Olimex ESP32 ボード 4 種をインポートしたとき、EN 10 k プルアップと 3V3 バルクコンデンサは手書きのパターンと一致しましたが、IO0 の外部プルアップは 4 ボードすべてにありませんでした(ボタン + 内部プルアップで十分)。そのため IO0 プルアップの欠落は error ではなく warning です。検証器はこのように実際のボードを根拠に調整されます。

ストラップピン — コードで使っていたピンが再割り当てされる理由

ESP32 はリセット直後にいくつかの GPIO のレベルを読んで起動方式を決めます。そのピンにセンサーや LED が付いていると、起動が変わったり失敗したりします。P4 ERC の「ブートストラップピンの誤用」ルールがこれを検出して警告し、別のピンを提案します。

  • IO0 — 起動時に LOW だとダウンロードモード。起動時に LOW を作りうる負荷(例: アクティブ LOW のリレー入力)を付けないでください。
  • IO2 — ダウンロードモード進入時に LOW またはフローティングである必要があります。オンボード LED 程度なら問題ありません。
  • IO12 (MTDI) — 起動時に HIGH だと内部フラッシュ電圧が 1.8 V に設定され、3.3 V フラッシュのモジュールが起動しません。外部プルアップ禁止。
  • IO15 (MTDO) — 起動ログ出力の有無。LOW だと起動メッセージが消えます。
  • IO6–IO11 — 内部フラッシュに接続されています。絶対に使用しません。カタログで割り当て対象から除外されています。
  • IO34–IO39 — 入力専用。内部プルアップ・プルダウンがなく、出力できません。ボタンを付けると外部プルアップが自動挿入されます。

レイアウト — アンテナ

モジュール端の PCB アンテナの下と周囲に銅があると放射性能が大きく低下し、認証条件からも外れます。ibouPCB の配置器は Espressif のガイドどおりにモジュールのアンテナ端を基板の縁に合わせ、アンテナのキープアウトをすべての銅層のルールエリアとしてミラーし、下面の GND ベタからも除外します。実測例(温度 + リレー、32 部品・21 ネット)はこのルールで 83 × 46 mm、DRC 0 件で完走しました。

3.3 V ロジック

ESP32 の GPIO は 3.3 V です。Arduino Uno で使っていた 5 V モジュール(HC-SR04 ECHO、5 V リレーモジュール、一部の OLED)はそのまま接続できず、変換器が分圧器・レベルシフター・ドライバトランジスタを入れます。一覧に「なぜ?」が併せて表示されます。

シミュレーション

ESP32 にはブラウザエンジンがないため、サーバーの Espressif QEMU(別プロセス)が動かします。ターゲットビルドは DIO フラッシュモードでコンパイルされ、4 MB の merged.bin がそのままフラッシュとして起動します。GPIO エッジと UART 出力がキャプチャされ、P8 回帰に使われます。Wi-Fi と Bluetooth はシミュレーションされません — ロジックゲートは GPIO・UART・I²C レベルの検証です。