Seeed Studio XIAO ESP32C6 で温湿度センサーを使う方法
この記事では、Seeed Studio XIAO ESP32C6とMicroPythonを使って温度センサーの値を取得する方法を解説します。
この記事で学べること
- I2Cインタフェース
- Seeed Studio XIAO ESP32C6と温湿度センサーの接続方法
- MicroPythonのコード例
- 測定データの確認方法
ステップごとの解説
- 必要な部品を準備する
今回は、Seeed Studio社のXIAO ESP32C6を使います。
XIAO ESP32C6は、Amazon、スイッチサイエンス社、マルツエレック社などで購入することができます。 - MicroPythonをインストールする
下記の記事を参考にMicroPythonをインストールしてください。
Seeed Studio XIAO ESP32C6
- 温湿度センサーを準備する
今回は温湿度センサーとして、ボッシュ(BOSCH)製総合環境センサBME680を使用したセンサーモジュールを使います。温度、湿度、圧力(気圧)に加えガス(有機溶剤、アルコール等)の検出が可能です。基板上にI2CレベルコンバータICを実装しているので、Seeed Studio XIAO ESP32C6とはI2Cインタフェース接続となります。
センサーモジュールのマニュアルはここにあります。

- I2Cインタフェースとは
下記の記事に説明がありますのでご覧ください。
ESP32のMicroPythonで温湿度センサーを使う方法
- Seeed Studio XIAO ESP32C6のI2Cインタフェース
Seeed Studio XIAO ESP32C6のI2CインタフェースであるSDAとSCLは下図をみると、GPIO22がSDA、GPIO23がSCLであることがわかります。

- Seeed Studio XIAO ESP32C6とBME680モジュールとの接続
BME680のSDAとSeeed Studio XIAO ESP32C6のSDA(GPIO22)、BME680のSCLとSeeed Studio XIAO ESP32C6のSCL(GPIO23)を接続します。

- BME680モジュールとSeeed Studio XIAO ESP32C6をワイヤーで接続する
下表と写真を参考に接続します。
|
Seeed Studio XIAO ESP32C6 |
BME680 |
|
GND |
GND |
|
D4(GPIO22) |
SDA |
|
D5(GPIO23) |
SCL |
|
3.3V-OUT |
VIN |

- Seeed Studio XIAO ESP32C6をPCに接続する
Seeed Studio XIAO ESP32C6とPCをUSBケーブルで接続します。接続できているか確認します。
ls -l /dev/tty.usbmodem*
crw-rw-rw- 1 root wheel 0x9000004 7月 11 11:14 /dev/tty.usbmodem11101
- VSCodeで以前、作ったプロジェクトを選択する
VSCodeを起動して、以前、作ったプロジェクトを選択します。

- エディタで新しいファイルを作成する
左側のエクスプローラにて右クリックして、「新しいファイル」を選択します。ファイル名を入力する欄が表示されるので、適当に名前を入力します。今回は、「temper.py」としました。

- BME680のドライバをインストールする
BME680には簡単に使えるようにドライバが公開されているので、インストールします。
モジュールはここにあるので、bme680.pyをダウンロードします。
ダウンロードしたら、bme680.pyをプロジェクトフォルダに保存します。保存したら、bme680.pyを選択して、右クリックから、「Upload file to Pico」をクリックすると、bme680.pyがSeeed Studio XIAO ESP32C6内に保存されます。

- 下記コードをエディターで記入する
「temper.py」を選択すると、エディター画面が開くので、下記コードを記入して保存します。
from machine import Pin, I2C
import bme680
i2c = I2C(sda=Pin(22), scl=Pin(23))
bme = bme680.BME680_I2C(i2c)
print("temperature : %s" % bme.temperature)
print("humidity : %s" % bme.humidity)
print("pressure : %s" % bme.pressure)
print("gas : %s" % bme.gas)
- 「temper.py」を実行する
左のエクスプローラにて、「temper.py」を選択して、右クリックから、「Run current file on Pico」をクリックすると、REPL画面に下記のように、温度、湿度、圧力(気圧)、ガスが表示されます。
温度:temperature、湿度:humidity、圧力(気圧):pressure、ガス:gas
MicroPython v1.28.0 on 2026-04-06; Seeed XIAO ESP32C6 with ESP32C6
Type "help()" for more information or .help for custom vREPL commands.
>>>
temperature : 30.38547
humidity : 64.474208
pressure : 1014.67336
gas : 14287
>>>
まとめ
ESP32とMicroPythonを使えば、シンプルなコードで温度センサーを動かせます。応用すればIoTデバイスに簡単に組み込めます。
