家裡的抽屜深處,一直躺著一台 2015 年推出的 Kindle Paperwhite 3(第 7 代,Wi-Fi 版)。這台 6 吋電子書閱讀器用了很多年,翻頁跟點選選單的反應越來越慢,拿來看書已經不順手,原本已經打算把它淘汰丟掉。
不過身為生活科技老師,丟掉之前總會忍不住多看兩眼:它那塊 6 吋、解析度 1072×1448、300 ppi、支援 16 階灰階的電子紙螢幕,顯示品質其實還很好,而且電子紙只要畫面不變動就幾乎不耗電。如果不要拿它來翻書,而是把它固定在書桌插座旁,改造成一台全天候顯示時間、即時天氣、未來三天預報與動態小人場景的「電子紙桌面看板」,豈不是比丟進垃圾桶更有價值?
於是從 2026 年 10 月 9 日開始評估硬體與系統環境,一路摸索、測試與調整版面,到 2026 年 10 月 30 日終於把整套看板系統完成。為了讓國高中生活科技老師、對自造有興趣的學生與家長也能輕鬆重現,我把所有做好的腳本、圖檔與字型全部打包成文末附件 kindlehack-kit.zip。不用寫任何程式,只照這篇文章就能從頭做完!
先來看看改造完成之後,擺在書桌上實際運作的橫式看板畫面:

改造完成後的 Kindle Paperwhite 3 橫式電子紙看板,左側為大型七段顯示時鐘與日期提醒,右側與中間顯示即時天氣、電量與未來三天預報,底部則是每秒更新一格的走路小人天氣動畫。
整個畫面轉成 1448×1072 的橫式配置,左上角有日期、星期與每小時換一句的提醒,左側是醒目的大型七段顯示時鐘,右側與中間排列著目前天氣圖示、溫度、天氣、體感溫度、濕度、今日最高最低、降雨機率、更新時間、右上角電量與未來三天預報;最特別的是畫面底部有一條 1448×420 的走路小人動畫,會隨著晴、夜晚、晴時多雲、陰、霧、毛毛雨、雨、雪、雷雨等 9 種天氣場景變換,下雨撐傘、下雪戴毛帽,以約每秒一格的速度在電子紙上走動。
準備材料
在動手之前,請先確認手邊的裝置與材料是否齊全:
- 適用機型:Kindle Paperwhite 3(第 7 代,2015,Wi-Fi 版,平台 Wario)。其他機型的破解方法不同,看板程式的螢幕座標也不同,不能直接套用。
- 電腦:Windows 或 Mac 電腦皆可。
- 可傳資料的 USB 線:用來把 Kindle 接上電腦傳輸檔案(有些線只能充電,無法傳資料)。
- Wi-Fi:破解過程與看板抓取天氣、網路對時都需要連上 Wi-Fi。
- 看板套件
kindlehack-kit.zip:請直接從本文文末附件下載。
教學步驟:步驟 0~6 完整操作指南
以下步驟請依序操作,每一個檔名、資料夾路徑、網址、書庫裡的腳本名稱以及設定項目與數值都請照著核對。
步驟 0:備份
動手前先把原本的資料備份到電腦保存:
- Kindle 用 USB 接電腦,出現名為
Kindle的磁碟。 - 把整個
documents資料夾複製到電腦保存。
步驟 1:確認機型與韌體
- 序號:Kindle 上點選「設定 → 裝置選項 → 裝置資訊(Device Info)」可看到序號;PW3 的序號以
G090開頭(例如G090G1、G090G2…)。 - 也可以到
kindlemodding.org的「Find my Jailbreak」破解精靈輸入序號,它會告訴你機型與可用的破解方式。 - 韌體版本:同一個「裝置資訊」頁面可看到,或在電腦上打開 Kindle 磁碟裡的 system/version.txt,第一行像
Kindle 5.16.2.1.1。 - PW3 的最後一版韌體就是
5.16.2.1.1,Amazon 不會再推更新,破解窗口不會被關掉。WinterBreak2支援5.6.1.1~5.16.3(不需註冊 Amazon 帳號;舊版 WinterBreak 則需註冊 Amazon 帳號),所以任何更新到最新的 PW3 都能用。 - 若韌體還停在出廠的
5.6.1,WinterBreak2不適用,請到破解精靈查其他方法。
第一次接上沒反應
- 電池完全沒電時,電腦會偵測到 Kindle 但磁碟不出現。先充 10~30 分鐘,等它自己開機。
- 一直沒有磁碟,換一條確定能傳資料的線(有些線只能充電)。
步驟 2:破解(WinterBreak2)
這裡我們使用 WinterBreak2(v1.1.0)進行破解:
- 到
github.com/KindleModding/Winterbreak2的 Releases 下載wb2.zip(解開後只有一個winterbreak2資料夾,裡面是dialoger.html)。 - 解壓縮,把裡面的
winterbreak2資料夾複製到 Kindle 磁碟的根目錄(與documents同一層)。 - Mac 電腦操作注意:複製後在終端機執行
dot_clean -m /Volumes/Kindle,清掉 Mac 自動產生的._開頭隱藏檔。 - 在電腦上「退出」Kindle 再拔線。
- Kindle 連上 Wi-Fi。
- 打開「實驗性瀏覽器」(在右上角選單,或「設定 → 裝置選項 → 進階選項」),網址輸入
https://penguins184.xyz/wb2。 - 按頁面上的
Jailbreak按鈕,等它跑完。 - 成功的判斷:再接上電腦,Kindle 根目錄會多一個
libkh資料夾,裡面有bin/fbink。 - 破解呼叫的
jb.sh同時會安裝 KMC(hotfix)與fbink繪圖工具、封鎖自動更新(OTA 更新),並讓documents資料夾裡的.sh檔出現在書庫,點一下就會執行(之後的安裝都靠這個功能)。
步驟 3:安裝看板套件
- 解壓縮文末附件的
kindlehack-kit.zip。 - 把
kdash資料夾整個複製到 Kindle 根目錄。 - 把套件
documents裡的 4 個.sh檔複製到 Kindle 的documents資料夾。 - Mac 電腦操作注意:再跑一次
dot_clean -m /Volumes/Kindle(否則書庫會多出._開頭、點了會出錯的項目)。 - 在電腦上退出 Kindle、拔線。
- 書庫會出現 4 個腳本項目:
看板 啟動、看板 開機自動啟動、看板 停用自動啟動、看板 診斷。沒看到就重開機一次。
步驟 4:設定地點與方向(可先跳過,預設臺北、橫式、USB 孔在左)
用電腦的純文字編輯器(Windows 記事本、Mac 文字編輯要切成純文字)打開 kdash/config.sh,可依需求修改以下設定:
LAT、LON:在 Google 地圖上對地點按右鍵,出現的兩個數字依序填入。PLACE:畫面顯示的地名。字型只收錄看板用到的字(約 350 字),罕見字可能顯示成空白,臺北、臺南、新營等已收錄。ROTATE:2=橫式、USB 孔在左;0=橫式、USB 孔在右;3=直式(沒有三天預報與電量)。TOUCH_EXIT:0=點螢幕不會離開;1=點一下、5 秒內再點一下可離開。REMOTE:保持0。(我另外做了只限家中網路的遠端更新,套件不含這個功能。)- 存檔後在電腦上退出 Kindle、拔線即可。
步驟 5:啟動
- Kindle 接上充電器(動畫一直在跑,靠電池撐不久)。
- 在書庫點
看板 啟動:約 5 秒後原本介面消失,換成看板。 - 想每次開機都自動進看板:先回到原本介面(見步驟 6),在書庫點
看板 開機自動啟動,上方出現OK: autostart ON即完成(系統會透過 /etc/upstart/kdash.conf 在AUTOSTART檔存在時啟動看板)。之後開機約 45 秒自動進看板。
步驟 6:回到原本的 Kindle
- 長按電源鍵約 40 秒強制重開機(或按住直到螢幕重新開機)。
- 開機後 45 秒內,到書庫點
看板 停用自動啟動,上方出現autostart OFF。 - 之後就是一般的 Kindle;想再用看板,隨時到書庫點
看板 啟動。
畫面說明:看板上有什麼?
看板由一支 busybox shell(kdash.sh)驅動,啟動時會停掉原本介面(stop lab126_gui)並設定 preventScreenSaver 防止休眠,接著用 fbdepth 把畫面轉成橫式 1448×1072,再由 KMC 附的 fbink 1.25 畫出 PNG 圖檔與 TrueType 中文字:
- 左上:日期、星期、每小時換一句的提醒。
- 左側:七段顯示時鐘(仿電子錶的數字),每分鐘局部刷新更新;熄滅段(未亮的筆畫)用最淺一階灰(灰階值 238)。
- 右側:目前天氣圖示、溫度、天氣、體感溫度、濕度、今日最高最低、降雨機率、更新時間;右上角顯示電量(透過
lipc-get-prop com.lab126.powerd battLevel與isCharging讀取,充電中會顯示「充電中」)。 - 中間:未來三天預報(包含天氣圖示、天氣、高低溫、降雨機率)。
- 底部:一條 1448×420 的走路小人動畫,共有 9 種天氣場景(晴、夜晚、晴時多雲、陰、霧、毛毛雨、雨、雪、雷雨),每種各 12 格;下雨撐傘、下雪戴毛帽,全部只有純黑純白,以 A2 刷新模式約每秒一格更新。
- 資料更新與除殘影:天氣每 15 分鐘更新,由 Kindle 內建
curl 7.86直接抓 Open-Meteo(免註冊、免金鑰),再用sed解 JSON;每 30 分鐘整頁閃一次,清除電子紙殘影(睡眠喚醒後也會自動整頁重畫)。
完全沒電之後,時間怎麼恢復?
老 Kindle 如果電池徹底耗盡,硬體時鐘可能歸零。看板針對斷電後的時間恢復做了完整處理:
- 開機自動網路對時:看板開機後會自己用網路對時——先用
ntpdate對標準時間,如果失敗就改讀天氣伺服器回應裡的時間,對到後立刻寫回硬體時鐘。 - 斷網重試與定期校正:如果剛開機時 Wi-Fi 還沒連上,系統會每分鐘重試,連上後每 6 小時校正一次。
- 先對時再抓天氣:之所以一定要先對時再抓天氣,是因為時間錯太多時 HTTPS 憑證檢查會失敗。
- 實測結果:我把時間故意改成 2010 年再啟動看板,實測約 15 秒內就自動校正並抓到天氣。
常見狀況
- 書庫看不到「看板」項目:請先重開機;並接電腦確認 4 個
.sh檔是放在documents資料夾,不是放在根目錄。 - 天氣一直顯示「讀取中」:確認 Kindle 有連上 Wi-Fi;看板每分鐘會自動重試。
- 畫面卡住:長按電源鍵約 40 秒強制重開機。
- 想看出了什麼錯:接電腦打開 kdash/log.txt 查看紀錄;或在書庫點
看板 診斷,會產生 kdash/probe.txt(裡面包含螢幕、網路、工具資訊)。
失敗路徑:開發過程中的 5 則除錯紀錄
在改造與開發這套看板的過程中,好幾個原本以為順理成章的做法都踢到了鐵板。以下用「嘗試 → 失敗 → 改用 → 學到」四段式整理出 5 則真實踩過的失敗路徑,也很適合在生活科技課堂上和學生分享除錯思維:
1. 電池太空導致 USB 磁碟一直不掛載
- 嘗試:第一次把 Kindle 接上 Mac 的 USB 線,想以只讀不寫的方式先備份
documents/並檢查 system/version.txt。當時從 USB 描述資訊已經讀出「Amazon Kindle」裝置與序號前綴G090G1,便一直等磁碟掛載。 - 失敗:雖然 USB 有出現「Amazon Kindle」裝置,但磁碟卻一直不掛載,無法讀取檔案。
- 改用:發現是因為電池太空,機器只停在充電狀態、根本還沒開機進系統。於是讓它充一陣子(約 10~30 分鐘),等它自己重開機、斷線重連後才掛載成功。
- 學到:USB 硬體描述有反應不代表系統已啟動;遇到久放沒電的舊裝置,必須先充電等它真正開機進入系統,磁碟才會掛載出來。
2. 破解畫面沒開啟遠端登入,改用「腳本+紀錄檔」探測
- 嘗試:執行 WinterBreak2 破解時,原本預期破解畫面會出現遠端登入服務已啟動的提示,可以直接從電腦遠端登入 Kindle 查看環境。
- 失敗:跑完破解後畫面上並沒有出現該提示,無法直接遠端連入。後來仔細讀它呼叫的
jb.sh,才發現遠端登入服務只在除錯模式才開。 - 改用:利用
jb.sh讓documents/裡的.sh變成書庫裡可點擊「腳本」的特性,改用「腳本+紀錄檔」的方式:把診斷腳本放進documents/,在書庫點一下執行、把結果寫進檔案,再用 USB 讀回來。第一次執行就順利拿到螢幕參數、觸控裝置(event1)、curl能否連 HTTPS 等關鍵資訊。 - 學到:不必執著於遠端連線,善用書庫可執行
.sh腳本並將結果寫入文字檔(如 kdash/probe.txt 與 kdash/log.txt)的設計,反而能讓所有人在只靠一條 USB 線的情況下完成安裝與診斷。
3. 觸控裝置偵測的 awk 欄位比對寫錯
- 嘗試:為了偵測觸控螢幕(
event1)來實作點選離開功能,第一版在腳本裡用awk比對輸入裝置欄位,寫成尋找以event開頭的欄位。 - 失敗:實測時一直找不到觸控裝置,點螢幕完全沒反應;檢查診斷輸出才發現該欄位實際內容是
Handlers=event1,並不是以event開頭。 - 改用:把
awk條件改用match()函式直接抓取符合event[0-9]+的字串,成功抓出event1。 - 學到:解析系統狀態文字時不能只靠猜測,必須先核對真實輸出的欄位格式,並用
match()搭配正規表示式擷取目標字串才穩妥。
4. 雷雨和下雨的動畫差異太小,改成實心黑雲
- 嘗試:底部 1448×420 的走路小人有 9 種天氣、各 12 格純黑純白動畫,一開始繪製「雷雨」和「雨」的動畫時,兩者的雲層線條畫得很接近。
- 失敗:檢查時發現雷雨和下雨的動畫第 0 格差異不到 1%,在純黑白畫面上幾乎看不出區別,自動驗收也沒過。
- 改用:把「雷雨」場景改成大面積的實心黑雲,拉開與一般下雨動畫的視覺差異。
- 學到:在只有純黑與純白的 A2 刷新動畫裡,細碎線條不容易區分天氣變化,利用實心黑塊與留白的面積對比,才能一眼看懂天氣狀態。
5. 從直式版面改為橫式版面與調整細節
- 嘗試:最初將看板設計為 1072×1448 的直式畫面,七段時鐘未亮的筆畫灰階設為
225,並開啟觸控離開功能。下圖是最早的直式版本:

最早的直式版本:時鐘、天氣與走路小人都有了,但電源線要從下方接、擺放不方便,未亮的筆畫也偏深。
- 失敗:實際擺放後發現直式畫面的 USB 電源線要從下方接,擺放不方便;七段時鐘未亮的筆畫設為
225看起來太深;不小心碰到螢幕就會離開看板;而且版面缺少未來幾天預報與電量資訊。 - 改用:用
fbdepth把畫面由直式改為 1448×1072 橫式,預設將 USB 孔放在左邊(ROTATE=2),方便接電源線;把七段時鐘未亮筆畫由225改為最淺的238;關掉觸控離開(TOUCH_EXIT=0),加上 upstart 開機自動啟動(/etc/upstart/kdash.conf,AUTOSTART檔存在才啟動)與睡眠喚醒後自動整頁重畫;並在橫式多出的空間加上未來三天預報與右上角電量。 - 學到:實體自造作品必須配合真實擺放環境調整,包含電源線出線方向、遠看的灰階對比以及常駐防誤觸機制,才能真正好用。
原理簡述:看板背後的 3 個核心設計
- 為什麼底部動畫用純黑純白的 A2 刷新模式? Kindle Paperwhite 3 的螢幕是 6 吋 1072×1448、300 ppi 的 16 階灰階電子紙。顯示 16 階灰階的刷新模式比較慢;而底部 1448×420 的走路小人場景(9 種天氣各 12 格)需要每秒更新,因此全部採用純黑與純白設計,搭配電子紙最快的 A2 刷新模式,就能做到約每秒一格的流暢動畫。至於 A2 模式累積的殘影,則靠每 30 分鐘整頁閃一次來清除。
- 為什麼要從字型抽出 350 字並轉成 TrueType? 看板使用 KMC 附的
fbink 1.25在畫面上繪製中文字,而fbink需要讀取 TrueType 格式字型。原始的 Noto Sans CJK TC 是包含數萬字的 OTF 格式大檔案,為了讓系統輕快運作並縮小套件體積,我們從 Noto Sans CJK TC 只抽出看板用到的字(約 350 字),並把 OTF 轉成 TrueType 給fbink用,轉出後的字型檔只有約 40 KB。 - 為什麼開機一定要先對時、再抓天氣? 看板是用內建的
curl 7.86透過 HTTPS 連線向 Open-Meteo 抓取天氣資料。當 Kindle 完全沒電導致硬體時鐘歸零、系統時間錯太多時(例如跳回 2010 年),HTTPS 的安全憑證有效期限檢查就會失敗,導致無法連線。因此程式開機後一定先用ntpdate或讀取伺服器回應標頭的時間完成對時並寫回硬體時鐘,之後才開始抓天氣。
風險聲明
破解會改變裝置的系統狀態,可能失去保固,操作不當有變磚風險,請自行評估並負責。只在自己擁有的裝置上操作。
結語
把原本因為反應變慢而準備淘汰的 Kindle Paperwhite 3 拿出來,不需要改裝硬體,只要照著上面的步驟 0~6 與文末附件 kindlehack-kit.zip 操作,就能讓這塊 300 ppi 的電子紙螢幕重新在書桌或教室裡發揮價值。如果你手邊也有一台序號 G090 開頭的舊 PW3,不妨找條能傳資料的 USB 線動手試試看!
- 文末附件:
kindlehack-kit.zip
