[鍵盤] 以Pro Micro 自製機械鍵盤筆記分享

看板Key_Mou_Pad作者 (sipe)時間1年前 (2023/01/28 16:17), 1年前編輯推噓11(1104)
留言15則, 13人參與, 1年前最新討論串1/1
大家好,這篇文章主要是紀錄改裝樹梅派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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.54.29 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Key_Mou_Pad/M.1674893846.A.292.html

01/28 16:56, 1年前 , 1F
詳盡的資料,這對想要自製鍵盤的人很有幫助
01/28 16:56, 1F

01/28 18:00, 1年前 , 2F
趕快推不然別人以為我看不懂 m(_ _)m
01/28 18:00, 2F

01/28 18:10, 1年前 , 3F
推,我也想把PI400的薄膜鍵盤改掉,不過雜事好多...
01/28 18:10, 3F

01/28 18:19, 1年前 , 4F
這樣哪算外行w 要我這樣跑一次流程不知道會失敗幾次
01/28 18:19, 4F

01/28 18:22, 1年前 , 5F
好猛
01/28 18:22, 5F

01/28 18:43, 1年前 , 6F
推 好厲害!!
01/28 18:43, 6F

01/28 18:54, 1年前 , 7F
pi400有什麼強項值得這樣改?
01/28 18:54, 7F

01/28 19:35, 1年前 , 8F
謝謝板友回應,起心動念是想把太豪鍵帽用掉,未來也可
01/28 19:35, 8F

01/28 19:35, 1年前 , 9F
以拉線出來直接當一個獨立鍵盤用
01/28 19:35, 9F

01/28 19:42, 1年前 , 10F
強 推
01/28 19:42, 10F

01/28 19:43, 1年前 , 11F
PI400再加個螢幕就可以改成cyberdeck
01/28 19:43, 11F

01/28 23:40, 1年前 , 12F
推高手
01/28 23:40, 12F

01/29 16:03, 1年前 , 13F
太猛了,推一個
01/29 16:03, 13F

01/30 19:47, 1年前 , 14F
厲害 推
01/30 19:47, 14F

01/31 16:10, 1年前 , 15F
01/31 16:10, 15F
※ 編輯: zodhk01054 (36.226.88.175 臺灣), 02/01/2023 00:01:55
文章代碼(AID): #1ZrDeMAI (Key_Mou_Pad)