連載一覧
- 第1回:プロジェクト概要
- 第2回:ESP32-S3 の環境構築
- 第3回:I/O の実装(ADC / PWM / DIO)
- 第4回:通信プロトコル(JSON コマンド)
- 第4.5回:デバイス化対応
- 第5回:Python アプリの API 実装
- 第6回:デバイスとしてまとめる(設計編)
- 第7回:実装編・応用編(GUI / アプリ化 / 拡張の可能性)
はじめに
前回は、ESP32‑S3 を 24V 産業信号に対応した I/O デバイスとして成立させるための設計方針をまとめました。
今回はその続きとして、基板の実装・ケース組み込み・GUI アプリ化と GUI を使った動作確認 を紹介します。
実機での確認まで進めることで、設計編で検討した内容を「実際に使える形」へ落とし込みます。
また、最後に 今後の拡張の可能性 についても触れます。
1. 基板の実装
回路図
部品表
合計金額:約 2,705 円
| Reference | 一般名称 | 型式 / 値 | Qty | 単価(円) | 小計(円) |
|---|---|---|---|---|---|
| U1 | マイコンモジュール | ESP32-S3-DevKitC-1 | 1 | 1639 | 1639 |
| RV1, RV2 | 可変抵抗(トリマ) | 10kΩ 可変抵抗 | 2 | 50 | 100 |
| R1–R2 | 抵抗(固定抵抗) | 15kΩ | 2 | 1.5 | 3 |
| R9–R14 | 抵抗(固定抵抗) | 100kΩ | 6 | 1.5 | 9 |
| R3–R8 | 抵抗(固定抵抗) | 680Ω | 6 | 1 | 6 |
| R21–R26 | 抵抗(固定抵抗) | 47kΩ | 6 | 1.5 | 9 |
| R15–R20, R27–R34 | 抵抗(固定抵抗) | 10kΩ | 14 | 1 | 14 |
| Q1–Q12 | NPN トランジスタ | 2SC1815 | 12 | 5 | 60 |
| J1–J6 | ターミナルブロック(2ピン) | Terminal Block 2pin | 13 | 29.75 | 386.75 |
| D3 | ショットキーダイオード | 1N5819 | 1 | 10 | 10 |
| D4–D9 | ツェナーダイオード(3.6V) | BZX55C3V6 | 6 | 5 | 30 |
| PCB | プリント基板(PCB) | 基板製造 | 1 | 437.8 | 437.8 |
基板の外観
基板は JLCPCB で注文しました。
最低購入数量が5枚だったので、4枚持て余してます…
<実装前>
<実装後>
2. ケースへの組み込み
FreeCAD で設計し、3D プリンタで造形したケースに組み込みます。
- USB 位置に合わせた開口
- ターミナルブロックが外に出る構造
- タカチ DRP5‑9W に取り付け可能な裏面形状
3. GUI(PySide6)による操作パネル
Python API を使えば、GUI アプリとして I/O を操作するツールも作れます。
GUI の構成例
- デバイス一覧(接続先)
- DIO 状態表示
- ADC 表示
- PWM スライダー、周波数設定
- ログ表示
テスト用GUI
このような GUI を用意することで、コードを書かずに I/O を操作できる環境が整います。
今回はこちらの記事で紹介した pyside6stylekit というライブラリを使用しています。
「PySide6 のデザイン設定に悩んだので、自作 UI キット「PySide6StyleKit」を作ってみた」 <公開リポジトリ>
基本操作
-
専用のファームウェアを書き込んだESP32-S3をPCにUSB接続し、「再読込」をクリック
※ファームウェアはリンク先の ESP32_S3_IO_DEVICE です。 -
あとは実際に入出力にモノをつなげば動作します。
4. GUI を使用した動作確認
入出力を3.3Vで動かす場合は、24V の代わりに COM+ と J5 の 3.3V をつなぐだけでOKです。
こちらの動画で紹介しています。
5. 拡張の可能性(Wi‑Fi 化・ロギング強化)
ここからは 今後の発展ポイント(未実装) です。
本記事では実装しませんが、ESP32‑S3 の機能を活かして以下の拡張が可能です。
Wi‑Fi 化の可能性
ESP32‑S3 を Wi‑Fi に接続し、TCP や WebSocket を使って
ネットワーク I/O デバイスとして利用することもできます。
ロギング強化の可能性
- 長期ロギング
- ネットワーク越しの収集
- クラウド連携
- Web ダッシュボードとの統合
まとめ
- 基板の実装とケース組み込みが完了し、デバイスとしての形が整いました。
- GUI を用いた I/O 動作確認を行い、産業信号を安全に扱えることを確認しました。
- GUI によって操作性が向上し、コードを書かずに I/O を扱える環境が整いました。
- Wi‑Fi 化やロギング強化など、今後の拡張の可能性も見えてきました。
今後考えていること
本連載は今回で一区切りですが、今後は今回触れた「拡張の可能性」を実装していく予定です。
- Wi‑Fi 化(TCP / WebSocket)
- ロギング強化(長期保存・可視化の整備)
- ネットワーク I/O デバイスとしての運用検証
進展があれば、別記事としてまとめる予定です。








