kuriharaのブログ

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

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

手配線handwiredのオープンソースキーボード『C-13X』を組立てました。

はじめに

オープンソースのキーボード C-13X を組立てました。

C-13Xは、Twitterの情報から知った小さなオープンソースのキーボードです。

kbd.news

C-13Xについて

C-13Xは、flurplesさん設計の35キーのキーボードで3Dプリントデータ、ファームウエアなどが公開されています。
だだし、handwiredのとおり基板が無く、手配線、ハンダ付けが必要です。

github.com

ライセンス

GNU General Public License v3.0で公開されています。感謝します。

C-13X/LICENSE at main · flurples/C-13X · GitHub

参考にしたビルドログ

オリジナルではelite-cを使っていますが、国内のビルドログはRP2040ですね。
PRK_Firmwareが使えるのが選択理由ではないでしょうか?

まきゃさんは、RP2040搭載 SparkFun Pro Microを使っています。
machiaworx.net

たっぴぃさんは、Seeed XIAO RP2040を使っています。
qiita.com

3Dプリントの発注

3DプリントはJLCPCBへ発注しました。
JLCPCBは、PCBを5枚2ドルから作れるのに加えて、いろいろクーポンをもらえるます。
最近は、PCB、3Dプリントともに殆どJLCPCBを使っています。

現在、新規ユーザには特典があります。

jlcpcb.com

3Dプリントは、データのレビュー後に支払います。

レビューで「変形の恐れがある。リスクを容認できますか?キャンセルしますか?」と聞かれましたが、「変形のリスクを受け入れます。」と返信すると支払い後、プリントが始まります。

私は、安価なSLAレジンを使って送料込みで3千円強でした。

Merchandise Total: $17.24
Shipping Charge: $12.97
Order Total: $30.21


組立

プレートはキースイッチのロック溝がありません。スイッチの固定と修理を考えて木工ボンドで接着しました。

配線は、pngの図が参考になります。
https://github.com/flurples/C-13X/blob/main/firmware/matrix.png

最初にrow配線は、ダイオードを曲げながら配線しました。

col配線は、ブレッドボード用のジャンパーワイヤを流用しました。
ワイヤーストリッパーを使って、スイッチのハンダ付け部分に合わせ、被覆をずらして配線を準備しました。その後、ハンダ付け。

10色使うとコントローラボードへの配線が分かり易くなります。


Waveshare RP2040-Zero

最後は、コントローラボードへの配線です。私はWaveshare RP2040-Zeroを使いました。

理由はこんなところです。

  • 半導体不足でPro Microが高騰する中、Pi Picoと同様に5ドル程度で入手できる。
  • PRK_Firmwareが使える。uf2のインストールに1回とkeymap.rbに1回のドラッグ&ドロップで簡単。
  • PRK_Firmwareインタープリタ*1なので、テキストファイル、エディタで試行錯誤できる。
  • Aliで買う時に送料が気にならないようにRP2040-Zeroの個数で薄めた。(在庫過多)

https://www.waveshare.com/img/devkit/RP2040-Zero/RP2040-Zero-details-7.jpg

Waveshare RP2040-Zeroの最大の特徴
  • 小型ながらGPピンが多い。Pi Picoと同等数、9本はスルーホールなしのランドだけ。

チップを使い倒す姿勢が素敵です。
回路図から抜粋。RP2040に全て配線ある。
 

販売元
https://www.waveshare.com/rp2040-zero.htm


ケースの加工

オリジナルのelite-cからRP2040-Zeroに変更したので、取付部分を削ります。
たっぴぃさんと同様に彫刻刀とノミを使って削りました。
硬化樹脂思っていたより硬かった。

ファームウエア

ファームウエアは、PRK_Firmwareをインストール、ピンアサイン書換え、さっくと動きました。
github.com

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

アルバム



基板が公開されている。20221120追記

ATmega32Aを実装、まだ、自分用の基板を作っていない。らしいwww

https://github.com/ramonimbao/C-13X-PCB/raw/main/Images/PCB-back.png

github.com

*1:この定義が合っているのか?は不安です。

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