3 पॉइंट द्वारा GN⁺ 2025-03-30 | 1 टिप्पणियां | WhatsApp पर शेयर करें

ESP32-आधारित फ़ोकस टाइमर प्रोजेक्ट

यह ESP32, ePaper डिस्प्ले और रोटरी डायल का उपयोग करने वाला एक फ़ोकस टाइमर प्रोजेक्ट है। इस रिपॉज़िटरी का कोड कुछ assets और fonts हटाए जाने के कारण तुरंत उपयोग करने में कठिन है, लेकिन आवश्यकता अनुसार इसमें बदलाव किए जा सकते हैं।

पुर्ज़ों की सूची

  • ESP32 (AZDelivery ESP32 NodeMCU का उपयोग)
  • WaveShare 4.26-इंच e-Paper डिस्प्ले HAT, 800x480
  • KY-040 रोटरी encoder और बटन
  • WS2812 LED (इसे साधारण RGB LED से बदला जा सकता है)
  • USB-C connector
  • 3D-प्रिंटेड केस
  • resistors और 0.1uF capacitor

प्रोजेक्ट की शुरुआत

उत्पादकता बढ़ाने वाली तकनीकों को आज़माना पसंद है, और हर साल ऐसे प्रोजेक्ट्स पर समय लगाया जाता है जो दूसरों की मदद कर सकें। इलेक्ट्रॉनिक्स इंजीनियर के रूप में अनुभव का उपयोग करके एक भौतिक डिवाइस बनाना चाहा गया, और एक दोस्त की time management समस्या हल करने के लिए यह फ़ोकस टाइमर बनाया गया।

इन पुर्ज़ों को चुनने का कारण

ePaper डिस्प्ले
  • बिना backlight वाला डिस्प्ले चाहिए था, और 4.26-इंच डिस्प्ले इन कारणों से चुना गया:
    • शानदार resolution
    • उपयुक्त आकार
    • partial refresh का समर्थन
रोटरी encoder
  • सहज input device के रूप में रोटरी डायल चुना गया, और signal को smooth करने के लिए 0.1uF capacitor जोड़ा गया।
LED
  • शुरुआत में LED का कोई प्लान नहीं था, लेकिन डिस्प्ले की सूक्ष्मता को पूरक बनाने के लिए WS2812 LED का उपयोग कर विभिन्न स्थितियाँ दिखायी गईं।

केस बनाना

  • केस दो भागों से बना है, और प्रिंटिंग के समय ऊपरी किनारा थोड़ा मुड़ जाने की समस्या होती है। इसे हल करने के लिए रबर feet और अतिरिक्त वजन जोड़ा गया।

सॉफ़्टवेयर

  • यह C++ में लिखा गया है और Arduino framework का उपयोग करता है। डिस्प्ले को नियंत्रित करने के लिए GxEPD2 लाइब्रेरी का उपयोग किया गया है, और प्रोजेक्ट का कुछ कोड AI के माध्यम से बनाया गया है।

डिवाइस का उपयोग कैसे करें

  • डिवाइस शुरू होने पर settings बदलने या preset चुनने वाले मोड में प्रवेश किया जा सकता है। टाइमर शुरू होने पर LED blink करती है और स्क्रीन पर संदेश दिखता है। काम जारी रखा जा सकता है या विश्राम शुरू किया जा सकता है, और कई बार दोहराव के बाद अधिक लंबा break time दिया जाता है।

डेवलपमेंट

पिन मैपिंग
रोटरी encoder (KY-040)
  • CLK: 32
  • DT: 21
  • SW: 14
ePaper डिस्प्ले (GxEPD2_426_GDEQ0426T82, WaveShare 4.26" b/w)
  • BUSY: 4
  • RST: 16
  • DC: 17
  • CS: 5
  • CLK: 18
  • DIN: 23
LED (WS2812)
  • DIN: 25

1 टिप्पणियां

 
GN⁺ 2025-03-30
Hacker News टिप्पणियाँ
  • यह प्रोजेक्ट मुझे सच में बहुत पसंद आया। UI बहुत आकर्षक है और अच्छी तरह डिज़ाइन किया गया है। वीकेंड एक्टिविटी के लिए बढ़िया लग रहा है

    • अगर आप कोई hackathon project ढूँढ़ रहे हैं, तो E-ink ecosystem अब इतना विकसित हो चुका है कि उस पर प्रोग्राम करना आसान है। Claude/AI इसकी API आसानी से इस्तेमाल कर सकता है
    • लोग आमतौर पर E-ink स्क्रीन को लिविंग रूम में रखना पसंद करते हैं, क्योंकि यह backlit display की तुलना में कम ध्यान भटकाता है
    • E-ink और pomodoros, दोनों ही मेरी रुचि के विषय हैं
  • "device" टाइप के प्रोजेक्ट हमेशा दिलचस्प होते हैं। लक्ष्य साधारण हो तब भी ये अक्सर सबसे चुनौतीपूर्ण निकलते हैं

    • स्क्रीन का चुनाव पसंद आया, और यह भी अच्छा लगा कि इसमें उद्देश्य और usability का ध्यान रखा गया है
    • object design पर कुछ नोट्स
      • अगर knob डिवाइस के ऊपर चौड़ा और सपाट रखा जाए, तो स्क्रीन को बीच में रखा जा सकता है और डिवाइस को छोटा बनाया जा सकता है
      • कोने और fillet किसी चीज़ को ज्यादा polished दिखाते हैं। यह छोटा detail है, लेकिन बड़ा फर्क लाता है
      • अगर मेन्यू में हमेशा तीन विकल्प रहते हैं, तो knob की जगह ऊपर तीन buttons रखना कैसा रहेगा
      • translucent filament इस्तेमाल करें तो शानदार "light pipe" parts बनाए जा सकते हैं
    • जानना चाहूँगा कि knob design के लिए OpenSCAD इस्तेमाल किया गया था या नहीं। knob का pattern ऐसा लग रहा है जैसे उसे प्रोग्राम के जरिए अच्छी तरह बनाया गया हो
  • तीन अलग-अलग use cases पर ध्यान देना और statistics देना एक बढ़िया अतिरिक्त तत्व है

    • यह भी बताना अच्छा होगा कि pomodoro का नाम rotating encoder वाले physical timer से आया है
  • मेरे जानने वाले एक व्यक्ति ने physical pomodoro timer पर बिज़नेस शुरू करने की कोशिश की थी

    • ऑफिस में इस्तेमाल करने वालों के लिए एक उपयोगी अतिरिक्त फीचर यह हो सकता है कि डिवाइस के ऊपर LED हो, ताकि स्क्रीन देखे बिना भी स्टेटस पता चल सके
  • बढ़िया प्रोजेक्ट है। LVGL library देखकर ज़रूर देखें। embedded graphics library के रूप में यह UI बनाने में उपयोगी है

  • pomodoro का पूरा विचार kitchen timer से आया है। सबसे अच्छा UX physical kitchen timer में मिलता है

  • मैं physical pomodoro timer बनाने के तरीके पर विचार कर रहा हूँ। मुझे यह अच्छा लगता है कि बचा हुआ समय दिखाई न दे। मैं Visual Timer app इस्तेमाल कर रहा हूँ

  • यह प्रोजेक्ट मुझे बहुत पसंद आया। इससे मुझे अपने productivity tools को असली डिवाइस पर port करने के बारे में सोचने की प्रेरणा मिलती है

  • जब भी pomodoro timer से जुड़ी कोई चीज़ देखता हूँ, मुझे YC founder के साथ एक इंटरव्यू याद आ जाता है। कंपनी एक साल के भीतर बंद हो गई थी, और उसके बाद मैं इस तकनीक का सम्मान नहीं कर पाया