世界を動かす技術を、日本語で。

Show HN: 見て、ママ、Linuxなしで: ESP32-S3 / BreezyBox上のシェル、アプリインストーラー、Vi、Cc

2026年2月7日原文(github.com)

概要

  • BreezyBox はESP32-S3をPCライクに変身させる ミニシェル コンポーネント
  • エディタ、コンパイラ、アプリインストーラ を内蔵し、即起動PC体験を実現
  • Raspberry Pi のような使い方が可能だが、 サーバーOSの重さなし
  • 無線通信ANSIテキスト表示 もサポートし、レトロPCの雰囲気を再現
  • MITライセンス で公開、コミュニティによる拡張・貢献も歓迎

ESP32-S3向けBreezyBoxシェルデモの紹介

  • ESP32-S3マイコン を使い、超小型PC化を実現する デモプロジェクト

  • BreezyBox はESP-IDF用の ミニシェルコンポーネント、UNIX風コマンドやアプリインストーラを提供

  • Raspberry Pi のような体験を、 軽量かつ高速 に実現

  • サーバー/デスクトップOS のオーバーヘッドを排除した設計

  • 趣味の電子工作小型デバイス でのPC的な使い方を推進

    • サイバーデッキ風 のプロジェクトから発展
    • DOS時代PC のノスタルジーと、現代の無線通信機能を融合
    • コード肥大化 を回避し、 シンプルでエレガント な設計志向
    • vterm(仮想端末)カレントディレクトリ管理UNIX系コマンドアプリインストーラ を実装
    • elf_loader によるダイナミックリンク対応

BreezyBoxの特徴

  • BusyBox風 のコマンド群を提供するが、完全なクローンではない

  • ESP-IDFプロジェクト に1コマンドでインポート可能

  • FreeRTOS上で動作、OSではなくユーザーランドレイヤー

  • vterm/vfs機能 と一部のシェルコマンドを主に提供

  • ディスプレイやボード設定 は各ユーザーのファームウェア側で対応

    • Waveshare ESP32-S3-Touch-LCD-7B 向けのデモ例を提供
    • 他のボードやディスプレイにも コードスニペット流用 で簡単に適応可能

利用方法・導入ガイド

  • リポジトリをフォーク&クローン し、自分のボードで動作テスト
  • 40ユーロ程度 の開発ボードや、 10ドル前後の小型LCD搭載S3ボード でも利用可能
  • LVGLのテキストラベル でLCDへのstdout出力が簡単
  • ヘッドレスボード+USBコンソール でも動作、VSCodeやTabbyでANSIコード対応
  • 独自フォントレンダラ は不要(高速化目的の場合のみ実装)

ライセンス・コントリビューション

  • MITライセンス のフリーソフトウェア

  • テスト・サンプル提供・新ユースケース提案 など、コミュニティ貢献を歓迎

    • ELFアプリ の追加(breezyappsリポジトリ参照)
    • プラットフォーム依存コードなし のCプログラムも動作可能(要メモリ・PSRAM対応検証)
    • 独自リポジトリからのアプリ公開・インストール が可能
    • 様々な開発ボード・スタイル でのサンプルファームウェアも歓迎
    • C++対応、GUI化、レトロゲーム移植、周辺機器連携 なども拡張例
    • 他CPU(RISC-V等)への移植サイバーデッキ自作 も推奨

追加情報・デモ・参考リンク

  • 公式デモリポジトリbreezydemo

  • ESP-IDF用BreezyBoxコンポーネントbreezybox

  • Hackaday掲載記事Hackaday

  • Hackster.io記事Hackster.io

  • Reddit投稿Reddit

    • Raspberry Pi的な使い方 が可能だが、サーバーOS不要
    • DOS時代のコーディング体験 を再現
    • 高速テキストモードドライバ を独自実装、今後はVGA風グラフィックも追加予定
    • ANSIテキストデモアプリインストール もスムーズ
    • 任意リポジトリからのアプリインストール が可能、承認や待機不要

まとめ

  • BreezyBox はESP32-S3の可能性を最大限に引き出す 軽量シェル環境
  • 電子工作・レトロPC好き小型PC開発者 に最適
  • 自由な拡張・コミュニティ貢献 が可能なオープンプロジェクト

Hackerたちの意見

rp2350で動かせるように移植できるかな?

いくつかの部分は、たぶんそうだね。シェルはただのlinenoiseにちょっとしたグルーコードを加えたものだよ。rp2350でのELFの読み込みはどうなってるか、確認してないんだ。できるかもしれないけど、どれだけの労力がかかるかが問題だね。ESP-IDFでは今や標準コンポーネントになってるよ。

rp2350はfreertosをサポートしてるから、似たようなポートは簡単にできそうだね。PicoのIO DMAコードはちょっと特別だけど、すごく優秀なチップだよ。=3

フラットメモリモデルがないと、一般的なOSを作るのが難しいんじゃない?アミガ1000は処理能力がずっと低かったけど、メモリは同じくらいでMMUもなかったけど、メモリモデルはフラットだったよね。何か変なことしないといけなかったの?

この問題についてもう少し詳しく教えてもらえる?MCUにはまだあまり詳しくないんだ。

メモリモデルは十分フラットだよ。ただ、メモリの問題は、伝統的なRAMが約200kBしかないこと。だけど、8MBのPSRAMがあるんだ。でも、厳密に4バイトのアラインメントが必要で、かなり遅い。伝統的なOSがこのプラットフォームで難しいのは、メモリ保護がないからなんだ。でも、俺はシンプルな人間だから、OSを書くつもりはなくて、使えるシェルとアプリインストーラーが欲しかっただけなんだ。それを実現したよ。

SoC上で一般的なOSが難しい理由は、ハードウェアの仮想RAMアドレス変換アクセラレーター、つまりMMUがないことが多いからなんだ。開発者が生のポインタにアクセスできないなら、それほど重要じゃないかもしれないけど、オブジェクトが動的にどこにでも割り当てられるからね(Java!!! あとJavaScriptや他の解釈型言語も)。でも基本的に、デスクトップOSのアプリはCで書かれていて、常に一貫した仮想アドレスが必要だから、ハードウェアの動的変換がないとアプリは動かないんだ。

インスタントオンってめっちゃクールだよね。こういうプロジェクトやAdafruitのFruit Jamを見るのが好きなんだ。ほんと「いろいろなものが邪魔になって、いくつかのものを失ってるよね」って感じがする。こういうのは子供の初めてのコンピュータとして絶対に渡したい。

Aliexpressで$20のノートパソコンがこれを動かすのを楽しみにしてるよ!

おお、君がxcc700の人だ!めっちゃクールなことやってるね。最近、一般的な計算にMCUを使うことに興味があるんだけど、どこまで押し進められるかな。

そうそう、xcc700デモで使われているシェルについてみんなが聞いてたから、それも今リリースされたし、再利用しやすいように便利に作ろうとしたんだ。Esp32-s3はもっといろいろできるし、まだ表面をなぞってるだけだよ。FabGLを覚えてるかもしれないけど、あれはゲームやDOSエミュレーションの領域でいいデモをいくつか動かしてたよね。残念ながら、現代のESP-IDFのバージョンに更新するのが難しいみたいだ。もっとモジュール化されたものを作ろうとしてるんだけど、いくつかの部分が長く生き残ってくれることを願ってる。昔のMacOSをシミュレートして動かした人もいたみたいで、それも一般的な能力の指標だね。

来週末はこれやるつもりだな…別のプロジェクトのためにesp32-s3を買うつもりだったけど、今は2つ必要になっちゃった…

Hacker Newsで議論の続きを見る