kuriharaのブログ

ゴルフと電子工作と山での暮らし。ありもの使い、ないもの作り。

このブログは【広告/PR】を含む場合があります。

オープンソースのキーボード Big Switch Padを組立てました。

はじめに

オープンソースのキーボードBig Switch Padを組立てました。
Big Switch Padはbungwuさん設計の13キーのキーパッド(ボード)です。

Novel Keys Big switchが目を引きますね。


データのダウンロード

データはCreative Commons - Attributionlicenseのライセンスで公開されています。
ありがとうございます。

www.thingiverse.com

リミックス

できるだけ手持ち部品を使いたいので、オリジナルから少々リミックスしています。

  • 手配線から無限の可能性(基板)を使ってLチカ
  • Big Switchはdactyl manuform flexible pcbを使ってLチカ
  • コントローラボードをPro MicroからWaveshare RP2040-Zeroへ変更
  • QMK FirmwareからPRK Firmwareへ変更

3Dプリント

3Dプリントは、いつものJLCPCBへ注文しました。
何回も書いていますが、安いし早いんです。

3Dプリントの金額

最初、データをアップロードすると容積が自動計算さなくて、価格が出ません。
そのまま、注文するとレビュー後に容積と金額が修正されました。

OCS Express6-8 business days を選ぶと送料は$11.85
合計で$44.27になります。
(私はまとめて発注しています。)

到着


3月21日に支払い、3月28日に届きました。いろいろまとめてプリントしても1週間で到着です。

私の所にはいつも関空経由で届くので、関西の方は6日で届くのではないでしょうか?

組立


スイッチパネルの配線に無限の可能性(基板)を使うと、基板がケースに当たってパネルが浮いてしまいます。
基板が入るように、リューターで削ります。

無限の可能性よりもスイッチパネルの横ピッチが広いので、左右のスイッチ穴を真ん中側に0.5mm削ります。

3Dプリントのキーボードを組立てるようになってリューターを買いました。
早く買えば良かった。ちょっとした修正、改造に便利です。




ハンダ付け、ハンドワイヤー

dactyl manuform flexible pcbのDI配線用に基板を加工。
(応力が掛かるので、結局スルーホールを使いました。)


LEDが光れば、後は簡単。



無限の可能性とRP2040-Zeroの配線はこんな感じです。



LチカのためBig Switchのケースの隙間にdactyl manuform flexible pcbを組み込んでいます。



組付け

スイッチパネルは、タップタイトプレジャーネジを使って止めました。
タップタイトプレジャーネジはピッチが大きくて樹脂に使い易いネジです。

ファームウエア

RP2040-Zeroのファームウエアは、いつものPRK Firmwareを使いました。
理由は、インストールとkeymap.rbの書込みを2回のドラッグ&ドロップのみで動かせるからです。

  • Boot ボタンを押しながらZEROの電源を入れて*.uf2をドラッグ&ドロップ
  • keymap.rbを編集してドラッグ&ドロップ

keymap.rb

動作チェック用のkeymap.rbです。

# Initialize a Keyboard
kbd = Keyboard.new

# Big Switch Pad by bungwu
# Remix Waveshare RP2040-Zero

# Initialize GPIO assign
kbd.init_pins(
  [  3,  4, 5, 6  ], # row0, row1,... respectively
  [  1, 15, 26, 27  ]    # col0, col1,... respectively
)

kbd.add_layer :default, %i[
  KC_K   KC_7    KC_8    KC_9      
  XXXXX  KC_4    KC_5    KC_6 
  XXXXX  KC_1    KC_2    KC_3
  XXXXX  KC_0    KC_DOT  KC_ENTER  
]

NEOPIX = 29

# Initialize RGB class with pin, underglow_size, backlight_size and is_rgbw.
rgb = RGB.new(
  NEOPIX ,   # pin number
  18,    # size of underglow pixel
  0,    # size of backlight pixel
  false # 32bit data will be sent to a pixel if true while 24bit if false
)

sleep 1
rgb.effect = :swirl
rgb.speed = 28

kbd.append rgb # `kbd` is an instance of Keyboard class that should be newed in advance

kbd.start!

アルバム


Lチカ



KEEB_PD

KEEB_PDという、毎週日曜19:00~21:00にいい感じのキーボードの写真をツイートするイベントに参加しています。



JLCPCBのお得な情報

新規ユーザの特典

現在、JLCPCBは新規ユーザは$54クーポンの特典があります。
加えてTwitterアカウントをフォロー+DM=$10クーポンの特典もあります。

20230220184842

https://twitter.com/JLCPCB_Japantwitter.com

誤字、脱字や間違いはコメント欄で教えてください。m(_ _)m