大家好,這篇文章主要是紀錄改裝樹梅派Pi-400為機械鍵盤的筆記
本身在這方面完全是大外行,期間參考板上眾多前輩的分享,
在爬文及製作時有將一些資訊記錄下來,想將過程回饋板上,
第一次在板上發文,有任何不妥處還請告知,謝謝。
進入正文前,首先提要幾個參考來源:
‧鍵盤布局網站
http://www.keyboard-layout-editor.com
‧QMK韌體「Keyboard Firmware Builder」
https://kbfirmware.com/
其他參考文章:
‧「40%keyboard」的改裝Pi-400文章
https://www.40percent.club/search?q=PI+400
‧「Jeff Geerling」上的專業Pi-400拆解
https://www.jeffgeerling.com/blog/2020/raspberry-pi-400-teardown-and-review
‧「henry jiang」在EasyEDA分享的鍵盤電路圖
https://easyeda.com/henryjiang0x3639/Atmega32u4-Development-Board
‧「ruiqimao」在Github上寫的鍵盤PCB電路入門
https://github.com/ruiqimao/keyboard-pcb-guide
‧本文的啟蒙,板上前輩「observer0117」分享的「DIY自組直列式鍵盤」
https://www.ptt.cc/bbs/Key_Mou_Pad/M.1623060630.A.CF3.html
----------------本文開始--------------
1. 鍵盤佈局規劃(keyboard-layout-editor.com)
**布局規劃時,按想要設計的最大按鍵數,
選擇使用的開發板(有多少Pin可用)。
以ProMicro為例,常規有18pin可用,即可以製作9x9的81鍵鍵盤;
若移除板子上的預設LED,
參考此網站:https://golem.hu/guide/pro-micro-upgrade/)
則可多2個pin,至多可製作10x10的100鍵鍵盤。
當然,如果不考慮鬼鍵問題,可以透過串接容納更多按鍵是沒有問題的。
2. 生成Kicad檔及電路繪製(https://kb.xyz.is/)
**若此網站失效,參考下列Reddit作者的作品:
shorturl.at/kEKS0
kb.xyz.is網站非常簡單,
只需要將Keyboard-layout-editor.com網站中
Raw欄位下的文字全選貼上即可生成Kicad檔做進一步拉線與修改。
KiCAD為開源免費軟體,直接搜尋下載即可。
打開KICAD檔後需要做一次資料庫更新跟元件映射刷新,
詳細步驟可能隨版本更新有所變動,得適時爬文一下。
3. 送製PCB板(保守可在步驟4、5完成,並且測試完後再送)
目前有很多網站都可以上傳檔案訂做PCB電路板,
這邊使用JLCPCB,覺得主要是網站訂購流程設計得不錯,
唯一缺點是一次需要訂製5片(含)以上。
從KICAD完成繪製PCB後:
A. 輸出Gerber檔,於檔案>繪製。
勾選全部圖層,預設線粗0.15mm,其餘照預設即可。
https://imgur.com/2oi2Ddf
B. 輸出Drill(鑽孔),於檔案>輸出加工文件>生成.drl文件。
無腦照預設就可,選擇「生成鑽孔文件」及以 「生成地圖文件」
C. 將A、B步驟中獲得的檔案壓縮為zip後,
即可從JLCPCB或其他網站訂購步驟中上傳。
雖然PCB訂購網站未必需要提供那麼多檔案,但是不管它。
從訂購到到貨非常快,最快大概4~5天就能到手。
**上圖可看到衛星軸的孔,我選擇的是直接裝在PCB上的衛星軸
(另一種是裝在定位板上的),有大小孔之分。
圖中空白鍵的衛星軸安裝孔位是大孔在上,
表示鐵桿是從軸上繞,SHIFT、ENTER等鍵則反之。
4. 規劃QMK鍵盤韌體(https://kbfirmware.com/)
A. WIRING:
檢查鍵盤布局,各鍵的Col、Row接線是否與KICAD中的一致,
又或者修改KICAD布局與本網站WIRING一致。
B. PIN:
規劃col、Row對應的PIN腳,ProMicro為Atmega32U4晶片。
PIN跟ProMicro對應的腳位參此網站
https://golem.hu/article/pro-micro-pinout/
前面有提過的獲得Pro Micro額外2個腳位作法參考:
https://golem.hu/guide/pro-micro-upgrade/
做法大致是把板子上LED的電阻用電烙鐵給「推掉」
C. KEYMAP以降應該就不用多說了,照順序完成即可。
D. SETTING:
可以替Layout命名,這邊直接命名為「kb」。
E. COMPILE 匯出韌體:
i. 匯出選項有兩個,一個可載.hex,
另一個為ZIP,我們只需要ZIP
ii. 下載ZIP後解壓縮,會獲得一個「qmk_firmware」的資料夾
iii. 將裡面的makefile檔刪除,
從本網站中獲得的makefile檔會造成後續編譯失敗。
iv. 至此已完成韌體編譯前準備,可以先擱著,跳下一步驟
**FN鍵在QMK中定義為MO(),括弧中為圖層(layer)的數字,
預設為0,MO()的功用在於按下去時可暫時切換鍵盤層為n,
接著再對目標層的鍵位做更改,即可達到FN鍵的功能。
鍵位說明參此網站:
https://docs.qmk.fm/#/keycodes?id=keycodes-overview
**韌體規劃到一半可以透過SETTING頁籤中的
「Save Configuration」按鈕來儲存設定檔。
5. QMK編譯韌體
**其實有在想如果直接刷https://kbfirmware.com/
下載下來的hex檔可不可行,若是一般5V的ProMicro說不定可以,
就不用特地做步驟5。
A. 到QMK網站下載必要軟體,詳QMK Get Start說明頁面:
https://docs.qmk.fm/#/newbs_getting_started
下載QMK MSYS,下面有提到的手動安裝選項不用理它,那是舊版。
過程中應該會有提示說要不要複製檔案到使用者目錄中,選是。
B. 按照上面QMK Get Start說明頁面的步驟完成qmk setup。
C. 準備將步驟4的檔案開始編譯,首先確認檔名:
點進剛才獲得的qmk_firmware資料夾,可以看到裡面還有有以下路徑
/Keyboard/kb/keymaps/default等資料夾,
其中「kb」以下(含)才是這個自己做的鍵盤的檔案,
其他是編譯過程中會需要的檔案。
而「kb」這個名稱,不管在韌體規劃網站上
SETTING取什麼這邊都是叫kb,不做更改省得後面麻煩。
D. 準備複製檔案到QMK目錄中
i. 檢查使用者目錄C/使用者/<自己的使用者名稱>
看下面有沒有一個也叫做「qmk_firmware」的資料夾。
沒的話重新檢查步驟5-A。
ii. 複製從剛剛步驟4-E中提到的「qmk_firmware」資料夾,
貼上到C/使用者/<自己的使用者名稱>當中,
檔案有重複選擇覆蓋。
E. 編譯韌體(3.3V/8MHz的ProMicro請先拉到最下面的「補充-2」說明)
i. 按WIN+S搜尋「QMK MSYS」並執行。
ii. 鍵入cd /c/Users/<自己的使用者名稱>/qmk_firmware
掛載QMK主目錄。
iii. 鍵入qmk compile -kb kb -km default
開始編譯韌體,這是最重要的步驟,
順利的話就會有跑很多[OK],或是一些警告,然後完成。
若檔案有差錯,會有各種奇怪的錯誤訊息。
以前面提到的makefile檔為例,
如果沒有事先刪除就貼到QMK主目錄中,
就會造成各種以makefile檔為表頭,
以及提示kb.h(keyboard.h)檔中至少要放入一個keymap,
或是info.json檔的錯誤訊息。
iv. 完成編譯後,會自動在QMK主目錄下的
.build資料夾中生成kb_default.hex檔案,
確認有後就可以準備燒錄到ProMicro中。
6. 燒錄韌體
A. 下載QMK Toolbox,初次安裝後開啟提示要安裝驅動,請安裝。
B. 開啟QMK Toolbox,
在Local File中選擇QMK主目錄/.build,找到kb_default.hex檔案
C. USB線插上ProMicro,待下方訊息顯示找到硬體後就可以按下Flash燒錄韌體。
https://imgur.com/i39uCIN
-------------本文結束-------------
補充說明:
1. ProMicro刷壞的情形
特徵是插上USB線後,Windows跳出無法辨識或損壞的資訊,
且QMK Tools認不出硬體(按下Flash後顯示找不到硬體)。
解法:
用迴紋針或其他導電物在USB插著ProMicro的情況下,
快速短路RST+GND兩次,
此時會進入8秒的Bootloader模式可以重新刷韌體,
趕緊回到QMK Tools重新刷韌體,
也可Clear EEPROM後再重刷。
怕速度不夠快時,可以勾選AUTO Flash+Flash when ready。
2. 3.3V / 8MHz的ProMicro一直刷失敗的情況
回到C:\Users\<使用者名稱>\qmk_firmware\keyboards\kb
路徑下,找到rules.mk檔案,
以記事本開啟後修改F_CPU從16000000為8000000存檔。
再重新跳回步驟5-E執行編譯並且燒錄一次。
最後是一些收到電路板後組裝照及成品:
https://imgur.com/xea1vCV
這邊用的SMD二極體型號為DIODES 1N4148W,
東西很小,可先在焊盤先上錫,
再焊上其中一腳固定,另一腳補個錫即可。
https://imgur.com/plJIXEb
https://imgur.com/bqkOXml
https://imgur.com/8HAOVXp
電路板與Pro Micro完成接線
https://imgur.com/OQuvlAj
為了方便,有保留PI-400的上蓋,
剪去鍵盤間隔塑料後直接把PCB黏上去。
https://imgur.com/gKCuSHT
成品,使用太豪櫻花道鍵帽
跟PI-400的配色蠻搭的。
-------------------
2023/01/31編輯:
增修一些文字及照片
並補充本次製作上的一些檔案,
包含KICAD檔、QMK韌體檔、鍵盤布局等,
KICAD佈線弄得頗亂,但仍提供給有興趣的板友參考,
請參下方連結:
https://reurl.cc/AyoOmp
--