kuriharaのブログ

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

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

はじめに

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

KLORはGEIGEIGEISTさん設計の分割キーボードです。
基板に切込みがあり、36-42キーを選べます。それぞれに3Dプリント、アクリルケースのデータも公開されています。

また、有線と無線、ひとつの基板で4種類のレイアウトを楽しめるようになっています。
オプションパーツもいっぱいです。

github.com

紹介記事

kbd.news

データのダウンロード

KLORはGNU General Public License v3.0で公開されています。

github.com

発注

基板と3Dプリントケースは、いつものJLCPCBへ注文しました。

JLCPCBへの発注方法はサリチル酸さんの記事が参考になります。

salicylic-acid3.hatenablog.com

基板の金額



ケース金額


ノブ2個を含めてMJF Material PA12-HP Nylon を使いました。



組立

各構成ごとにビルドガイドがあります。
私は、polydactyl with 3DP caseのビルドガイドを元に組立てました。

部品の注意

日本で入手性が良いM2スペーサは、外径が大きくて基板穴に入りません。
REQUIRED PARTSのようにM2 standoffs スタンドオフを使います。


OLED

他のキーボードを含めて初めてのOLED。いいですね。

でも。。。

アクリルカバーを黒で作ったので、透けなかった。
次は、透ける色で作ってみます。


アルバム

KEEB_PD

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


JLCPCBのお得な情報

新規ユーザの特典

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

jlcpcb.com
twitter.com

作ってみたいハンドワイヤードキーボードのリンク集

はじめに

私が作ってみたい手配線(ハンドワイヤード)キーボードのリンク集です。

Dactyl Sygnus

kbd.news


2023/01/09現在作業中とのこと

github.com

MacroPact

Raspberry Pi Picoを使ってCircuitPythonで動かす。OLED付

kbd.news

github.com

tsndさんの3x4試作マイクロパッドを組立てました。

はじめに

twitterでお世話になっているtsndさんから3Dプリントのマイクロパッドをいただきました。

tsndさんは、dactyl manuform、3Dプリント、JLCPCB、染色、研磨など私と嗜好が似ています。

twitter.com


湾曲構造の試作は、デザイン、嵌め合わせ、ネジ1本固定、特にXIAOを基板形状のガイドだけで固定していて素晴らしいです。(いいね、RTしていました。)

組立

Lチカしたいので、SU120を使ったハンドワイヤーの設計から無限の可能性へRemixしました。*1

SU120固定用のポッチを削っていきます。


無限の可能性のLED配線チェック

ケースへ組込む前にLEDの配線をチェックします。

配線

こんな感じで配線しています。


ファームウエア

tsndさんはKermite を使っています。

私は、いつものPRK Firmwareを使いました。
理由は、インストールとkeymap.rbの書込みを2回のドラッグ&ドロップのみでできるからです。
また、ボード毎のピン配置を気にしないで、RP2040のGPIOを直接書けるのも気に入っています。

今回は1回で動作、keymap.rbの編集を含めて、2分ぐらいで動きました。

keymap.rb 初回確認用


XIAO RP2040のGPIOピン(micropython)と、テスト用のキーコードを編集します。
SK6812MINI-Eの電源は部品の仕様外の3.3Vにしています。
理由は、小さく作るために部品点数を減らしたいからです。


kurihara.hatenadiary.jp

# tsnd3x4 XIAO RP2040
# Initialize a Keyboard
kbd = Keyboard.new

# Initialize GPIO assign
kbd.init_pins(
  [ 29, 6, 7, 0  ],     # row0, row1,... respectively
  [ 26, 27, 28  ]    # col0, col1,... respectively
)

# default layer should be added at first
kbd.add_layer :default, %i[
  KC_Q    KC_W    KC_E         
  KC_A    KC_S    KC_D      
  KC_Z    KC_X    KC_C      
  KC_1    KC_2    KC_3      
]

# Initialize RGB class with pin, underglow_size, backlight_size and is_rgbw.
rgb = RGB.new(
  4 ,   # pin number XIAO RP2040
  12,    # 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にいい感じのキーボードの写真をツイートするイベントに参加しています。




部品の購入先

Seeed Studio XIAO RP2040

talpkeyboard.net

*1:最近気に入っている言葉です