XIAO ePaper Display Board - EE04 入門ガイド
| XIAO ePaper Display Board EE04 |
|---|
![]() |
はじめに
XIAO ESP32-S3 Plus を搭載したディスプレイボード EE04 は、24 ピンおよび 50 ピンの ePaper ディスプレイの両方をサポートします。JST 2.0 mm バッテリーコネクタ(電源スイッチ付き)、内蔵充電 IC を備え、1 つのリセットボタンと 3 つのユーザーボタンが付属しています。デジタルサイネージ、電子ラベル、携帯型情報ボードなど、低消費電力の ePaper プロジェクトに最適です。
特長
- XIAO ESP32-S3 Plus 搭載: 対応する ePaper ディスプレイに接続するだけで、すぐに動作します。
- 多用途なディスプレイ対応: 幅広い ePaper スクリーンに対応し、24 ピンおよび 50 ピンインターフェースの両方をサポート、ジャンパキャップで簡単に切り替え可能です。
- スイッチ付き BAT コネクタ: シンプルなバッテリー接続を提供し、スイッチを統合することで効率的な電源管理と省エネを実現します。
- ユーザーフレンドリーなボタン: 1 個のリセットボタンと 3 個のユーザープログラマブルボタンを備え、プロジェクトの開発を加速し、柔軟なカスタマイズ機能を提供します。
仕様
| パラメータ | 説明 |
|---|---|
| プロセッサ | XIAO ESP32-S3 Plus |
| ePaper コネクタ | FPC 24 Pin 0.5mm FPC 50 Pin 0.5mm |
| バッテリーコネクタ | JST 2.0mm |
| スイッチ | バッテリー電源 ON/OFF |
| 電源 | - 3.7V リチウムバッテリー - USB Type-C |
| ボタン | - 1x リセットボタン - 3x ユーザーボタン |
ePaper ボード選択ガイド
| 製品 | ePaper Display Board EE04 | ePaper ブレイクアウト | ePaper ドライバボード |
|---|---|---|---|
| プロセッサ | XIAO ESP32-S3 Plus | XIAO シリーズ | XIAO シリーズ |
| 対応 ePaper ディスプレイ | 24 Pin ePaper 50 Pin ePaper | 24 Pin ePaper | 24 Pin ePaper |
| ePaper コネクタ | FPC 24 Pin, 0.5mm FPC 50 Pin, 0.5mm | FPC 24 Pin 0.5mm | FPC 24 Pin 0.5mm |
| バッテリーコネクタ | JST 2.0mm | / | JST 2.0mm |
| スイッチ | バッテリー電源 ON/OFF | / | バッテリー電源 ON/OFF |
| ボタン | 1x リセットボタン 3x ユーザーボタン | / | / |
| 拡張 IO ポート | / | 他のコントローラとの接続 | 追加センサーとの接続 |
応用例
- スマートホームダッシュボード: 天気情報、カレンダーイベント、各種スマートホームデバイスからの通知など、リアルタイム情報を表示します。
- エネルギーモニタリング: スマートメーターからの電力消費データを表示し、家庭でのエネルギー使用状況をより効率的に把握・管理できるようにします。
- セキュリティアラート: 人感検知やドア/窓センサーの作動など、セキュリティイベントに関するアラートや通知を表示します。
- スマートサーモスタットディスプレイ: 温度や湿度レベル、スマートサーモスタットの制御設定を表示します。
- デジタルフォトフレーム: スマートホームネットワーク上の画像を表示できる、WiFi 対応デジタルフォトフレームを作成します。
ハードウェア概要

このバージョンの XIAO ePaper Display Board(ESP32-S3) - EE04 は、NFC 機能をサポートしていません。
対応 ePaper
24 ピンコネクタ
- 1.54-inch ePaper - モノクロ 200x200
- 2.13-inch ePaper - フレキシブルモノクロ 212x104
- 2.13-inch ePaper - 4 色 212x104
- 2.9-inch ePaper - モノクロ 128x296
- 2.9-inch ePaper - 4 色 128x296
- 4.2-inch ePaper - モノクロ 400x300
- 4.26-inch ePaper - モノクロ 800x480
- 5.83-inch ePaper - モノクロ 648x480
- 7.5-inch ePaper - モノクロ 800x480
- 7.5-inch ePaper - 3 色 800x480

XIAO ePaper Display Board を使用する際は、ePaper ディスプレイの種類に応じてジャンパを必ず設定してください。
- 24 Pin ePaper ディスプレイの場合 → ジャンパを 24 Pin に設定します
⚠️ ジャンパ設定を誤ると、ePaper が表示されなかったり、異常な内容が表示されたりする可能性があります。電源を入れる前に、必ずジャンパ位置を再確認してください。
50 ピンコネクタ

XIAO ePaper Display Board を使用する際は、ePaper ディスプレイの種類に応じてジャンパを必ず設定してください。
- 50 Pin ePaper ディスプレイの場合 → ジャンパを 50 Pin に設定します
⚠️ ジャンパ設定を誤ると、ePaper が表示されなかったり、異常な内容が表示されたりする可能性があります。電源を入れる前に、必ずジャンパ位置を再確認してください。
ソフトウェア概要
Seeed GFX ライブラリのインストール
このライブラリは TFT ライブラリと同じ機能を持ちますが、互換性はありません。TFT ライブラリや類似のディスプレイライブラリをインストールしている場合は、先にアンインストールしてください。
GitHub から Seeed GFX ライブラリをダウンロードしてインストールします。

スクロールダウンして、このリンクを開きます。

デバイスタイプを選択すると、いくつかのコードが生成されます。そのコードをコピーしておき、後で使用します。
誤った選択をすると、画面には何も表示されません。
そのため、ご使用のデバイスやコンポーネントの種類を必ず確認してください。

ライブラリをダウンロードしたら、Sketch -> Include Library -> Add .ZIP Library に進み、ダウンロードしたライブラリを選択します。

基本的なサンプルが 4 つあります。好みの基本サンプルを開きます。
- Bitmap: ビットマップ画像を表示します。
- Clock: アナログ時計を表示します。
- Clock_digital: デジタル時計を表示します。
- Shape: さまざまなサイズの文字や図形をランダムに表示します。

使用開始
ここでは、5.83 インチディスプレイを例として使用します。手順はすべての 24 ピンスクリーンで同じで、違いはドライバ内で適切な画面サイズを選択する点だけです。
新しい "driver.h" ファイルを作成し、先ほどのコードを貼り付けます。コードは次のようになります。

#define BOARD_SCREEN_COMBO 503 // 5.86 inch monochrome ePaper Screen (UC8179)
#define USE_XIAO_EPAPER_DISPLAY_BOARD_EE04
その後、Tools -> Board -> XIAO ESP32S3 および Tools -> Port -> ボードが接続されているポートを選択 に移動します。次に Upload をクリックしてコードを書き込みます。

これで、ePaper 画面にフィードバックが表示されます!以下は Helloworld サンプルの結果です。
⚠️ 注意:ePaper ケーブルの向き ePaper ディスプレイを XIAO ePaper Display Board に接続する際は、FPC ケーブルが正しい向きで挿入されていることを確認してください。
⚠️ コネクタを逆向きにしないでください!ケーブルを上下逆さまに挿入すると、ePaper が表示されなくなったり、画面やボードを破損したりする可能性があります。 下図は正しい接続例です:

XIAO ePaper Display Board(ESP32-S3) - EE04 のユーザーボタン
EE04 には、さまざまな制御用途に使用できるユーザー設定可能なボタンが 3 つ搭載されています。このセクションでは、Arduino を使用してボタンの状態を読み取り、ボタン押下に応答する方法を説明します。
EE04 では、3 つのボタンは XIAO ESP32-S3 Plus に次のように接続されています:
| KEY1 | KEY2 | KEY3 |
|---|---|---|
| GPIO2_D1/A1 | GPIO3_D2/A2 | GPIO5_D4/A4 |
すべてのボタンはアクティブ Low であり、押されているときは LOW、離されているときは HIGH を読み取ります。
基本的なボタン読み取りの例
この例では、ボタン押下を検出し、シリアルモニタにメッセージを出力する方法を示します。

// reTerminal E Series - Button Test
// Based on hardware schematic
// Define button pins according to schematic
const int BUTTON_KEY0 = 2; // KEY0 - GPIO2
const int BUTTON_KEY1 = 3; // KEY1 - GPIO3
const int BUTTON_KEY2 = 5; // KEY2 - GPIO5
// Button state variables
bool lastKey0State = HIGH;
bool lastKey1State = HIGH;
bool lastKey2State = HIGH;
void setup() {
// Initialize serial communication
Serial.begin(115200);
while (!Serial) {
delay(10); // Wait for serial port to connect
}
Serial.println("=================================");
Serial.println("Press any button to see output");
Serial.println();
// Configure button pins as inputs
// Hardware already has pull-up resistors, so use INPUT mode
pinMode(BUTTON_KEY0, INPUT_PULLUP);
pinMode(BUTTON_KEY1, INPUT_PULLUP);
pinMode(BUTTON_KEY2, INPUT_PULLUP);
// Read initial states
lastKey0State = digitalRead(BUTTON_KEY0);
lastKey1State = digitalRead(BUTTON_KEY1);
lastKey2State = digitalRead(BUTTON_KEY2);
Serial.println("Setup complete. Ready to detect button presses...");
}
void loop() {
// Read current button states
bool key0State = digitalRead(BUTTON_KEY0);
bool key1State = digitalRead(BUTTON_KEY1);
bool key2State = digitalRead(BUTTON_KEY2);
// Check KEY1
if (key0State != lastKey0State) {
if (key0State == LOW) {
Serial.println("KEY0 (GPIO2) pressed!");
} else {
Serial.println("KEY0 (GPIO2) released!");
}
lastKey0State = key0State;
delay(50); // Debounce delay
}
// Check KEY2
if (key1State != lastKey1State) {
if (key1State == LOW) {
Serial.println("KEY1 (GPIO3) pressed!");
} else {
Serial.println("KEY1 (GPIO3) released!");
}
lastKey1State = key1State;
delay(50); // Debounce delay
}
// Check KEY3
if (key2State != lastKey2State) {
if (key2State == LOW) {
Serial.println("KEY2 (GPIO5) pressed!");
} else {
Serial.println("KEY2 (GPIO5) released!");
}
lastKey2State = key2State;
delay(50); // Debounce delay
}
delay(10); // Small delay to prevent excessive CPU usage
}
XIAO ePaper Display Board(ESP32-S3) - EE04 のバッテリー使用
バッテリー駆動時:
-
デバイスはリフレッシュの合間に自動的に低消費電力モードに入ります
-
バッテリー寿命はリフレッシュ頻度に依存します(デフォルト設定でフル充電時、通常は約 3 か月)
-
バッテリー残量が 20% 未満になると、デバイスは右上隅にバッテリー低下アイコンを表示します
自分でコードを書いてバッテリー電圧を読み取りたい場合は、analogRead() 関数の前に 10ms のディレイを追加すると、より正確になります。

#define VOLTAGE_PIN A0 //GPIO1
#define ADC_ENABLE_PIN A5 //GPIO6
void setup() {
Serial.begin(115200);
delay(10);
pinMode(VOLTAGE_PIN, INPUT);
pinMode(ADC_ENABLE_PIN, OUTPUT);
digitalWrite(ADC_ENABLE_PIN , HIGH);
}
void loop() {
analogReadResolution(12);
int adcValue = analogRead(VOLTAGE_PIN);
float voltage = (adcValue / 4096.0) *7.16;
Serial.print("ADC Value: ");
Serial.print(adcValue);
Serial.print(" Voltage: ");
Serial.print(voltage, 3);
Serial.println(" V");
delay(10);
}
XIAO ePaper Display Board (ESP32-S3) - EE04 にカスタム画像を表示する
GFX ライブラリ内で Bitmap のサンプルを見つけて選択します。

プロジェクトディレクトリ内に driver.h ファイルを作成する必要がある点に注意してください。詳細については、クリックして詳しく見る。.

次に、https://sensecraft.seeed.cc/hmi/tools/dither にある SenseCraft HMI Tool にアクセスし、表示したい画像をアップロードします。

画像をアップロードしたら、C 配列(画像データ)を生成します。

配列の内容をコピーします。このとき、16 進データのみをコピーし、不要な文字を含めないよう注意してください。
表示される色が元のデザインと比べて反転して見える場合は、コードを生成する前に HMI ツールで Invert Colors オプションを選択してください。

Arduino スケッチ内の image.c または image.h ファイルにある既存の配列を、コピーした配列で上書きします。

最後に、プログラムを XIAO ESP32-S3 に書き込みます。これで、ePaper 画面にカスタム画像が表示されるはずです。

リソース
- [PDF] Seeed Studio XIAO ePaper Display EE04 回路図
- [PDF] Seeed Studio XIAO ePaper Display EE04 Grabcad 3D ファイル
- [ZIP] Seeed Studio XIAO ePaper Display EE04 SCH&PCB
技術サポート & 製品ディスカッション
弊社製品をお選びいただきありがとうございます。私たちは、製品をできるだけスムーズにご利用いただけるよう、さまざまなサポートを提供しています。お好みやニーズに応じて選べる複数のコミュニケーションチャネルをご用意しています。
