はじめに
Raspberry pi picoとPimoroni Pico DisplayからGUDドライバ対応のミニサブディスプレイを作成しました。レポジトリ内を探索していると、ISSUESに興味深い書き込みがありました。
ili9340用コントローラを搭載したLCDとESP32-S3でもミニサブディスプレイを作成できたとの情報です。pico-gudを移植していて、表示データが多いとクラッシュするので、解決するためのアドバイスを求めています。実際に、どのように動作するのか、ためしてみました。
本稿には、「LILO&東海道らぐオフラインミーティング 2024-01-28」の発表内容を含みます。
ESP32-S3
特徴として、OTG(On-The-Go)及びCDC(Communications Device Class)のサポートがあります。このサポートのおかげで、USB接続で利用できるガジェットとして使えます。
私は、Freenove-カメラボードESP32-S3-WROOMを利用しました。
アプリケーションのビルド
アプリケーションのビルド法は、レポジトリに記載されています。
私はUbuntsu環境で行いましたので、LinuxとMacOS用の手順に従いました。
その後、githubのレポジトリをクローンして、README.mdどおりに、対象ボードへの設定、ビルド、ボードへの書き込みを行います。
配線
ここでは、「Freenove-カメラボードESP32-S3-WROOM」を利用する際の注意点を記します。
レポジトリのREADME.mdの9番目の項目には、以下の表に示すように、USBケーブルとGPIO端子の接続方法が記載されています。
TFT LCD Connection | ESP32-S3 GPIO |
---|---|
SCK | GPIO 7 |
SDI (MOSI) | GPIO 6 |
CS | GPIO 11 |
DC | GPIO 12 |
Reset | GPIO 47 |
Backlight | GPIO 48 |
USB D- | GPIO 19 |
USB D+ | GPIO 20 |
今回使用しているボードには、USB-OTG用のUSB C端子がありますので、GPIO19とGPIO20に配線せずに、このUSB C端子を使って、Linuxマシンに接続します。
LCDの接続は、上記の表に従って行います。
UbuntuのSettingsからDisplaysを表示すると、私のLinuxマシン上では、「WAT 3”」と表示されます。
おわりに
ESP32-S3とLCDの組み合わせで、Linuxマシン用のUSB接続サブディスプレイを作成しました。
ESP32-S3搭載のボードにはあらかじめ、LCDが接続されているボードもありますので、そのようなボードを使うと、コンパクトにまとまったサブディスプレイを作成できるかと思います。
7インチぐらいの液晶付きのものがあると、実用度が上がると想像しています。