Tự làm bàn phím cơ (phần 2)

25/2/2023 mechanical-keyboardhobbies

Tối qua đang ăn cơm thì nhận được tin nhắn PCB đã xong:

PCB manufacturer: “Alo, Mạch có rồi bạn nhé. Mai bạn qua lấy được không?”

Mình: “Bây giờ luôn được không anh?” 😅

Mình mừng rơn. Thế là ăn cơm xong chạy qua lấy luôn cho nóng. Chất lượng build khá tốt.

Chất lượng PCB

Đủ đồ rồi, lôi ra check-in cái đã :v

Tất cả đã sẵn sàng

#Triển

Nếu chắc ăn là phải test trước khi hàn. Nhưng mà mình lười quá, triển luôn. Trước tiên mình hàn đi-ốt, hàn xong thì cắm vi điều khiển vào, dùng nhíp test thử. Cũng may là có hoạt động ☺️.

Ngon rồi, hàn vào thôi. Kỹ năng hàn lởm quá nên mình hì hục mất gần cả tiếng mới hàn xong. Mối hàn nham nhở nhưng mà may là không có lỗi lầm gì blue_work_hard.

Hàn xấu quá không dám khoe mặt sau

Lắp keycap, knob vào xem nào.

Nhìn cũng đẹp ha

Một lỗi khá nặng là khi thiết kế PCB mình đã không tính đến kích thước của knob. Nên lắp vào nó sát sàn sạt vào keycap. Cũng may là không cấn lắm. Lỗi này có thể fix bằng cách mua cái knob nhỏ hơn 😢.

Sát sạt luôn

 

Test thử xem nào.

It works

#Firmware mới

Vi điều khiển ProMicro là Atmega16u4 có vòng đời là 10 nghìn lần flash và 100 nghìn lần ghi EEPROM. Vì thế mình update firmware để có thể config qua VIA, vừa có thể chỉnh phím chức năng bằng GUI, vừa được nhiều lần chỉnh sửa hơn do VIA sử dụng bộ nhớ EEPROM.

Keymap mặc định của firmware của mình là:

| 1 |   | 2 |
| 3 | 4 | 5 |
| 6 | 7 | 8 |

- 1: KC_F20           - Bật/tắt Mic trên Ubuntu
- 2: KC_MUTE          - Bật/tắt âm lượng
- 3: LSA(KC_UP)       - Shift + Alt + Up - Mình dùng cái này cho Slack
- 4: LSA(KC_DOWN)     - Shift + Alt + Down - Mình dùng cái này cho Slack
- 5: LCTL(LSFT(KC_K)) - Ctrl + Shift + K - Mình dùng cái này cho Slack
- 6: LGUI(KC_L)       - OS + L - Dùng để lock máy
- 7: LSA(KC_F)        - Shift + Alt + F - Dùng để format code trên VS Code
- 8: LCA(KC_T)        - Ctrl + Alt + T - Mở terminal trên Ubuntu

- Rotary encoder trái: Page up/down
- Rotary encoder phải: Volume up/down

Sau đó mình có tìm được phím tắt để mở thư mục hiện tại của Nautilus trên terminal (tính năng Open terminal here). Mình chuyển nó thành macro, trông nó như thế này.

{KC_F10}{500}{KC_LALT,KC_E}

Cái này mình rất hay dùng. Gán cho phím 7 thôi, quá ngon doge_cool.

#Kết

Mình dự định làm thêm cái case mica cho nó, nhưng do chưa được hài lòng với phiên bản này nên chỉ kiếm 4 con ốc làm cái đế thôi. Thôi để đầu tư cho ver 2 vậy. Hiện tại thì mình đã có một vài ý tưởng cho ver 2 rồi: 12 hoặc 16 phím, thêm màn hình hiển thị, thêm công tắc chuyển layout. Nhưng mà đang gặp khó khi tìm công tắc chuyển layout (rotary switch).

Thật lòng mà nói thì niềm vui của mình chủ yếu nằm ở quá trình làm nhiều hơn là kết quả. Nên chắc là mình sẽ build ver 2 😅.