7 पॉइंट द्वारा GN⁺ 2026-02-26 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • पुराने Kindle Touch 4th gen को मॉडिफाई करके NJ Transit बस आगमन समय हर 1 मिनट में अपडेट करने वाले e-ink डैशबोर्ड में बदला गया
  • Jailbreak, KUAL, MRPI, SSH सेटअप के जरिए custom app चलाने का वातावरण बनाया गया, और Node-आधारित सर्वर पर image बनाकर उसे Kindle पर दिखाया गया
  • सर्वर GraphQL API से बस डेटा लाता है, उसे HTML में फ़ॉर्मैट करता है, फिर wkhtmltoimage से PNG बनाता है जिसे Kindle समय-समय पर लोड करता है
  • KUAL app भी खुद बनाया गया ताकि menu button से डैशबोर्ड बंद किया जा सके, और bash traprtcwake से power management और auto refresh को नियंत्रित किया गया
  • लगभग 5 दिन की battery life मिलती है और screen ghosting समस्या को और बेहतर किया जा सकता है; यह e-ink display पर real-time information उपयोग की संभावना दिखाता है

Kindle को बस आगमन सूचना डिस्प्ले में बदलना

  • Kindle Touch 4th gen को real-time bus arrival information board में मॉडिफाई किया गया
    • स्क्रीन हर 1 मिनट में refresh होती है, और menu button से dashboard mode बंद किया जा सकता है
    • commercial product TRMNL जैसी functionality को मुफ़्त में लागू किया गया

1. Kindle Jailbreak

  • Kindle का firmware version जांचकर, उसी version के अनुसार tar file डाउनलोड की जाती है और Jailbreak प्रक्रिया पूरी की जाती है
  • सफल होने के बाद KUAL और MRPI installation चरण पर आगे बढ़ते हैं

2. KUAL और MRPI इंस्टॉल करना

  • KUAL को custom app launcher और MRPI को app installation tool के रूप में इस्तेमाल किया गया
  • इंस्टॉल करने से पहले Hotfix setup ज़रूर करना होता है
  • इंस्टॉल के बाद OTA updates disable करके automatic updates को रोका जाता है

3. SSH सेटअप

  • USBNetwork extension के जरिए Kindle में SSH access संभव है
  • बाहरी ब्लॉग गाइड के आधार पर USB-आधारित SSH connection सेट किया गया
  • connection सफल होने पर कंप्यूटर के network tab में Kindle एक नए device के रूप में दिखाई देता है

4. सर्वर बनाना और image generate करना

  • NJ Transit GraphQL API का उपयोग करके बस आगमन जानकारी लाई जाती है
    • getBusArrivalsByStopID query से route, arrival time, congestion जैसी जानकारी ली जाती है
  • puppeteer की जगह wkhtmltoimage का इस्तेमाल करके HTML को PNG में बदला गया
    • सर्वर हर 3 मिनट में नई image बनाता है और Kindle उसे request करता है
    • संबंधित code GitHub repository kindle-hax/server में सार्वजनिक है
  • Kindle screen resolution (जैसे 600x800) के अनुसार image rotation और alignment समायोजित किए गए
    • transform: rotate(90deg) translateX(-100px) translateY(-100px); से portrait display लागू किया गया

5. KUAL app बनाना

  • dashboard start/stop control के लिए custom KUAL extension बनाया गया
    • /mnt/us/extensions/ में folder रखने के बाद KUAL में ‘Start dashboard’ menu दिखता है
  • start.sh script signals को ignore करती है (trap '' HUP, trap '' TERM), जिससे यह स्थिर रूप से चलती रहती है
    • refresh_screen() function सर्वर image डाउनलोड करने के बाद eips command से उसे दिखाता है
    • ऊपर की तरफ तारीख, Wi‑Fi status और battery level दिखाया जाता है
  • evtest से menu button input (code 102 (Home), value 1) पहचानने पर stop.sh चलाया जाता है
    • इससे dashboard बंद होता है और Kindle UI फिर से शुरू हो जाती है

6. चलाने का परिणाम और सुधार की गुंजाइश

  • लगभग 5 दिन की battery life, और रात में power off करने पर 2 दिन और बढ़ सकती है
  • screen ghosting (color bleeding) समस्या को पूरी black-and-white flash से बेहतर किया जा सकता है
  • इसे रोज़ इस्तेमाल किया जा रहा है, और calendar, weather, to-do जैसी कई तरह की जानकारी दिखाने की विस्तार-क्षमता भी साबित हुई

2 टिप्पणियां

 
xguru 2026-02-26

मैंने भी हाल में कुछ ऐसा ही किया था, और अगर ऊपर URL bar दिखना आपको परेशान नहीं करता, तो बस web page लोड कर लेना भी ठीक है.
Kindle में मूल रूप से web browser से URL access संभव है, तो वहीं से dashboard खोल सकते हैं.
ऑफिस में Kindle पर और घर में पुरानी पीढ़ी के Paperwhite पर वही page लोड कर रहा हूँ, तो अपने आप में यह काफ़ी cross-platform है, हाहा

बेशक, Kindle में हमेशा चालू रहने वाला mode इस्तेमाल करने के लिए rooting या ऐसा ही कुछ करना पड़ता है.
Paperwhite में rooting तक की ज़रूरत नहीं होती, बस adb connection खोलना होता है और वहाँ से screensaver बंद करने की प्रक्रिया करनी होती है.

 
GN⁺ 2026-02-26
Hacker News की टिप्पणियाँ
  • एक ऐसे व्यक्ति के रूप में जिसने पहले Kindle power consumption पर काम किया है, सबसे बड़ा power drain WiFi connection था
    क्योंकि connection बनाए रखने के लिए WiFi को समय-समय पर AP को respond करना पड़ता था
    मुझे याद है कि WiFi बंद होने पर यह लगभग 700uA था, और चालू होने पर लगभग 1.5mA
    page change के समय power क्षणिक रूप से कई सौ mA तक चली जाती थी, और ghosting issue कम करने के लिए कुछ pages के बाद full screen refresh होता था

    • मैंने battery हटा दी थी और Kindle के USB port में diode के जरिए 5V दिया था
      इसके लिए ऐसी power supply चाहिए थी जो क्षणिक रूप से लगभग 1.5A दे सके; मैंने एक पुराना powered USB hub Raspberry Pi से जोड़कर SSH से control किया, और यह WiFi के बिना भी कई महीनों तक स्थिर रूप से चलता रहा
    • मेरा RM2 कभी भी WiFi से connect नहीं होता, और उसे कई महीनों तक charge करने की ज़रूरत नहीं पड़ती
      मैं इसका इस्तेमाल महीने में 30 बार से कम करता हूँ, लेकिन WiFi बंद हो तो battery efficiency हैरान कर देने वाली होती है
      मैंने अभी तक Paperwhite Kindle mod नहीं किया है, लेकिन कम से कम lock screen ads तो हटाने वाला हूँ
    • मैं WiFi बंद रखकर और refresh interval को 2 मिनट तक बढ़ाकर battery life test करने की सोच रहा हूँ
      अब जाकर मुझे airplane mode में battery ज़्यादा चलने की वजह सच में समझ आई है
    • सोच रहा हूँ कि Kindle के चारों ओर amorphous silicon solar cells लगा दिए जाएँ तो क्या हर 5 दिन में charge करने की ज़रूरत नहीं पड़ेगी
  • मैंने इससे भी आसान तरीका इस्तेमाल किया
    Jailbreak के बाद SSH से login करके दो scripts बनाई थीं, जो हर 1 मिनट और हर 30 मिनट पर चलती थीं
    दोनों scripts एक ही image दिखाती हैं, लेकिन 30 मिनट वाली full refresh भी जोड़ती है
    Raspberry Pi से rsync के जरिए image transfer होती है, और Python script MySQL से air quality data लेकर image compose करती है
    Kindle सिर्फ image display करने का काम करता है, इसलिए यह बहुत stable तरीके से चलता है

    • “और आसान तरीका” कहते हुए rsync, Python, MySQL का ज़िक्र देखकर मुस्कान आ गई
    • अगर कोई eInk display ऐसा हो जो बस bitmap receive करके display कर दे, तो वह बहुत से उपयोगों के लिए काफी होगा
      बस TLS जैसी secure connection support होनी चाहिए
    • मैंने भी इसी तरह Kindle को Jailbreak करके बस में ePub पढ़ने और Siri से अगली बस पूछने के लिए इस्तेमाल किया है
    • किसी complex framework की जगह दो simple scripts से problem solve करना सच में बहुत संतोषजनक है
  • Kindle hacking सच में बहुत मज़ेदार काम है
    eBay पर 15~20 यूरो में पुराना Kindle मिल जाता है, और मैंने भी पिछले साल ऐसा ही experiment करके खूब मज़ा लिया था
    पूरी प्रक्रिया मैंने अपने blog post में लिखी है

    • AliExpress पर Xteink4 नाम का ESP32-based e-ink board मिल जाता है
      यह छोटा है, लेकिन अगर उस पर Crosspoint firmware डालें तो इसे portable e-ink reader की तरह इस्तेमाल किया जा सकता है
      YouTube वीडियो, Crosspoint GitHub
    • अगर reverse engineering भारी लगती हो, तो Raspberry Pi DSI port में लगने वाले e-ink displays भी हैं
      वे थोड़े महंगे हैं, लेकिन हो सकता है कि वे Kindle screen को reuse करने वाले products हों
    • दूसरे लोगों को वही लक्ष्य अलग तरीके से हासिल करते देखना मज़ेदार लगता है
      इस पोस्ट को देखकर मेरा मन Cloudflare Workers जैसे platforms के साथ और experiment करने का हुआ
    • जिज्ञासा है कि क्या Jailbreak तुरंत शुरू किया जा सकता है, या शुरुआती setup में Amazon account link करना ज़रूरी होता है
  • मैंने अपने पुराने Kindle को AI-generated picture frame में बदल दिया
    हर कुछ घंटों में नई तस्वीर generate होती है, और prompt में मौसम, जानवर, देश, news headlines वगैरह शामिल किए जा सकते हैं
    सारी processing घर के ollama + stable-diffusion-webui server पर local रूप से होती है
    लेकिन news-based images बहुत उदास हो जाती थीं, इसलिए मैंने AI को positive tone रखने के लिए कहा
    बारिश के दिनों में तस्वीर में भी बारिश होती है, और सर्दियों में बर्फ पड़ती दिखती है
    battery भी कई हफ्तों तक चल जाती है, और मैंने Online Screensaver extension को modify करके उसे अपने-आप airplane mode में जाने लायक बना दिया

    • voice recognition का इस्तेमाल करके बातचीत को तस्वीर के रूप में visualize करना भी मज़ेदार हो सकता है
    • e-ink, generative art के साथ अजीब तरह से बहुत अच्छी तरह मेल खाता है
  • मेरे बनाए हुए Kindle dashboard का version GitHub पर public है
    यह local weather और media server की music info दिखाता है
    screen के ghosting issue को eips -f command से periodic full refresh करके हल किया जा सकता है

    • इसे Rust में लिखा हुआ देखकर मैं प्रभावित हुआ
      पहली बार लगा कि मुझे Rust सीखनी है
  • ऑस्ट्रेलिया के Queensland में solar-powered e-paper bus stop signboards चल रहे हैं
    वे Kindle से कहीं बड़े हैं, लेकिन उनका principle मिलता-जुलता है
    project introduction, demo video

  • इस project को देखकर मुझे SystemSix project याद आ गया

    • वाकई बहुत शानदार है। अब मेरा भी custom mount बनाने का मन कर रहा है
  • लगता है आजकल हर कोई ऐसे Kindle mod projects कर रहा है
    मैंने भी K4NT को mod करके family schedule दिखाने वाला server बनाया है
    AI की थोड़ी मदद ली, Ikea frame में 3D-printed insert लगाया और MagSafe power bank जोड़ दिया
    हर 5 दिन में बस power button दबाना पड़ता है, और अंदर की battery मैं बदलने वाला हूँ
    मेरे setup में wired connection संभव नहीं था

  • अगर network को refreshes के बीच बंद रखा जाए, तो battery life निश्चित रूप से बढ़ती है
    मैंने रात 10 बजे से सुबह 6 बजे तक updates बंद कर रखे थे
    GitHub पर battery saving के लिए बहुत सी scripts हैं
    पहले मैंने Raspberry Pi Zero + 2-inch e-ink से GTFS-based public transit display भी बनाया था
    Kindle dashboard post, Transit Pi project

    • washing machine का remaining time और Pokémon icons साथ में दिखाने वाला dashboard idea बहुत प्यारा है
      इस तरह की smart appliance visualization सच में बहुत आकर्षक है
  • मुझे Kindle को single-purpose display की तरह इस्तेमाल करना पसंद है
    बल्कि eInk की जगह मैं LCD Kindle Fire को ज़्यादा पसंद करता हूँ
    developer mode में बदल दें तो किसी web page को हमेशा खुला रख सकते हैं और बिना ads के इस्तेमाल कर सकते हैं
    Kindle Fire HD10 लगभग 40 डॉलर में मिल सकता है

    • Kindle Fire की जानकारी के लिए धन्यवाद
      ghosting-रहित और अंधेरे में भी पढ़े जा सकने वाला LCD dashboard के लिए शानदार upgrade है