
黄色い基板にタッチ液晶を載せたESP32モジュール「Cheap Yellow Display」(CYD、型番ESP32-2432S028)は1個10ドル前後で手に入り、電子工作界隈で人気を持つ。Appropriate-Ask8817氏(GitHub: circularchickenthatcodes)は、このCYDをBLEキーボード接続で単体開発まで完結できる携帯コンピュータに仕立てる自作OS「S3_OS_for_CYD」をGitHubに公開した。プロジェクトごとにメニューや入力処理を書き直すことに疲れたのが動機だという。
最大の特徴は、Lua 5.1仮想マシンを組み込み、SDカードに置いたスクリプトを再書き込みなしで実行できる点にある。画面描画、音声再生、タッチ/キーボード入力はLuaから直接呼び出せるAPI(drawImg、getTouch、playSound、isKeyDownほか)として提供される。SDカードの/apps/に表示名を記した.gameファイル、main.lua、icon.jpgの構成でアプリを置くと、OSが自動検知してアイコン式のデスクトップに表示する。サンプルとしてSnakeやInvadersが付属する。
デバイス単体での開発を可能にするのが内蔵コードエディタだ。BLEキーボードを接続するとソースコードの直接編集ができ、ファイルエクスプローラからShift+Enterで呼び出せる。キーボードはtargetDeviceName変数の値を自分のBLEキーボード名に書き換えてから書き込む仕様だ。ファイル管理はNew File、Delete、Rename、MkDirなどのショートカットに対応し、MJPEG動画プレーヤとJPEGビューアも組み込まれている。
ESP32のデュアルコア活用も設計のポイントで、UIとOSカーネルをCore 1、NimBLEをCore 0に固定し、BLE通信が描画のリフレッシュレートに影響しない構成だ。SPIバスはディスプレイとSDカードで共有され、カーネルがチップセレクトとクロック速度を管理する。ビルドにはArduino Core for ESP32 v3.3.6が必要。最新版1.0.0は2026年3月28日リリース。

