4 पॉइंट द्वारा GN⁺ 2026-02-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • ESP32-S3 microcontroller को तुरंत boot होने वाले छोटे PC में बदलने वाला डेमो प्रोजेक्ट, जो shell, editor, compiler और app installer देता है
  • BreezyBox ESP-IDF के लिए एक mini shell component है, जिसमें UNIX-जैसे commands, vterm और VFS फीचर्स शामिल हैं
  • यह Waveshare ESP32-S3-Touch-LCD-7B बोर्ड पर चलता है, और दूसरे बोर्डों पर भी आसानी से लागू किया जा सकता है
  • fork करने के बाद अपने बोर्ड पर चलाया जा सकता है, या USB console के जरिए standard ANSI code output का उपयोग किया जा सकता है
  • MIT license के तहत जारी, जिसका लक्ष्य ecosystem का विस्तार करना है

BreezyBox परिचय

  • ESP32-S3 को Linux के बिना भी PC की तरह इस्तेमाल करने वाला डेमो प्रोजेक्ट, जो shell, editor, compiler और app install फीचर देता है
    • इसका लक्ष्य Raspberry Pi जैसी usability देना है, लेकिन server/desktop-grade OS का overhead नहीं है
    • BreezyBox, ESP-IDF आधारित mini shell component के रूप में एक सरल command execution environment बनाता है
  • ESP32-S3 में DOS युग के PC जैसी resource structure है, साथ ही wireless communication फीचर्स भी शामिल हैं
    • प्रोजेक्ट इस chip की क्षमता को “छोटी और सुरुचिपूर्ण तकनीक” के रूप में पेश करता है, और code size को न्यूनतम रखता है

BreezyBox की संरचना

  • BreezyBox में vterm, VFS, CWD tracking, UNIX-जैसे commands और app installer शामिल हैं
    • ELF loader और dynamic linking फीचर पहले से ही ESP-IDF component में शामिल हैं
  • इसका नाम BusyBox से प्रेरित है, और यह FreeRTOS के ऊपर चलने वाली user-space layer के रूप में काम करता है
    • इसे ESP-IDF project में एक लाइन से जोड़ा जा सकता है, और सिर्फ basic I/O होने पर भी यह चल जाता है

डेमो repository की विशेषताएँ

  • यह repository BreezyBox का example implementation है, जिसे एक खास बोर्ड (Waveshare ESP32-S3-Touch-LCD-7B) के लिए तैयार किया गया है
    • BreezyBox display और board configuration को user firmware पर छोड़ता है
    • उपयोगकर्ता code को देखकर अपने बोर्ड या display के हिसाब से इसे बदल सकते हैं
  • LVGL text label control का उपयोग करने पर LCD output लागू करना आसान हो जाता है, और इसे USB console पर भी चलाया जा सकता है

उपयोग का तरीका

  • repository को fork और clone करके अपने बोर्ड पर चलाया जा सकता है
    • लगभग 40 यूरो के बोर्ड पर इसका परीक्षण किया गया है, और यह कम कीमत वाले LCD S3 बोर्डों पर भी इस्तेमाल किया जा सकता है
    • USB console का उपयोग करने पर VSCode के IDF Monitor या Tabby में ANSI code output देखा जा सकता है
  • font renderer सीधे लिखा गया है, लेकिन यह 30FPS से अधिक performance सुनिश्चित करने के लिए वैकल्पिक implementation है

योगदान और विस्तार

  • प्रोजेक्ट MIT license के तहत जारी है, इसलिए इसे स्वतंत्र रूप से modify और distribute किया जा सकता है
  • contribution के लिए अनुरोधित आइटम
    • ELF app जोड़ना: breezyapps repository के उदाहरण देखकर नए app बनाए जा सकते हैं
    • विभिन्न बोर्डों के लिए firmware examples: C/C++ आधारित, GUI सहित, retro game porting जैसी कई तरह की संभावनाएँ
  • लक्ष्य है कि अधिक से अधिक उपयोगकर्ता BreezyBox का उपयोग करें और तुरंत replicate किए जा सकने वाले example ecosystem का विस्तार हो

1 टिप्पणियां

 
GN⁺ 2026-02-09
Hacker News की राय
  • यह सच में बहुत शानदार प्रोजेक्ट है। मैं इसे खुद आज़माने वाला हूँ
    इससे जुड़े दो और प्रोजेक्ट भी देखे हैं

    1. reddit कम्युनिटी r/xteinkereader में esp32-s3 आधारित चीनी e-book reader के लिए OS-स्टाइल ऐप विकसित किए जा रहे हैं
    2. esp32-s3 के लिए Linux port प्रोजेक्ट भी है। S3 में MMU है, लेकिन लगता है इस प्रोजेक्ट में उसका उपयोग नहीं हुआ
      Boot-Linux-ESP32S3-Playground
    • XTEink, ESP32-S3 नहीं बल्कि C3 का उपयोग करता है। OP के S3 बोर्ड में 8MB PSRAM है, लेकिन C3 में केवल 384kB RAM है, इसलिए embedded OS बनाते समय यह बड़ा अंतर पैदा करता है
  • इसका तुरंत boot हो जाना सच में शानदार है। ऐसे प्रोजेक्ट या Adafruit के Fruit Jam जैसी चीजें दिखाती हैं कि “अनावश्यक जटिलता हटाने से बहुत कुछ हासिल होता है”
    मैं ऐसी चीज़ किसी बच्चे के पहले कंप्यूटर के रूप में देना चाहूँगा

    • अच्छा होगा अगर इसके आधार पर $20 का laptop AliExpress पर आ जाए
  • अब तय हो गया कि अगले वीकेंड क्या करना है। मैं पहले किसी और प्रोजेक्ट के लिए esp32-s3 खरीदने वाला था, लेकिन अब दो खरीदने पड़ेंगे

  • मुझे लगता है इन बोर्डों का value for money कमाल का है। मैं इसे KVM के विकल्प के रूप में इस्तेमाल करने की योजना बना रहा हूँ
    ESP32-Bus-Pirate फ्लैश करके जिस डिवाइस को रिमोट से कंट्रोल करना हो उससे जोड़ दें, तो बहुत सुविधाजनक हो जाता है। इसकी बिजली खपत भी लगभग न के बराबर है, इसलिए इसे हमेशा Wi-Fi से जोड़े रखा जा सकता है

    • डिस्प्ले शेयरिंग यह कैसे संभालता है, यह जानने की जिज्ञासा है। मैं कई refurb server मैनेज कर रहा हूँ, लेकिन बजट कम होने की वजह से औपचारिक KVM लेना मुश्किल है, इसलिए इसे विकल्प के रूप में इस्तेमाल करना चाहता हूँ
  • क्या इसे rp2350 पर चलने लायक port किया जा सकता है, यह जानने की जिज्ञासा है

    • कुछ हिस्से शायद संभव हों। shell तो बस linenoise और थोड़ा-सा glue code है। rp2350 पर ELF loading की स्थिति मुझे नहीं पता, लेकिन ESP-IDF में यह standard component है, इसलिए संभावना है
    • rp2350 FreeRTOS को support करता है, इसलिए ऐसा मिलता-जुलता port काफ़ी आसान होना चाहिए। Pico का I/O DMA code थोड़ा अलग है, लेकिन यह काफ़ी ताकतवर chip है
  • ओह, क्या आप वही व्यक्ति हैं जिसने xcc700 बनाया! मुझे MCU को general-purpose computing में इस्तेमाल करने में बहुत रुचि है। यह कितना आगे जा सकता है, यह जानना चाहता हूँ

    • हाँ। xcc700 डेमो में इस्तेमाल हुए shell के लिए बहुत अनुरोध आए थे, इसलिए मैंने इसे सार्वजनिक किया। ESP32-S3 ने अभी अपनी क्षमता का बहुत छोटा हिस्सा ही दिखाया है
      शायद आपको याद हो कि पहले FabGL ने games और DOS emulation demo चलाए थे। लेकिन नवीनतम ESP-IDF में उन्हें अपडेट करना मुश्किल है
      इसलिए मैं इसे और modular structure के साथ नए सिरे से बना रहा हूँ। ताकि यह लंबे समय तक टिक सके। किसी ने simulation में MacOS का पुराना version भी चलाया था
  • सच में शानदार! इसे M5Stack Cardputer पर तुरंत डालना चाहिए

  • क्या flat memory model के बिना सामान्य OS implement करना मुश्किल नहीं होता? Amiga1000 में भी MMU नहीं था, लेकिन उसमें flat memory model था। इसे bypass करने के लिए शायद काफ़ी जटिल काम करना पड़ा होगा

    • memory model काफ़ी हद तक flat है। समस्या यह है कि पारंपरिक RAM केवल लगभग 200kB है। इसके बदले 8MB PSRAM है, लेकिन उसमें 4-byte alignment चाहिए और वह धीमा है
      इस platform पर सामान्य OS मुश्किल होने की असली वजह memory protection की कमी है। लेकिन मैं तो सिर्फ shell और app installer बनाना चाहता था, इसलिए उतना संभाल लिया
    • SoC पर सामान्य OS मुश्किल होने की वजह आमतौर पर MMU की कमी होती है। Java या JS जैसी भाषाओं में, जहाँ pointer access नहीं होता, वहाँ यह उतना मायने नहीं रखता, लेकिन C में लिखे desktop app को हमेशा एकसमान virtual address चाहिए
    • मैं MCU से परिचित नहीं हूँ, क्या आप इस समस्या को थोड़ा और समझा सकते हैं?
  • इस बार पहली बार BreezyBox देखा, और यह सच में दिलचस्प लगा। मैं Wi-Fi configuration या update जैसी चीज़ों की चिंता नहीं करना चाहता, बस अपना app लिखना चाहता था
    मुझे समझ नहीं आता था कि ऐसी चीज़ों को अपने आप संभालने वाला कोई सरल microcontroller OS अब तक क्यों नहीं था। यह शायद उसकी नींव बन सकता है
    जानना चाहता हूँ कि क्या इसमें headless deployment के लिए कोई configuration flow है, जैसे flashing के समय Wi-Fi setup, remote shell/web UI deployment आदि

    • BreezyBox अभी शुरुआती development stage में है। डेमो में जो देखा, लगभग वही सब कुछ है। इसे फैलने के लिए और डेवलपर्स को apps और features जोड़ने होंगे
      रिमोट configuration के लिए web access लागू किया जा सकता है। web server पहले से है, इसलिए इसे server-side code चलाने लायक बढ़ाया जा सकता है
  • यह शायद शुरुआती स्तर का सवाल है, लेकिन क्या यह सिर्फ S3 के लिए है या C3 पर भी चल सकता है?

    • ज़्यादातर चीज़ें C3, C6, P4 पर भी compile की जा सकती हैं। लेकिन xcc700 केवल Xtensa CPU के लिए है, इसलिए उसे port करना ज़्यादा कठिन है
      eget से install होने वाले ELF binary को भी RISC-V के लिए फिर से compile करना होगा। अलग-अलग platform ELF को अलग पहचानने के लिए manifest support जोड़ना अच्छा रहेगा
      साथ ही यह भी ध्यान रखना होगा कि PSRAM कितनी उपलब्ध है