はじめに
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年たってもできそうにありません。
ケースの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
到着
癒しの週末、朝は開封式
— 𝕜urihara (@kurihary) 2022年7月22日
基板の固定いいな pic.twitter.com/ZS92U0UrjB
組立 ハンドワイヤー編
ハンダ付け
小さいケースなので、配線を曲げ易いようにポリウレタン線を使いました。
- LEDを付けない。
- ダイオードも付けない。
ので、配線はGNDを合せて3本だけです。
Raspberry Pi Picoはピン数に余裕があって、ケースと同じくらいの長さです。
どのIOピンを選んでもOK。
間隔に余裕をもってGP27とGP21ピンをポリウレタン線をハンダ付けしました。
スイッチの固定もいい感じ pic.twitter.com/YUB1Qw2zg4
— 𝕜urihara (@kurihary) 2022年7月30日
Pi Picoの基板穴での固定は、USBのコネクタを20回ほど抜き挿ししても遊びが殆んどなく完璧でした。
Top,Bottomを重ねても横にずれません。円筒部分は、縦方向を止めるほど勘合しないので、Topが浮かないようにスティック糊をぬり込みました。
ファームウエア
ファームウエアは、初めてKermiteを使ってみました。
Kermiteは、yahiro (@yahiro120) / Xさんとれお (@reoreo125) / Xさんのお二人で開発中の自作キーボード用のファームウェア/エコシステムです。
「RP2040のマイコンボードに対応しています。」なので、当然 Pi Pcoにも対応しています。
kermite.org
ブラウザ上のGUIでスイッチのレイアウト、ファームの書込み、キーマップの変更ができました。
#kermite を使ってPi Pico 2キーを作ってみた。https://t.co/sjp19uk0N9 pic.twitter.com/pJWJIZ9X50
— 𝕜urihara (@kurihary) 2022年7月30日
組立 無限の可能性編 追記2022.10.09
ハンドワイヤーでは、キースイッチを変えるのが面倒です。
何よりも、LEDを追加するのが難しい。
そんな時は、無限の可能性を使うと便利です。
こんな感じで組立
今日はハンダ付けしたい。
— 𝕜urihara (@kurihary) 2022年10月9日
ホットスワップ化の日 pic.twitter.com/RtgjeAsCFI
Thanks. I am using a Raspberry Pi Pico. pic.twitter.com/UIYDmZro07
— 𝕜urihara (@kurihary) 2022年10月9日
ファームウエア
ファームウエアは、いつもの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チカ
Raspberry Pi Pico 無限の可能性でLチカ
— 𝕜urihara (@kurihary) 2022年10月9日
NeoPixel #RGBing #電子工作 pic.twitter.com/Ve4MnmqaYa
アルバム
KEEB_PD
Windows+Shift+S/Paste 2% Keyboard
— 𝕜urihara (@kurihary) 2022年7月31日
Keyboard: Copy/Paste Mini Keyboard .stl
Switch: JWK JWICK イエローリニアスイッチ
Keycap: Ice Cream-like PBT XDA#KEEB_PD #KEEB_PD_R107 #kermite #電子工作 pic.twitter.com/Km89yxHjUW

Keyboard: Copy/Paste Mini Keyboard,無限の可能性
— 𝕜urihara (@kurihary) 2022年10月9日
Switch: Kailh Clione Limacina
Keycap: XDA DyeSub PBT 131(9009カラー)#KEEB_PD #KEEB_PD_R117#自作キーボード #mechanicalkeyboard pic.twitter.com/9FWiSxDPuT
部品の購入先
ポリウレタン線
0.32mmのポリウレタン線を使いましたが、より柔らかい0.2mmのほうが良さそうです。