0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ESP32‑S3 × Python で作る小型I/Oデバイス(第1回:プロジェクト概要)

0
Last updated at Posted at 2026-02-24

連載一覧

はじめに

中小企業の“ちょっとした困りごと”を解決したい

中小企業の現場では、ちょっとした設備の制御やデータ取得をしたい場面がよくあります。
しかし、専用機器は高価で、Visual Studio などの商用開発環境を導入するのもコストがかかります。

「もっと手軽に、もっと安く、必要な I/O を扱える仕組みが欲しい」

そんな現場の声に応えるために、
ESP32‑S3 と Python を組み合わせた “小型I/Oデバイス” を自作するプロジェクト を始めました。


なぜ ESP32‑S3 なのか

ESP32‑S3は安価で入手しやすく、USB シリアルを標準搭載しているため、
追加の変換基板なしで PC と通信できます。
ADC / PWM / デジタル I/O も豊富で、小型 I/O デバイスのベースとして最適です。

  • 低コスト
  • USB 直結
  • I/O が豊富
  • Wi‑Fi / BLE に拡張可能
  • 無償の開発環境(Arduino / ESP-IDF)

今回は ESP32‑S3‑WROOM‑1 モジュールを搭載した開発ボード「ESP32‑S3‑DevKitC‑1(互換品)」を使用します。
ESP32-S3.jpeg


なぜ Python なのか

中小企業では Visual Studio の導入コストがネックになることがあります。
そこで今回は、すべて無償で揃えられる VS Code + Python を採用しました。

  • VS Code:無料
  • Python:無料
  • シリアル通信が簡単
  • GUI やロギングまで Python だけで作れるので、将来的にアプリとしてまとめやすい。
  • コードが読みやすく、引き継ぎやすい

現場で「ちょっと動かしたい」「手軽にデータ収集したい」というニーズに非常に向いています。

このプロジェクトで目指すもの

最終的には、以下のような 扱いやすい小型 I/O デバイス を完成させます。

ハードウェア、通信プロトコル、Python API まで一貫して設計します。

項目 内容
ベース MCU ESP32‑S3
アナログ入力 2 ch
PWM 出力 2 ch
デジタル入力 6 ch
デジタル出力 6 ch
通信方式 USB シリアル(Wi‑Fi/TCP に拡張可能)
制御方法 Python アプリから読み書き可能

「安くて、簡単で、現場で使える」
そんな I/O デバイスを自分で作れるようになるのが、このシリーズのゴールです。

全体アーキテクチャ

Python アプリ
 ↓(USB シリアル通信 / JSON コマンド)
ESP32-S3
 ↓(I/O 制御)
ADC / PWM / デジタル入出力

Python 側は「Device クラス」を用意し、
ESP32 側は JSON コマンドを受け取って処理するだけのミニマル構成にします。

今後の連載予定

第1回:プロジェクト概要(この記事)

・目的とコンセプト
・全体アーキテクチャ
・最終ゴール(小型 I/O デバイス)

第2回:ESP32‑S3 の環境構築

・開発環境の準備(Arduino / ESP-IDF)
・ファームウェア書き込み
・USB シリアル接続
・最小動作確認(LED 点滅など)

第3回:I/O の実装(ADC / PWM / DIO)

・ピンマップ
・ADC / PWM / デジタル I/O の実装
・動作テスト

第4回:通信プロトコル(JSON コマンド)

・JSON コマンド仕様
・ESP32‑S3 側の受信ループ
・レスポンス形式
・デバッグ方法

第5回:Python アプリの API 実装

・Device クラス設計
・read_adc / set_pwm / read_dio / write_dio
・例外処理とタイムアウト
・簡易テストツール

第6回:デバイスとしてまとめる(設計編)

・ケース設計(3D プリントなど)
・配線と固定
・基板設計と回路のまとめ

第7回:実装編・応用編(GUI / アプリ化 / 拡張の可能性)

・基板の実装(はんだ付け・ケース組み込み)
・Python API を使った I/O 動作確認
・簡易 GUI(PySide)での制御アプリ作成
・拡張の可能性(Wi‑Fi / TCP、ロギング)

次回予告

次回は、ESP32‑S3 に最小限のファームウェアを書き込み、
USB シリアル経由で PC と通信できるところまで動作確認します。

・開発環境の準備
・ファームウェア書き込み
・USB シリアル接続
・簡単な I/O 動作テスト(LED 点滅など)


📘 ESP32-S3 IO デバイス連載のまとめ記事はこちら
👉 https://qiita.com/Noritama-Lab/items/cae87dc4cd67fe438c82

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?