マイコンでOS風の環境を作りたい。そう考える人は少なくないが、実際に形にするのは簡単ではない。VuqarAhadli氏はESP32の限られたリソースで動作する軽量なコマンドラインインターフェースを目指し、MiniOS-ESPを開発した。
ハードウェアはESP32開発ボードとST7789 TFTディスプレイ(240×320ピクセル)で構成される。ディスプレイにはコマンドプロンプトとその出力が表示され、入力はシリアルモニター経由で受け付ける。USBキーボードを直接接続する方式ではないが、PCのターミナルから操作する形だ。
実装はC++のみで、Arduino CoreやPlatformIOで動作する。ESP-IDFのCLIコンポーネントを使わなかったのは、既存フレームワークへの依存を減らし、自分の理解の範囲で進めたかったからだという。
コマンドはPOSIXやMS-DOSのような既存CLIを模倣していない。helpでコマンド一覧、osでロゴ表示、versionでバージョン情報、wifiでWiFi接続、timeで時刻表示といった独自体系だ。ファイル操作にはSPIFFS(SPI Flash File System)を使う。読み書きと削除が可能だ。HTTPクライアント機能も備え、外部APIへのリクエストを送れる。テーマ機能で表示色のカスタマイズもできる。
VuqarAhadli氏は「2024年夏に初めてESP32を購入した。それまでマイコンの経験はゼロだった」と述べている。開発中のプロジェクトであり、Espressif固有の機能を実装できるコントリビューターを募集している。