kuriharaのブログ

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

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

2%の オープンソースキーボード『Copy/Paste Mini Keyboard』 Raspberry Pi Picoを組立てました。

はじめに

2%の(2キー) オープンソースのCopy/Paste Mini Keyboard(これからC/Pkeyと省略します)を組立てました。今回はLチカなしです。

マイコンボードはRaspberry Pi Picoです。

Copy/Paste Mini Keyboardについて

Copy/Paste Mini Keyboard(これからC/Pkeyと省略します)は、thingiverseでケースの3Dプリントデータが公開されています。
手配線(ハンドワイヤー)と CircuitPython を紹介したサイトへのリンクがあるのみです。

私がこのケースに魅かれたのは、Pi Picoの穴を使ってケースに固定しているところ。
これなら、コネクタを挿す方向も安心できそうです。
上下のケース固定にもネジがいらないし。

この構造を考えたED3Dさんプロぽいな-。私には100年たってもできそうにありません。

www.thingiverse.com

ケースの3Dプリント

3Dプリントの発注

3DプリントはJLCPCBへ発注しました。
最近、私はPCB、3Dプリントともに殆どJLCPCBを使っています。安いんです。

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

jlcpcb.com
JLCPCB日本 (@JLCPCB_Japan) / X


価格が選択理由ですが、サイトのユーザインタフェースが使い易いのも気に入っています。

ファイルマネージャ

例えば、ファイルマネージャにはアップロードしたデータ(見積りだけ、キャンセルを含む)が残っていて、ファイルをクイックすると見積の画面が開きます。
まとめてオーダーした1部を発注したり、素材を変えたりの操作が簡単です。


納期

納期は、最安のEconomical Global Direct Line 8-14 business daysを使っても発注からで10日程度です。
DHLだとトータル1週間ぐらいですが、Aliを経験すると急ぐ必要ありません。(^^)

平日は仕事一筋、週末工作が趣味の私には、丁度いい間隔になっています。

価格

3Dプリントの価格は、SLA Resinを使うとBottomの6.18 cm³でも最低単価の $1.00以内です。
SLAのLEDO 6060 Resinを使って上下3個発注し、送料込み1,400円程度でした。

Product Desc はToyを選んでいましが、最近「Keyboard」が追加されています。*1

本体より、送料が高いの許せないですよね。
そう考えてしまう私は、使わなくても個数を増やしてしまいます。

Merchandise Total: $6.00
Shipping Charge: $4.48
Order Total: $10.48

データのチェック

レビューで「Topの平面部分と円筒部分の厚みが薄い、破損、変形の恐れがある。リスクを容認できますか?キャンセルしますか?」とメールが届きました。

「リスクを受け入れます。プリントしてください。」と返信すると、支払いへ進みました。
*2

到着

組立 ハンドワイヤー編

ハンダ付け

小さいケースなので、配線を曲げ易いようにポリウレタン線を使いました。

ので、配線はGNDを合せて3本だけです。

Raspberry Pi Picoはピン数に余裕があって、ケースと同じくらいの長さです。
どのIOピンを選んでもOK。
間隔に余裕をもってGP27とGP21ピンをポリウレタン線をハンダ付けしました。

Pi Picoの基板穴での固定は、USBのコネクタを20回ほど抜き挿ししても遊びが殆んどなく完璧でした。

Top,Bottomを重ねても横にずれません。円筒部分は、縦方向を止めるほど勘合しないので、Topが浮かないようにスティック糊をぬり込みました。

ファームウエア

ファームウエアは、初めてKermiteを使ってみました。

Kermiteは、yahiro (@yahiro120) / Xさんとれお (@reoreo125) / Xさんのお二人で開発中の自作キーボード用のファームウェア/エコシステムです。

「RP2040のマイコンボードに対応しています。」なので、当然 Pi Pcoにも対応しています。
kermite.org

ブラウザ上のGUIでスイッチのレイアウト、ファームの書込み、キーマップの変更ができました。

完成

C/P Keyの「Copy」には、[Windows]+[Shift]+[S]キーを定義しました。
よく使うショートカットですが、この3キー同時押しは辛い。

Windows(OS)のショートカットでは、「四角形の領域切り取り」「フリーフォーム領域切り取り」「ウィンドウの領域切り取り」「全画面表示の領域切り取り」ができるので、はてな用のスクリーンショット配置は、このキーとトラックボールマウスだけでできるようになりました。


組立 無限の可能性編 追記2022.10.09

ハンドワイヤーでは、キースイッチを変えるのが面倒です。
何よりも、LEDを追加するのが難しい。
そんな時は、無限の可能性を使うと便利です。

無限の可能性

無限の可能性は、魔王さん設計のCherry-Mx-Bitboardのリミックス基板です。

https://swanmatch.github.io/MxLEDBitPCB/images/PCB.png
画像は -- 無限の可能性 | MxLEDBitPCB -- から引用

こんな感じで組立

ファームウエア

ファームウエアは、いつものPRK Firmwareです。
インストールとkeymap.rbの書込みを2回のドラッグ&ドロップのみできます。
NeoPixel LED を光らせるには、一番簡単で早いと思います。
最近は、Beep音の実装も進んでいます。

keymap.rb

# Initialize a Keyboard
kbd = Keyboard.new

# Copy/Paste Mini Keyboard  Raspberry Pi Pico

# Initialize GPIO assign
kbd.init_direct_pins(
  [ 2 , 10 ]   # Raspberry Pi Pico
)
# default layer should be added at first
kbd.add_layer :default, %i[  
  KC_A  KC_B
]

# Initialize RGB class with pin, underglow_size, backlight_size and is_rgbw.
rgb = RGB.new(
  18 ,   # pin number Raspberry Pi Pico
  2,    # 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





部品の購入先

RP2040のマイコンボード

https://cdn.shopify.com/s/files/1/0532/0880/9633/products/eacb998e-6884-4f33-bec7-31c1b0b382b4_600x.jpg?v=1612412948

Raspberry Pi Pico

ポリウレタン線

0.32mmのポリウレタン線を使いましたが、より柔らかい0.2mmのほうが良さそうです。

カニカルスイッチ

JWK JWICK イエローリニアスイッチ

talpkeyboard.net

*1:私が「Others」を選んで入力したから入ったのかも?

*2:250mmぐらいの平面は2mm厚でも変形したことあります。

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