地軸線廻造道

bkt バトルキーボーダータテカワのブログ

【ビルドログ】Avocado 55

Takaoka TomohisaさんのAvocado 55という自作トラックボールを組み立てました。
55mmボール+フルキーバックライト搭載のトラックボールです。

note.com

<自作トラックボールで実現したかったこと一覧>

// 上記ノートより転載
・Magic Trackpadのジェスチャーと同じようなことを、多ボタンで実現できないか。
・スクロールはスムーズで快適に(Macでも、Windowsでも)。
・ボタンを押しながらメインのボールを動かすとスクロールになること。
・横スクロールもできること。
・ボタンでスクロールの縦方向を変更できること。
・ボタンでスクロール量を変更できること(使いながら変更したり元に戻すことができる)。
・ボタンでスクロールスピードが変更できること(ゆっくり動かすと一行ずつ、早く動かすと一気にスクロールできる)。
・機能の設定はソフトを追加しないでできること(Macでも、Windowsでも)。
・ボール回転をベアリングにすることでと滑らかにしたい。
iPadでも使えること(他のデバイスに対応)。

ビルドガイド

github.com

方針

1. Remap用ファームを書く


2. 無限の可能性-ConTaiNeR- で実装する


3. ボールも自作する

ビルドガイドに書いていないが作成に使ったもの

royal-keyboard-works.square.siteオプションパーツはお買い得です

royal-keyboard-works.square.site

研磨・塗装

  • 神ヤス #120 #240 #320 #400 #600 #800 #1000
  • 磨くと光沢が出るメッシュのヤツ #1000 #2000 #3000
    名前忘れました。
  • 光沢トップコート
  • 液体コンパウンド #2300 #8000 #17000
  • ボナンザ
  • サーフェイサー
  • ターナー色彩 アイアンペイント アイアンブラック
  • 面相筆
  • Mr. ネコの手ステーション
  • 彫刻刀
    マウスセンサーの位置調整に使いました。

作った

  • 55mmボール用ホルダー
  • Promicroのおうちホルダー

今回作ったstlファームウェア、Remap用Jsonを以下にアップロードしています。
ご自由にどうぞ。改変・二次配布もOKです。 

https://drive.google.com/drive/folders/1CaFK4_mNfvZvpBzgQbyAzXN9eT15tLBR?usp=sharing

 


ハードウェア-準備編-

本体

stlファイルが公開されていますので、それぞれ印刷します。

自分で印刷する場合、嵌合調整を念入りにしましょう。

内側からスイッチの潰れ具合を確認すると削り調整しやすいです。

赤丸で囲んだ部分は、スイッチが潰れすぎて押せなくなっています。

 

ベアリング穴の調整。デザインナイフくらいしか入らないので大変。

 

Promicroのおうちホルダー

画像の向きで印刷するとサポート無しで印刷できます。

 

写真の位置にセットして使います。

EndGame? 側から押し込みます。

リセットスイッチに干渉しない様に作成しました。

stlとf3dを公開していますので、ご自由にお使いください。
二次配布もOKです。

ネジ止め、接着をしないため干渉しないかだけ確認します。

 

55mmボール・55mmボール用ホルダー

熱積層で印刷したため中央部分が膨らんでいます。

目視では分かりにくいのでボディに装着して少しずつ調整します。

引っかかりが無くなるまで#120のヤスリで削りました。

 

加工の順番は、

ヤスリ->メッシュ->トップコート2回->コンパウンド->ボナンザ2回->コンパウンドです。

 

55mmボール用ホルダーはトップコートとボナンザ用です。
球体なのでそのままスプレーし辛いので作成しました。

こちらもstlとf3dを公開していますので、ご自由にお使いください。
二次配布もOKです。

 

Avocado Keycaps

サポート無し、そのまま印刷が楽です。

スイッチ取付穴が塞がってしまう時はデザインナイフで形を整えると良いです。

 

ボトムプレート

めちゃくちゃ反りました。

ここまで反るとキレイに閉まりませんので、新しいプレートを印刷しましょう。

新しいプレートはPETGフィラメントで印刷しました。*1
PETGにはアイアンペイントが引っ付かないため、サーフェイサーで下地処理をしています。

 

無限の可能性-ConTaiNeR-

必要数を切り出します。*2

バリはAvocadoに取り付ける際に干渉する部分だけ取り除きます。
そのため、今は取り除きません。

私は LED -> スイッチソケット -> ダイオードの順番で実装しました。
実装難易度が高くなるため推奨しません。

 

LED

コテ温度を270度にセットします。*3

シルクの三角形にLEDの切り欠きを合わせて2個ずつセットします。

私は右利きなので右側の脚にフラックスを塗布します。

コテにはんだを送り込み、はんだでLEDを抑えながら右側の脚をはんだ付けします。

脚4つ分のはんだ付けでコテ温度が結構下がりますので、20秒くらい間を空けます。

右側が終わったら基板を回転させてはんだ面が右側に来るようにします。

残りをはんだ付けします。

 

ダイオード

予備はんだをします。

シルクの縦線にダイオードの線を合わせます。

ピンセットが入らないため2回に分けてはんだ付けをします。

予備はんだを溶かしながらピンセットでダイオードを押し込みます。

反対側もはんだ付けをします。

 

ハードウェア-実装編-

スイッチに無限の可能性を取り付け

バリが引っかかるところのバリを除きます。

私はデザインナイフで切り込みを入れてラジオペンチで握り潰しています。

色々試しましたが、このやり方が一番速く終わります。

スイッチと無限の可能性に距離が空いていますので動作確認を先に済ませます。
Avocado 55はコテがまっすぐ入りますので、完成してからの修正も比較的簡単です。
そのため、動作確認はきっちりやらなくても良いと思います。

 

配線する場所を確認

 

今回はPromicroのおうちをシルク面が見えるように使います。

そのため、ビルドガイドと左右が逆になりますので、配線する場所を整理しておきます。

左側シルク 左側 右側シルク 右側
LED DI + +・(VI = Vcc)
DT 配線しません - -・(GD = GND)
- -・(GD = GND) RST 配線しません
- -・(GD = GND) + +・(VI = Vcc)
SDA 配線しません A3 配線しません
SCL Col5 A2 配線しません
4 Col4 A1 配線しません
5 Col3 A0 (SS = NCS: Chip Select)
6 Col2 15 (SC = SCLK: Serial data clock)
7 Col1 14 (MI = MISO: Serial data output)
8 Row1 16 (MO = MOSI: Serial data output)
9 Row2 10 Row3

()内はマウスセンサーです。
+と-はどこか一箇所に繋げばOKです。

 

Avocado 55 は Col (列) 5 x Row (行) 3列 で設計されています。

各Col・各Rowをそれぞれ繋ぐと動きます。*4

繋ぐ順番はどこからでも良いのですが、最短距離で繋いだ方が色々と楽です。

 

はんだ面

  Col5 Col4 Col3 Col2 Col1
Row1 ×
Row2 ×
Row3

 

Col

 

Row

 

配線のはんだ付け

リセットスイッチをはんだ付けします。

 

pro microとPromicroのおうちをシルクが合致するように合わせます。
Hack Kbd!!面にpro microが来ていたらOKです。

おうち->ピンヘッダかコンスルー->pro microの順番に重ねてpro micro側のみはんだ付けします。

ピンヘッダを使う場合、はんだ付けが終わったらPromicroのおうち側のピンを短くしておいた方が良いです。後々のはんだ付けが楽になります。

おうち側をはんだ付けせずにpro microを取り外します。
配線をはんだ付けする時に、はんだが垂れてpro microが壊れることがあるそうです。

 

後はマウスセンサーの取り付けまでビルドガイド通りに作ります。

ファームウェアの書き込みは、いつ書き込んでも良いと思います。

 


 

pro microを取り付け、はんだ付けします。


マウスセンサーの動作確認

私の場合、指には反応しますがボールには反応しませんでした。
そのため、ボール-センサー間距離の調整をします。

センサー取り付け部を彫刻刀で彫ります。

動作に問題が無くなったら、マウスセンサー基板ネジ穴に合うようインサートナットを取り付けます。

ボディの内側部分ですので金属に押し付けて真っ直ぐ押し込むことができません。

難しいので要らないプラスチックで練習してから挑戦しましょう。
インサートナット側に樹脂が逆流してきますので、インサートナットに入るコテを使って樹脂を押し返すとスムーズです。

……テープか接着剤で固定した方が無難ですね。
余談ですが、Avocado 55を初めて組立てた時にインサートナットの取付を失敗しました。
結局マスキングテープで固定したのですが、動作に支障はありませんでした。

 

 

ボトムプレートを取り付けて完成です!

 

 


 

ソフトウェア

Remap対応ファームウェアを作成しましたので、ご自由にお使いください。
QMK 0.17.00 Windows環境にて動作確認をしています。

hex

  • 上方向ホイールスクロール5倍速(デフォルト)
  • 上方向ホイールスクロール等速

Remap用Json

Vendor IDが0xFEEDなのでViaには対応していません。

Custom Keycode

Custom KeycodeはFUNCTIONSタブ内のVIA USER KEYにあります。

キーコード 内容
KC_CPI_DOWN カーソル速度Down
KC_CPI_STD カーソル速度を初期値に戻す
KC_CPI_UP カーソル速度Up
KC_SCROLLSPEED_DOWN スクロール速度Down
KC_SCROLLSPEED_UP スクロール速度Up
KC_SCROLL_INVERSE スクロール方向反転
KC_MOUSEMODE_CURSOR ボール操作をマウス操作に変更
KC_MOUSEMODE_SCROLL ボール操作をマウススクロールに変更
KC_MOUSEMODE_ARROW ボール操作を矢印キーに変更
KC_MOUSEMODE_SCROLL_ON_PRESS 押している間だけボール操作をマウススクロールに変更
KC_MOUSEMODE_ARROW_ON_PRESS 押している間だけボール操作を矢印キーに変更

 

お疲れ様でした!

良きAvocadoライフをお過ごしください!

 

 


 

この記事はColosseum44 (ALPS軸)で書きました。

*1:ボトムプレートとホルダー2種類以外はPA12-CFフィラメント

*2:余談ですが、私はいつも手で千切っています。
アルティメットニッパーで切ったことがありますが10個も切れず刃が折れました。
あれはショックだったなぁ……

*3:今回の実装は全てコテ温度270度で行いましたので、以下コテ温度について言及しません。

*4:数珠繋ぎではなくても動きます