PTT評價

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

看板Key_Mou_Pad標題[鍵盤] 以Pro Micro 自製機械鍵盤筆記分享作者
zodhk01054
(sipe)
時間推噓11 推:11 噓:0 →:4

大家好,這篇文章主要是紀錄改裝樹梅派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/Key_Mou_Pad/M.1623060630.A.CF3



----------------本文開始--------------

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 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.54.29 (臺灣)
PTT 網址

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

Belieeve01/28 18:00趕快推不然別人以為我看不懂 m(_ _)m

observer011701/28 18:10推,我也想把PI400的薄膜鍵盤改掉,不過雜事好多...

kevingamer01/28 18:19這樣哪算外行w 要我這樣跑一次流程不知道會失敗幾次

iamgodisme01/28 18:22好猛

linda88801/28 18:43推 好厲害!!

Knuckleslee01/28 18:54pi400有什麼強項值得這樣改?

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

zodhk0105401/28 19:35以拉線出來直接當一個獨立鍵盤用

a58524andy01/28 19:42強 推

observer011701/28 19:43PI400再加個螢幕就可以改成cyberdeck

foulhouse01/28 23:40推高手

amiwry01/29 16:03太猛了,推一個

FAccounting01/30 19:47厲害 推

rickey127001/31 16:10

※ 編輯: zodhk01054 (36.226.88.175 臺灣), 02/01/2023 00:01:55