4 puan yazan GN⁺ 2026-02-09 | 1 yorum | WhatsApp'ta paylaş
  • ESP32-S3 mikrodenetleyicisini anında açılabilen küçük bir PC’ye dönüştürerek kabuk, düzenleyici, derleyici ve uygulama yükleyici sunan bir demo proje
  • BreezyBox, ESP-IDF için mini bir kabuk bileşeni olup UNIX benzeri komutlar ile vterm ve VFS özelliklerini içerir
  • Waveshare ESP32-S3-Touch-LCD-7B kartında çalışır ve diğer kartlara da kolayca uyarlanabilir
  • Fork’ladıktan sonra kendi kartınızda çalıştırabilir veya USB konsolu üzerinden standart ANSI kod çıktısını kullanabilirsiniz
  • MIT lisansı ile yayımlanmıştır ve ekosistemi genişletmeyi hedefler

BreezyBox’a genel bakış

  • ESP32-S3’ü Linux olmadan da PC gibi kullanmayı sağlayan bir demo proje olup kabuk, düzenleyici, derleyici ve uygulama yükleme işlevleri sunar
    • Raspberry Pi’ye benzer bir kullanım deneyimini hedefler, ancak sunucu/masaüstü sınıfı bir işletim sisteminin ek yükü yoktur
    • BreezyBox, ESP-IDF tabanlı mini bir kabuk bileşeni olarak basit bir komut çalıştırma ortamı kurar
  • ESP32-S3, DOS dönemindeki PC’lere benzer bir kaynak yapısına sahiptir ve kablosuz iletişim özelliklerini içerir
    • Proje, bu çipin potansiyelini “küçük ve zarif teknoloji” olarak tanımlarken kod boyutunu minimumda tutar

BreezyBox’un bileşenleri

  • BreezyBox; vterm, VFS, CWD takibi, UNIX benzeri komutlar ve uygulama yükleyici içerir
    • ELF yükleyici ve dinamik bağlama özelliği zaten ESP-IDF bileşenlerine dahildir
  • İsmi BusyBox’tan esinlenmiştir ve FreeRTOS üzerinde çalışan bir kullanıcı alanı katmanı biçimindedir
    • ESP-IDF projesine tek satırla eklenebilir ve yalnızca temel giriş/çıkış olsa bile çalışır

Demo deposunun özellikleri

  • Bu depo, BreezyBox’un örnek bir uygulamasıdır ve belirli bir karta (Waveshare ESP32-S3-Touch-LCD-7B) göre yapılandırılmıştır
    • BreezyBox, ekran ve kart ayarlarını kullanıcı bellenimine bırakır
    • Kullanıcılar kodu inceleyerek kendi kartlarına veya ekranlarına uygun şekilde değiştirebilir
  • LVGL metin etiketi kontrolü kullanılırsa LCD çıkışını uygulamak kolaylaşır; USB konsolunda da çalıştırılabilir

Kullanım yöntemi

  • Depoyu fork edip klonlayarak kendi kartınızda çalıştırabilirsiniz
    • Yaklaşık 40 avroluk bir kartta test edilmiştir ve düşük maliyetli LCD S3 kartlarında da kullanılabilir
    • USB konsolu kullanıldığında VSCode’un IDF Monitor aracı veya Tabby üzerinden ANSI kod çıktısı görülebilir
  • Yazı tipi oluşturucu doğrudan yazılmıştır, ancak bu 30FPS üzeri performans sağlamak için yapılan isteğe bağlı bir uygulamadır

Katkı ve genişleme

  • Proje MIT lisansı ile yayımlanmıştır; serbestçe değiştirilebilir ve dağıtılabilir
  • Katkı istenen başlıklar
    • ELF uygulaması ekleme: breezyapps deposundaki örnekler referans alınarak yeni uygulamalar geliştirilebilir
    • Çeşitli kartlar için bellenim örnekleri: C/C++ tabanlı, GUI içeren, retro oyun portları gibi farklı biçimler önerilmektedir
  • Amaç, daha fazla kullanıcının BreezyBox’tan yararlanması ve anında çoğaltılabilir örnek ekosistemini büyütmektir

1 yorum

 
GN⁺ 2026-02-09
Hacker News yorumları
  • Gerçekten harika bir proje. Bizzat denemeyi planlıyorum
    Bununla ilgili başka iki proje daha gördüm

    1. reddit topluluğu r/xteinkereader içinde esp32-s3 tabanlı Çin yapımı e-kitap okuyucu için OS tarzı bir uygulama geliştiriliyor
    2. esp32-s3 için bir Linux portu projesi de var. S3'te MMU bulunuyor ama bu projede kullanılmamış gibi görünüyor
      Boot-Linux-ESP32S3-Playground
    • XTEink, ESP32-S3 değil C3 kullanıyor. OP'nin S3 kartında 8MB PSRAM var ama C3'te yalnızca 384kB RAM bulunuyor; bu da gömülü OS oluştururken büyük fark yaratıyor
  • Anında açılması gerçekten harika. Böyle projeler ya da Adafruit'in Fruit Jam'i, “gereksiz karmaşıklığı kaldırınca çok şey kazanıldığını” gösteriyor
    Bunu bir çocuğun ilk bilgisayarı olarak vermek isterdim

    • Bunun temel alındığı 20 dolarlık bir dizüstü bilgisayarın AliExpress'te çıkması güzel olurdu
  • Gelecek hafta sonu ne yapacağım belli oldu. Aslında başka bir proje için esp32-s3 almayı düşünüyordum ama şimdi iki tane almam gerekecek

  • Bu kartların fiyat/performans oranının inanılmaz olduğunu düşünüyorum. Ben bunu KVM yerine kullanmayı planlıyorum
    ESP32-Bus-Pirate'ı flashlayıp uzaktan kontrol edeceğim cihaza bağlı bırakınca çok kullanışlı oluyor. Güç tüketimi de neredeyse yok, bu yüzden sürekli Wi-Fi'ye bağlı tutuyorum

    • Ekran paylaşımını nasıl yaptığını merak ediyorum. Birden fazla refurb sunucu yönetiyorum; bütçe yetmediği için gerçek bir KVM zor, bunu yerine koymak istiyorum
  • Bunun rp2350 üzerinde de çalışacak şekilde port edilip edilemeyeceğini merak ediyorum

    • Bir kısmı mümkün gibi görünüyor. Shell aslında sadece linenoise üzerinde biraz glue kodundan ibaret. rp2350'de ELF yükleme durumunu bilmiyorum ama ESP-IDF'de standart bileşen olduğu için bir ihtimal var
    • rp2350, FreeRTOS desteklediği için benzer bir port muhtemelen oldukça kolay olur. Pico'nun I/O DMA kodu biraz sıra dışı ama oldukça güçlü bir çip
  • Vay, xcc700'ü yapan kişi sen misin! MCU'ları genel amaçlı hesaplamada kullanmaya çok ilgim var. Bunun ne kadar ileri götürülebileceğini merak ediyorum

    • Evet. xcc700 demosunda kullanılan shell için çok istek gelince onu yayımladım. ESP32-S3, potansiyelinin hâlâ çok küçük bir kısmını göstermiş durumda
      Eskiden FabGL'nin oyunlar ve DOS emülasyonu demoları çalıştırdığını hatırlıyor olabilirsin. Ama güncel ESP-IDF ile güncel tutmak zor
      Bu yüzden daha modüler bir yapı ile yeniden yapıyorum. Uzun süre sürdürülebilir olsun diye. Hatta birisi eski bir MacOS sürümünü emülasyonla çalıştırmıştı
  • Gerçekten harika! Bunu hemen M5Stack Cardputer'a yüklemek lazım

  • Düz bellek modeli olmadan genel amaçlı bir OS uygulamak zor değil mi? Amiga1000'de de MMU yoktu ama düz bellek modeli vardı. Bunu aşmak için epey karmaşık işler gerekmiş olmalı

    • Bellek modeli yeterince düz. Sorun, geleneksel RAM'in yalnızca yaklaşık 200kB olması. Onun yerine 8MB PSRAM var ama 4 bayt hizalaması gerekiyor ve yavaş
      Bu platformda genel amaçlı bir OS'in zor olmasının nedeni bellek koruması olmaması. Ama ben sadece shell ve uygulama yükleyici yapmak istedim, o kadarını çözebildim
    • Bir SoC üzerinde genel amaçlı bir OS'in zor olmasının nedeni genelde MMU eksikliğidir. Java ya da JS gibi pointer erişimi olmayan dillerde bu sorun olmayabilir ama C ile yazılmış masaüstü uygulamaları her zaman tutarlı sanal adresler ister
    • MCU'lara çok hâkim değilim; bunu biraz daha açıklayabilir misin diye merak ediyorum
  • BreezyBox ile ilk kez şimdi karşılaştım ve gerçekten ilginç görünüyor. Wi-Fi ayarı ya da güncellemelerle uğraşmak istemiyorum, sadece kendi uygulamamı yazmak istiyordum
    Neden bunları benim yerime halleden basit bir mikrodenetleyici OS'i olmadığını anlayamıyordum. Bu, onun temeli olabilir gibi görünüyor
    Headless dağıtımlar için bir yapılandırma akışı olup olmadığını merak ediyorum (flashlama sırasında Wi-Fi ayarı, uzaktan shell/web UI dağıtımı vb.)

    • BreezyBox hâlâ erken geliştirme aşamasında. Demoda gördüğün şey neredeyse her şey. Daha fazla geliştiricinin uygulama ve özellik eklemesi gerekiyor ki yaygınlaşabilsin
      Uzaktan yapılandırma için web erişimi muhtemelen yapılabilir. Zaten bir web sunucusu var; sunucu tarafı kod çalıştıracak şekilde genişletmek yeterli olur
  • Acemice bir soru olacak ama bu yalnızca S3 için mi, yoksa C3'te de çalışabilir mi?

    • Büyük kısmı C3, C6, P4 için de derlenebilir. Ancak xcc700, Xtensa CPU'ya özel olduğu için port etmek daha zor
      eget ile kurulan ELF ikililerinin de RISC-V için yeniden derlenmesi gerekir. Platforma göre ELF ayırmak için manifest desteği eklemek iyi olabilir
      Ayrıca ne kadar PSRAM kapasitesi bulunduğunu da hesaba katmak gerekir