初嘗 CH552G 與 Macro-pad 鍵盤
Toby
Toby

在一段時間之前,我無意中發現了 CH552g 這一片超便宜的 Arduino IDE 相容開發板。由於它實在太冷門了,冷門到幾乎沒有用它的 DIY Project,所以我就來自己做一個當實驗了。

可是如果只把 CH552G 做成一個類似 arduino 這樣的開發板,我猜應該也不能引起甚麼 Makers 圈的關注,作為一個喜歡 reinvent the wheel 的開發者,我就想到一個能盡用這顆 IC 的功能的小 project — 4 key macopads keyboard

甚麼是 Macropad Keyboard?

Macro-pad (我也不知道中文是甚麼),簡單來說就是一堆快捷鍵,讓你在按下去的時候它幫你自動對電腦輸入一連串的按鍵動作。目標不一定是電腦,例如說也有可以控制 IoT 裝置的 macro-pad,也有可以配合 auto hotkey 控制軟體界面的 macro-pad 等等。但是我這裡做的是最基本的款式:hot-key type macropad

外面有很多類似的東西啊,你設計的有甚麼特別?

講到這個就有趣了。因為 customize mechanical keyboard 這東西是一個很特別的領域,就如迷你版的「HiFi 音響隨便看都上千上萬元一套」領域一樣,市場上有類似的東西價格都是一兩百港幣起跳的,貴的到幾千都有。不過他們貴的原因有很多,有的是用鋁合金電鍍外殼、有的是用上最貴的機械開關(軸)、有的有訂做的鍵帽、螢幕與 RGB 等等。可是作為一個 macropad,這些東西本來就只是 value-added 的附加品,不知道為甚麼弄著弄著就變成了成本最貴的東西(?

在移除了這些附加的東西之後,剩下來的就是鍵盤最基本的部分:

  • 按鍵
  • 電路板
  • MCU / Keyboard IC
  • 輸出接口

而這個 project 最特別的地方就是:

低成本

我做的這個 macropad 用了以下一大堆神奇的方法來節省成本:

  • 使用更便宜的機械按鍵
  • 使用最便宜的 PCB 生產方案(3 HKD / pcs)
  • 使用 Mini USB 取代較常見的 type C 接口,省去兩顆 5.1K 電阻
  • 盡量減少零件種類(RLC 部件只使用了 10k 電阻跟 0.1uF 電容)
  • 以 CH552G 替代常用的 32u4

大部分外面的 DIY 鍵盤都是在用 32u4 作為控制器。這顆 MCU 畢竟是 Atmel 的,說貴不貴但是也不便宜。這顆 4 港幣左右的 CH552G 跟 32u4 一樣內置有 USB HID 裝置,所以能被電腦識別為鍵盤,同時間又因為它需要的外圍零件真的超級少,所以我們只要很簡單的這樣那樣就設計好板子了。

看著這個板子這麼空的時候我都懷疑自己是不是畫漏了零件
背面一樣零件都沒有,只有走線

如果你是不需要 MODE A / B 切換的話連那個物理開關也能省下,但是因為我打算平用來音樂控制器,在做 Youtube 影片時來當 Adobe PR 的 hotkey keyboard,在只有四個按鈕的設計下只好做 multiplex 了。

軟體方面使用了 CH55X Arduino 的 library 與一些 C code 來做到鍵盤機能

https://pastebin.com/Hb0AQzpY

底座

然後因為都做這麼完整了,那就順便幫它做一個鍵盤底座吧?

這軟體是我自家公司開發的 Aprint Editor

成品