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

23/2/2023 mechanical-keyboardhobbies

Chào mọi người, đợt này tự dưng hứng lên muốn tự làm cái bàn phím cơ, từ khâu thiết kế PCB, hàn linh kiện cho đến custom phần mềm. Nhưng mà vì một vài lý do mà mình chỉ làm Macropad thôi. Trong lúc chờ cái PCB in xong thì mình lên đây luyên thuyên tí.

“Thế sao để tiêu đề là ‘bàn phím cơ’???"

“Thì Macropad cũng là bàn phím cơ mà :D, có điều nó nhỏ thôi. Để thế nghe cho nó sang mồm :D”

Thật ra ban đầu mình cũng chả quan tâm đến bàn phím. Đi làm công ty cấp cho cái gì thì dùng cái đó, mấy năm đi làm gõ bàn phím Logitech, Fuhlen, Genius hơn 100K vẫn ok. Nhưng mà từ hôm mình mua thêm cái màn hình để dual monitors với cái lap nên mình cần kiếm một cái bàn phím rời để để cái lap sang bên cạnh. Khi đó công ty lại có mấy bác dùng phím cơ gõ cạch cạch, nghe cũng vui. Tham khảo một hồi thế là lấy em Fuhlen m87s về trải nghiệm. Phải nói là cảm nhận của mình lúc đó thấy bình thường, cũng chỉ là cái bàn phím để gõ thôi mà, không có gì ấn tượng (giá rẻ mà pepe_mad).

Cho đến một ngày sự quảng cáo của Keychron K2 đã va vào ánh mắt của mình. Chu choe mạ ơi sao mà nó đẹp thế. Từ layout 75% compact, viền nhôm cho đến LED RGB pepe_dreamy hợp gu mình quá. Mà thôi tiếc tiền không mua pepe_sad. Nhưng rồi mình cũng phải xuống tiền sau hơn 1 năm cho nó vào wishlist. Thật lòng mà nói thì mình thuộc dạng dùng phím cơ vì nó đẹp chứ không quá quan trọng về cảm giác gõ.

Perfect

Lý do dẫn đến hôm nay mình quyết định tự làm Macropad bắt nguồn từ việc gần đây mình mới mua Keychron K6. Mới dùng mà cứ sợ nó bị hư :)), mà hư thì chỉ có nước đi mua cái mới hoặc kit mới mà giá trị cũng hơn 1 nửa rồi. Và một lý do quan trọng nữa là Keychron thiết kế layout phím K6 ng* vãi, có mỗi việc đổi hiệu ứng LED mà làm nguyên một phím, thay bằng phím Del có phải tốt hơn không. Ngoài ra mình cũng rất hay dùng HomeEnd. Thế là đánh đổi việc bảo hành, mình tháo ra đo đạc kích thước PCB và vị trí của switch. Rồi mày mò tìm hiểu phần mềm KiCad, cách vẽ mạch, đi dây. Với kỳ vọng nếu sau này có hư PCB thì chỉ việc đi in cái mới thay thế. Mọi người muốn tìm hiểu KiCad có thể bắt đầu từ video này, rất chi tiết dễ hiểu. Rồi bắt tay vào thôi.

Trước tiên phải vẽ sơ đồ nguyên lý đã. Mình chọn vi điều khiển ProMicro vì nó tương thích tốt với QMK. Bước này chủ yếu là design ma trận phím sao cho phù hợp với số chân điều khiển của vi điều khiển - cụ thể ProMicro có 18 chân. Duplex Matrix có vẻ là giải pháp phù hợp với tình huống của mình vì PCB mình không có nhiều viền để đi dây.

Sơ đồ nguyên lý

Tiếp theo là công đoạn vẽ mạch. Giai đoạn này hơi khó ở việc sắp xếp vị trí linh kiện sao cho có không gian để đi dây cũng như chỗ để MountingHole. Mất mấy ngày hì hục mới vẽ xong.

Thành quả sau mấy ngày lao động

Trước khi đem đi in, mình cẩn thận lên server MechKeys hỏi trước xem có vấn đề gì không cho chắc ăn. Thì được các tiền bối chỉ cho là K6 có thể nạp được QMK , really?? pepe_wide_eyes1. May mà hỏi có đầu có đuôi, tránh XY problem. Cộng với việc sợ in xong không vừa vỏ của nó, mà 90% là không vừa, vì mình chỉ đo bằng thước kẻ, sai số khả năng rất lớn. Nên thôi tạm gác lại, mình nạp QMK để custom phím dùng đã, khi nào hư tính tiếp. Đọc đến đây thì mọi người cũng hiểu là không phải tự dưng hứng lên mà mục đích chính của mình là để tiết kiệm pepe_sad.


Nhưng mọi chuyện không thể kết thúc đơn giản thế được. Để không phí công mấy ngày tìm hiểu, mình quay sang làm một cái nhỏ hơn - Macropad. Không làm được cái to, ta làm cái nhỏ vậy pepe_ok. Ban đầu khi thấy trên mạng bán cái Numpad, mình thấy buồn cười vãi, ai lại đi mua cái bàn phím 65% rồi lại bỏ tiền đi mua cái Numpad riêng. Thế rồi tìm hiểu mới biết mình có thể custom các macro cho nó, ví dụ nhấn 1 phím đã copy thay vì phải giữ Ctrl. Cũng hay ho đó chứ, làm thử thôi.

Macropad của mình có 6 phím, và 2 núm xoay có thể dùng chỉnh âm lượng hoặc độ sáng màn hình. Mình đặt tên nó là lmacro6.

Sơ đồ nguyên lý
3D preview

Các thành phần của nó gồm:

  • 1 vi điều khiển ProMicro
  • 2 Rotary Encoder EC11 (núm xoay)
  • 6 switch Gateron + 6 Keycap
  • 8 cái Đi-ốt 1N4148
    • 6 cái cho 6 phím
    • 2 cái cho núm xoay, vì ngoài xoay nó cũng có khả năng nhấn tương tự như switch.

Về firmware may mắn là trong source của QMK đã có sẵn một số source của người khác, nên mình cũng đỡ công tìm hiểu từ đầu. Source của lmacro6 mình để ở đây cho bạn nào muốn tham khảo.

Nạp firmware test thử

Hiện tại thì đồ nghề, linh kiện đã đủ hiết rồi, chỉ thiếu mỗi em PCB pepe_cry. Thật sự thì đợi chờ chẳng bao giờ là hạnh phúc.

Chỉ thiếu mỗi PCB :(

Tạm thời mình kết thúc bài này ở đây đã. Cảm ơn mọi người đã chịu khó đọc đến đây growing-heart (hoặc có thể đã scroll xuống vì không đủ kiên nhẫn). Ở bài tới mình sẽ chia sẻ về quá trình lắp ráp và nạp firmware. Giờ thì buồn ngủ quá rồi. Good night! pepe_stayuplate


Mà công nhận đợi cái PCB 10 ngày rồi chưa có khó chịu vãi pepe_popcorn