kuriharaのブログ

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

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

オープンソースのキーパッド『Pico Mpad』を組立てました。

はじめに

Pico Mpadは、オープンソースの12キーのキーパッドです。
3Dプリント、ハンドワイヤー、マイコンボードはRaspberry Pi Picoを使っています。

Pico Mpadについて

Pico Mpadは、Dmytro Paninさん設計のマイクロパッドで、ケースの3Dプリントデータが公開されています。
配線図と CircuitPython の紹介があり、ハンドワイヤーが必要です。

github.com

KBD.news

kbd.news

データのダウンロード

この中にリンクがあります。

https://github.com/dr-mod/pico-mpad/raw/main/docs/design.jpg
github.com

ライセンス

公開ありがとうございます。

github.com

ケースの3Dプリント

3Dプリントの発注

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


新色のBlack Resinと9000R Resin Natural whiteの2種類をプリントしての値段はこんな感じです。

2ケース分でこの支払いでした。

Merchandise Total: $14.68
Shipping Charge: $8.86
Order Total: $23.54

Black Resinのほうが若干高いのですが、ケース1セットで1,000円程度でプリントできます。

Pico Mpadのデータはレビューからのメールなく、支払いに進みました。

到着

質感

画像、ディスプレイ越しでは伝えにくいので、どこにでもあるトラックボールとの比較ください。

組立

Pico Mpad12キーなので、12本直接スイッチに繋ぐか、ビルドガイドのようにダイオードでマトリクス組んでも適度にハンダ付けを楽しめます。

しかし、LチカのためにLED12個を取付けるとなると楽しむ余裕がなくなってしまいます。
私は、「無限の可能性」基板を使いSK6812MINI-E×12個をのせました。

リミックス

ケースと基板は設計に想定されていない組合せなので、リミックスしていきます。

まず、ハンダ付けの前にケースと「無限の可能性」が干渉するところを削っていきます。

MXソケットは1カ所だけ逆付けにし、真ん中の穴の部分をヤスリで削っています。

ダイオードも1カ所だけはパターンを削り、面実装からリードタイプに変えています。

それでも干渉する部分は、ケースの方をヤスリや彫刻刀を使って削っています。

このケースは、Raspberry Pi Picoを裏返しに使っています。
ボトムケースにBOOTボタン用の穴が開いて、組立て後もBOOTできるようになっています。

タップタイトネジ (2022.12.30)追記

M3ではスカスカだったのですが、タップタイトというネジを使ったら締まるようになりました。

ファームウエア

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

keymap.rb

# Pico_Mpad  Pi Pico RP2040
# Initialize a Keyboard
kbd = Keyboard.new

# Initialize GPIO assign
kbd.init_pins(
  [ 28, 27, 20  ],     # row0, row1,... respectively
  [ 22, 3, 4, 5  ]    # col0, col1,... respectively
)

# default layer should be added at first
kbd.add_layer :default, %i[
  KC_A    KC_B    KC_C    KC_D     
  KC_E    KC_F    KC_G    KC_H  
  KC_I    KC_J    KC_K    KC_L  
]

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




画像

RAMA WORKS GRIDと合わせています。
ツルツルで光沢があるキャップだと表面の質感がわかりますかね。

BOOTボタン用の穴


KEEB_PD

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

Deadline studio Doys


JLCPCBのお得な情報

新規ユーザの特典

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

20230220184842

twitter.com

部品の購入先

RP2040のマイコンボード

talpkeyboard.net

カニカルスイッチ

[asin:B09G9YJGRG:detail]

タップタイトネジ

ナベ頭を使っています。プレジャーは頭の径が大きくなります。
www.monotaro.com

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