4 poin oleh GN⁺ 2026-02-09 | 1 komentar | Bagikan ke WhatsApp
  • Proyek demo yang mengubah mikrokontroler ESP32-S3 menjadi PC kecil yang bisa langsung boot, lengkap dengan shell, editor, kompiler, dan penginstal aplikasi
  • BreezyBox adalah komponen mini shell untuk ESP-IDF, mencakup perintah mirip UNIX serta fitur vterm dan VFS
  • Berjalan di board Waveshare ESP32-S3-Touch-LCD-7B, dan mudah diterapkan ke board lain
  • Setelah di-fork, dapat dijalankan di board sendiri, atau memanfaatkan output kode ANSI standar melalui konsol USB
  • Dirilis dengan lisensi MIT dan ditujukan untuk memperluas ekosistem

Ikhtisar BreezyBox

  • Proyek demo yang membuat ESP32-S3 dapat digunakan seperti PC tanpa Linux, dengan fungsi shell, editor, kompiler, dan instalasi aplikasi
    • Menargetkan kemudahan penggunaan yang mirip Raspberry Pi, tetapi tanpa overhead OS kelas server/desktop
    • BreezyBox adalah komponen mini shell berbasis ESP-IDF yang membangun lingkungan eksekusi perintah sederhana
  • ESP32-S3 memiliki struktur sumber daya mirip PC era DOS sekaligus menyertakan kemampuan komunikasi nirkabel
    • Proyek ini menggambarkan potensi chip tersebut sebagai “teknologi kecil yang elegan”, sambil meminimalkan ukuran kode

Komponen BreezyBox

  • BreezyBox mencakup vterm, VFS, pelacakan CWD, perintah mirip UNIX, dan penginstal aplikasi
    • Loader ELF dan fitur dynamic linking sudah disertakan dalam komponen ESP-IDF
  • Namanya terinspirasi dari BusyBox, dan berbentuk lapisan user-space yang berjalan di atas FreeRTOS
    • Dapat ditambahkan ke proyek ESP-IDF hanya dengan satu baris, dan bisa berjalan selama ada I/O dasar

Fitur repositori demo

  • Repositori ini adalah implementasi contoh BreezyBox, disusun untuk board tertentu, yaitu Waveshare ESP32-S3-Touch-LCD-7B
    • BreezyBox menyerahkan pengaturan display dan board ke firmware pengguna
    • Pengguna dapat merujuk kode tersebut untuk menyesuaikannya dengan board atau display mereka sendiri
  • Dengan menggunakan kontrol label teks LVGL, implementasi output LCD menjadi sederhana, dan juga dapat dijalankan lewat konsol USB

Cara penggunaan

  • Repositori dapat di-fork lalu di-clone untuk dijalankan di board sendiri
    • Telah diuji pada board sekitar 40 euro, dan juga bisa digunakan pada board LCD S3 berbiaya rendah
    • Dengan konsol USB, output kode ANSI dapat dilihat di IDF Monitor milik VSCode atau di Tabby
  • Font renderer ditulis sendiri, tetapi ini adalah implementasi opsional untuk memastikan performa di atas 30FPS

Kontribusi dan ekspansi

  • Proyek ini dirilis di bawah lisensi MIT sehingga bebas dimodifikasi dan didistribusikan
  • Item permintaan kontribusi
    • Menambahkan aplikasi ELF: aplikasi baru dapat dibuat dengan merujuk contoh di repositori breezyapps
    • Contoh firmware untuk berbagai board: usulan dalam berbagai bentuk seperti berbasis C/C++, menyertakan GUI, hingga porting game retro
  • Tujuannya adalah agar lebih banyak pengguna memanfaatkan BreezyBox dan memperluas ekosistem contoh yang bisa langsung direplikasi

1 komentar

 
GN⁺ 2026-02-09
Komentar Hacker News
  • Proyek yang sangat keren. Saya berencana mencobanya sendiri
    Saya juga melihat dua proyek lain yang terkait

    1. di komunitas reddit r/xteinkereader, sedang dikembangkan aplikasi bergaya OS untuk e-reader Tiongkok berbasis esp32-s3
    2. ada juga proyek port Linux untuk esp32-s3. S3 memang punya MMU, tetapi tampaknya tidak digunakan dalam proyek ini
      Boot-Linux-ESP32S3-Playground
    • XTEink tidak memakai ESP32-S3, melainkan C3. Board S3 milik OP punya 8MB PSRAM, sedangkan C3 hanya punya RAM 384kB, jadi perbedaannya besar saat membangun embedded OS
  • Sangat keren bahwa proses booting-nya instan. Proyek seperti ini atau Fruit Jam dari Adafruit menunjukkan bahwa “banyak yang didapat dengan menghilangkan kompleksitas yang tidak perlu”
    Saya ingin memberikan sesuatu seperti ini sebagai komputer pertama anak saya

    • Akan bagus kalau ada laptop seharga $20 berbasis ini di AliExpress
  • Sekarang saya sudah tahu mau mengerjakan apa akhir pekan depan. Awalnya saya memang mau membeli esp32-s3 untuk proyek lain, tapi sekarang sepertinya harus beli dua

  • Menurut saya value for money board-board ini luar biasa. Saya berencana memakainya sebagai pengganti KVM
    Sangat praktis kalau di-flash dengan ESP32-Bus-Pirate lalu dihubungkan ke perangkat yang ingin dikendalikan dari jarak jauh. Konsumsi dayanya juga nyaris nol, jadi saya biarkan selalu terhubung ke Wi‑Fi

    • Saya penasaran bagaimana mereka menangani berbagi display. Saya mengelola beberapa server refurb, tetapi anggaran tidak cukup untuk KVM resmi, jadi saya ingin menggantinya dengan ini
  • Saya penasaran apakah ini bisa di-port agar berjalan juga di rp2350

    • Sepertinya sebagian bisa. Shell-nya pada dasarnya hanya linenoise dengan sedikit glue code. Saya tidak tahu status loading ELF di rp2350, tetapi di ESP-IDF itu adalah komponen standar, jadi ada kemungkinan
    • rp2350 mendukung FreeRTOS, jadi port serupa tampaknya akan cukup sederhana. Kode I/O DMA pada Pico memang agak unik, tetapi chip-nya cukup kuat
  • Oh, jadi Anda orang yang membuat xcc700! Saya sangat tertarik menggunakan MCU untuk komputasi umum. Saya penasaran sejauh mana ini bisa didorong

    • Betul. Ada banyak permintaan untuk shell yang digunakan dalam demo xcc700, jadi saya merilisnya. ESP32-S3 sejauh ini baru menunjukkan sebagian kecil potensinya
      Mungkin Anda ingat FabGL dulu pernah menjalankan demo game dan emulasi DOS. Tetapi di ESP-IDF terbaru, proyek itu sulit diperbarui
      Karena itu saya sedang membuatnya ulang dengan arsitektur yang lebih modular. Supaya bisa dipelihara dalam jangka panjang. Seseorang bahkan pernah menjalankan versi lama MacOS lewat emulasi
  • Sangat keren! Ini harus segera saya pasang ke M5Stack Cardputer

  • Tanpa model memori datar, bukankah sulit mengimplementasikan OS umum? Amiga1000 juga tidak punya MMU, tetapi model memorinya datar. Sepertinya perlu banyak kerja rumit untuk menyiasati ini

    • Model memorinya cukup datar. Masalahnya adalah RAM tradisionalnya hanya sekitar 200kB. Sebagai gantinya ada 8MB PSRAM, tetapi itu membutuhkan alignment 4-byte dan lebih lambat
      Alasan OS umum sulit di platform ini adalah tidak adanya proteksi memori. Tetapi saya hanya ingin membuat shell dan app installer, jadi sejauh itu masih bisa diatasi
    • Alasan OS umum sulit di SoC biasanya adalah tidak adanya MMU. Untuk bahasa seperti Java atau JS yang tidak melakukan dereferensi pointer langsung, itu tidak terlalu masalah, tetapi aplikasi desktop yang ditulis dalam C selalu membutuhkan alamat virtual yang konsisten
    • Saya kurang familiar dengan MCU, jadi saya ingin tahu apakah Anda bisa menjelaskan masalah ini lebih lanjut
  • Ini pertama kalinya saya melihat BreezyBox, dan menurut saya sangat menarik. Saya tidak ingin repot mengurus pengaturan Wi‑Fi atau update, saya hanya ingin menulis aplikasi saya sendiri
    Saya tidak mengerti kenapa belum ada OS mikrokontroler sederhana yang menangani hal-hal seperti ini. Ini mungkin bisa menjadi fondasinya
    Saya penasaran apakah ada flow konfigurasi untuk deployment headless, seperti pengaturan Wi‑Fi saat flashing, deploy shell/web UI jarak jauh, dan sebagainya

    • BreezyBox masih berada di tahap pengembangan awal. Hampir semua yang Anda lihat di demo memang hanya itu. Agar bisa berkembang luas, lebih banyak developer perlu menambahkan aplikasi dan fitur
      Akses web untuk konfigurasi jarak jauh tampaknya bisa diterapkan. Sudah ada web server, jadi tinggal diperluas agar bisa menjalankan kode sisi server
  • Pertanyaan pemula: apakah ini khusus untuk S3 atau bisa juga berjalan di C3?

    • Sebagian besar bisa dikompilasi juga untuk C3, C6, P4. Hanya saja xcc700 khusus untuk CPU Xtensa, jadi porting-nya lebih sulit
      Binary ELF yang diinstal dengan eget juga harus dikompilasi ulang untuk RISC-V. Akan bagus jika ditambahkan dukungan manifest untuk membedakan ELF per platform
      Selain itu, kapasitas PSRAM yang tersedia juga perlu dipertimbangkan