kuriharaのブログ

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

オープンソースのマイクロパッド Video-ManuForm を組立てました。

はじめに

オープンソースの マイクロパッドVideo-ManuForm を組立てました。

Video-ManuFormGibeさん設計のマイクロパッドでケースの3Dプリントデータが公開されています。

Φ60ノブとdactyl manuform系キー配列の組合せが美しいマイクロパッドです。


リミックス

少し手を加えたところ

  • ハンドワイヤーからdactyl manuform flexible pcbを使う
  • NeoPixel LEDを追加する(dactyl manuform flexible pcb にSK6812MINI-Eのパターン有)
  • Pro MicroをSparkFun Pro Micro RP2040に置き換える

関係記事

www.reddit.com

Video-ManuFormデータのダウンロード

データはPrintablesで公開されています。

https://media.printables.com/media/prints/70808/images/770675_a826cf76-6ff7-4c4d-8eda-8a427f9b6365/thumbs/cover/640x480/jpg/large_display_imgonline-com-ua-compresstosize-fuz.webp

https://www.printables.com/model/70808-video-manuform

3Dプリントの発注

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

データのレビューで薄い箇所があるとメールが入りましたが、「変形のリスクを受け入れます」とメールをいれて、支払いに進みました。

価格


トータル

現在、OCSが使えるようになっているので、送料はもっと安くなっていると思います。


到着

10月18日にデータをアップロードして10月30日に届きました。

組立

配線

オリジナルのオリジナルはVMs-macro-keyboardでハンドワイヤーです。
GitHub - mensikv/VMs-macro-keyboard: Macro keyboard with 8x cherry mx and a rotary encoder using Arduino Micro

私は、先日入手したdactyl manuform flexible pcb を使ってLチカします。

kurihara.hatenadiary.jp



オリジナルのコントローラボードはPro Micro です。

最初は安いRaspberry Pi Picoを使うつもりでしたが、幅が広いのを忘れていました。

ケースのリミックスが難しいので、Pro Micro 互換のSparkFun Pro Micro RP2040を使うことにしました。ちょっと高い。。。。(^^;

ボトムケースはPro Microを裏向きに入れるので、SparkFun Pro Micro RP2040を使うとスイッチとコネクタハウジングが当たってしまいます。

ノミと彫刻刀を使って削ります。

ノブの穴に合わせてロータリーエンコーダを買いました。
ロータリーエンコーダの凸に合わせて、ケースに穴を開けます。

3Dプリントだと皿ネジ加工もできますね。

ファームウエア

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


PRK Firmware

github.com


SparkFun Pro Micro RP2040のGPIOピンを定義していきます。


引用: Pro Micro RP2040 Hookup Guide - SparkFun Learn

keymap.rb

動作確認用のkeymap.rbです。
GPIO7はロータリーエンコーダのプッシュスイッチをダイレクトに接続しています。

# Initialize a Keyboard
kbd = Keyboard.new

# Video-ManuForm with dactyl manuform flexible pcb
# SparkFun Pro Micro RP2040

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

# CrowBoard YD-RP2040
# Video-ManuForm TEST 
kbd.add_layer :default, %i[
  KC_NO KC_Q    KC_W    KC_E    KC_R     
  KC_NO KC_A    KC_S    KC_D    KC_F  
  KC_1  KC_Z    KC_X    KC_C    KC_V  
]

encoder_1 = RotaryEncoder.new(5, 6)
encoder_1.clockwise do
  kbd.send_key :KC_UP
end
encoder_1.counterclockwise do
  kbd.send_key :KC_DOWN
end
kbd.append encoder_1

NEOPIX = 29

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

最初にRaspberry Pi PicoでSK6812MINI-Eのハンダ付けを確かめたときの動画です。*1

光らなくても


KEEB_PD

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

初めて一番ふぁぼをいただきました。



JLCPCBのお得な情報

新規ユーザの特典

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

jlcpcb.com
twitter.com

部品の情報

talpkeyboard.net

ja.aliexpress.com

間違いや誤字、脱字はコメントから教えていただければ嬉しいです。

*1:Twitterは動画置き場になっています